2011-01-26 11:38:12 -06:00
|
|
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
|
|
|
/* NetworkManager system settings service
|
|
|
|
|
*
|
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
|
* (at your option) any later version.
|
|
|
|
|
*
|
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU General Public License along
|
|
|
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
|
*
|
|
|
|
|
* (C) Copyright 2008 Novell, Inc.
|
2013-04-11 18:53:54 -05:00
|
|
|
* (C) Copyright 2008 - 2013 Red Hat, Inc.
|
2011-01-26 11:38:12 -06:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef NM_SETTINGS_CONNECTION_H
|
|
|
|
|
#define NM_SETTINGS_CONNECTION_H
|
|
|
|
|
|
2014-07-17 17:06:44 -04:00
|
|
|
#include <net/ethernet.h>
|
|
|
|
|
|
2011-01-26 11:38:12 -06:00
|
|
|
#include <nm-connection.h>
|
2011-03-29 22:53:22 -05:00
|
|
|
#include "nm-settings-flags.h"
|
2014-07-17 17:06:44 -04:00
|
|
|
#include "nm-types.h"
|
2011-01-26 11:38:12 -06:00
|
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
|
|
#define NM_TYPE_SETTINGS_CONNECTION (nm_settings_connection_get_type ())
|
|
|
|
|
#define NM_SETTINGS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SETTINGS_CONNECTION, NMSettingsConnection))
|
|
|
|
|
#define NM_SETTINGS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SETTINGS_CONNECTION, NMSettingsConnectionClass))
|
|
|
|
|
#define NM_IS_SETTINGS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SETTINGS_CONNECTION))
|
2012-07-27 13:15:54 +02:00
|
|
|
#define NM_IS_SETTINGS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SETTINGS_CONNECTION))
|
2011-01-26 11:38:12 -06:00
|
|
|
#define NM_SETTINGS_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SETTINGS_CONNECTION, NMSettingsConnectionClass))
|
|
|
|
|
|
2013-04-11 18:53:54 -05:00
|
|
|
/* Signals */
|
2011-01-26 11:38:12 -06:00
|
|
|
#define NM_SETTINGS_CONNECTION_UPDATED "updated"
|
|
|
|
|
#define NM_SETTINGS_CONNECTION_REMOVED "removed"
|
2011-01-26 17:13:15 -06:00
|
|
|
#define NM_SETTINGS_CONNECTION_GET_SECRETS "get-secrets"
|
|
|
|
|
#define NM_SETTINGS_CONNECTION_CANCEL_SECRETS "cancel-secrets"
|
|
|
|
|
|
2013-12-11 21:30:36 +01:00
|
|
|
/* Emitted when connection is changed by a user action */
|
|
|
|
|
#define NM_SETTINGS_CONNECTION_UPDATED_BY_USER "updated-by-user"
|
2013-11-12 14:26:20 -06:00
|
|
|
|
2013-04-11 18:53:54 -05:00
|
|
|
/* Properties */
|
2011-01-26 11:38:12 -06:00
|
|
|
#define NM_SETTINGS_CONNECTION_VISIBLE "visible"
|
2013-04-11 18:53:54 -05:00
|
|
|
#define NM_SETTINGS_CONNECTION_UNSAVED "unsaved"
|
2011-01-26 11:38:12 -06:00
|
|
|
|
|
|
|
|
typedef struct _NMSettingsConnectionClass NMSettingsConnectionClass;
|
|
|
|
|
|
|
|
|
|
typedef void (*NMSettingsConnectionCommitFunc) (NMSettingsConnection *connection,
|
|
|
|
|
GError *error,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
typedef void (*NMSettingsConnectionDeleteFunc) (NMSettingsConnection *connection,
|
|
|
|
|
GError *error,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
struct _NMSettingsConnection {
|
|
|
|
|
NMConnection parent;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct _NMSettingsConnectionClass {
|
|
|
|
|
NMConnectionClass parent;
|
|
|
|
|
|
2011-01-26 17:13:15 -06:00
|
|
|
/* virtual methods */
|
2011-01-26 11:38:12 -06:00
|
|
|
void (*commit_changes) (NMSettingsConnection *connection,
|
|
|
|
|
NMSettingsConnectionCommitFunc callback,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
void (*delete) (NMSettingsConnection *connection,
|
|
|
|
|
NMSettingsConnectionDeleteFunc callback,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
gboolean (*supports_secrets) (NMSettingsConnection *connection,
|
|
|
|
|
const char *setting_name);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
GType nm_settings_connection_get_type (void);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_commit_changes (NMSettingsConnection *connection,
|
|
|
|
|
NMSettingsConnectionCommitFunc callback,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
gboolean nm_settings_connection_replace_settings (NMSettingsConnection *self,
|
2013-04-11 13:02:40 -05:00
|
|
|
NMConnection *new_connection,
|
2013-04-11 18:53:54 -05:00
|
|
|
gboolean update_unsaved,
|
2011-01-26 11:38:12 -06:00
|
|
|
GError **error);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_replace_and_commit (NMSettingsConnection *self,
|
2013-04-11 13:02:40 -05:00
|
|
|
NMConnection *new_connection,
|
2011-01-26 11:38:12 -06:00
|
|
|
NMSettingsConnectionCommitFunc callback,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_delete (NMSettingsConnection *connection,
|
|
|
|
|
NMSettingsConnectionDeleteFunc callback,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
2011-01-27 10:41:02 -06:00
|
|
|
typedef void (*NMSettingsConnectionSecretsFunc) (NMSettingsConnection *connection,
|
|
|
|
|
guint32 call_id,
|
2011-03-31 18:39:09 -05:00
|
|
|
const char *agent_username,
|
2011-01-27 10:41:02 -06:00
|
|
|
const char *setting_name,
|
|
|
|
|
GError *error,
|
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
|
|
guint32 nm_settings_connection_get_secrets (NMSettingsConnection *connection,
|
2013-11-05 14:36:38 -05:00
|
|
|
NMAuthSubject *subject,
|
2011-01-27 10:41:02 -06:00
|
|
|
const char *setting_name,
|
2011-03-29 22:53:22 -05:00
|
|
|
NMSettingsGetSecretsFlags flags,
|
2013-06-19 17:51:09 -05:00
|
|
|
const char **hints,
|
2011-01-27 10:41:02 -06:00
|
|
|
NMSettingsConnectionSecretsFunc callback,
|
|
|
|
|
gpointer callback_data,
|
|
|
|
|
GError **error);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_cancel_secrets (NMSettingsConnection *connection,
|
|
|
|
|
guint32 call_id);
|
2011-01-26 11:38:12 -06:00
|
|
|
|
|
|
|
|
gboolean nm_settings_connection_is_visible (NMSettingsConnection *self);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_recheck_visibility (NMSettingsConnection *self);
|
|
|
|
|
|
2011-07-01 14:58:22 -05:00
|
|
|
gboolean nm_settings_connection_check_permission (NMSettingsConnection *self,
|
|
|
|
|
const char *permission);
|
|
|
|
|
|
2011-02-11 21:29:41 -06:00
|
|
|
void nm_settings_connection_signal_remove (NMSettingsConnection *self);
|
2013-04-11 18:53:54 -05:00
|
|
|
|
|
|
|
|
gboolean nm_settings_connection_get_unsaved (NMSettingsConnection *self);
|
2011-02-11 21:29:41 -06:00
|
|
|
|
2012-09-12 22:44:31 -05:00
|
|
|
gboolean nm_settings_connection_get_timestamp (NMSettingsConnection *connection,
|
|
|
|
|
guint64 *out_timestamp);
|
2011-03-02 15:08:17 +01:00
|
|
|
|
2012-02-09 16:32:48 -06:00
|
|
|
void nm_settings_connection_update_timestamp (NMSettingsConnection *connection,
|
|
|
|
|
guint64 timestamp,
|
|
|
|
|
gboolean flush_to_disk);
|
2011-03-02 15:08:17 +01:00
|
|
|
|
|
|
|
|
void nm_settings_connection_read_and_fill_timestamp (NMSettingsConnection *connection);
|
|
|
|
|
|
2012-08-29 18:01:33 +02:00
|
|
|
GSList *nm_settings_connection_get_seen_bssids (NMSettingsConnection *connection);
|
|
|
|
|
|
2011-05-27 17:32:40 +02:00
|
|
|
gboolean nm_settings_connection_has_seen_bssid (NMSettingsConnection *connection,
|
|
|
|
|
const struct ether_addr *bssid);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_add_seen_bssid (NMSettingsConnection *connection,
|
|
|
|
|
const struct ether_addr *seen_bssid);
|
|
|
|
|
|
|
|
|
|
void nm_settings_connection_read_and_fill_seen_bssids (NMSettingsConnection *connection);
|
|
|
|
|
|
2013-12-05 04:57:01 -05:00
|
|
|
int nm_settings_connection_get_autoconnect_retries (NMSettingsConnection *connection);
|
|
|
|
|
void nm_settings_connection_set_autoconnect_retries (NMSettingsConnection *connection,
|
|
|
|
|
int retries);
|
|
|
|
|
void nm_settings_connection_reset_autoconnect_retries (NMSettingsConnection *connection);
|
|
|
|
|
|
2013-12-10 20:39:48 +01:00
|
|
|
gint32 nm_settings_connection_get_autoconnect_retry_time (NMSettingsConnection *connection);
|
2013-12-05 04:57:01 -05:00
|
|
|
|
|
|
|
|
NMDeviceStateReason nm_settings_connection_get_autoconnect_blocked_reason (NMSettingsConnection *connection);
|
|
|
|
|
void nm_settings_connection_set_autoconnect_blocked_reason (NMSettingsConnection *connection,
|
|
|
|
|
NMDeviceStateReason reason);
|
|
|
|
|
|
|
|
|
|
gboolean nm_settings_connection_can_autoconnect (NMSettingsConnection *connection);
|
|
|
|
|
|
2014-05-19 10:24:15 -04:00
|
|
|
void nm_settings_connection_set_nm_generated (NMSettingsConnection *connection);
|
|
|
|
|
gboolean nm_settings_connection_get_nm_generated (NMSettingsConnection *connection);
|
|
|
|
|
|
2011-01-26 11:38:12 -06:00
|
|
|
G_END_DECLS
|
|
|
|
|
|
|
|
|
|
#endif /* NM_SETTINGS_CONNECTION_H */
|