## NMRemoteConnection NMRemoteConnection |

## Synopsis

    enum                NMRemoteConnectionError;
    #define             NM_REMOTE_CONNECTION_ERROR
    GQuark              nm_remote_connection_error_quark    (void);
    #define             NM_REMOTE_CONNECTION_UNSAVED
    #define             NM_REMOTE_CONNECTION_UPDATED
    #define             NM_REMOTE_CONNECTION_REMOVED
                        NMRemoteConnection;
                        NMRemoteConnectionClass;
    void                (*NMRemoteConnectionResultFunc)     (NMRemoteConnection *connection,
                                                             GError *error,
                                                             gpointer user_data);
    typedef             NMRemoteConnectionCommitFunc;
    typedef             NMRemoteConnectionDeleteFunc;
    void                (*NMRemoteConnectionGetSecretsFunc) (NMRemoteConnection *connection,
                                                             GHashTable *secrets,
                                                             GError *error,
                                                             gpointer user_data);
    NMRemoteConnection * nm_remote_connection_new           (DBusGConnection *bus,
                                                             const char *path);
    void                nm_remote_connection_commit_changes (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);
    void                nm_remote_connection_commit_changes_unsaved
                                                            (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);
    void                nm_remote_connection_save           (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);
    void                nm_remote_connection_delete         (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);
    void                nm_remote_connection_get_secrets    (NMRemoteConnection *connection,
                                                             const char *setting_name,
                                                             NMRemoteConnectionGetSecretsFunc callback,
                                                             gpointer user_data);
    gboolean            nm_remote_connection_get_unsaved    (NMRemoteConnection *connection);

## Object Hierarchy

      GObject
       +----NMConnection
             +----NMRemoteConnection

## Implemented Interfaces

NMRemoteConnection implements GInitable and GAsyncInitable.

## Properties

      "bus"                      DBusGConnection*      : Write / Construct Only
      "dbus-connection"          DBusGConnection*      : Write / Construct Only
      "dbus-path"                gchar*                : Write / Construct Only
      "unsaved"                  gboolean              : Read

## Signals

      "removed"                                        : Run First
      "updated"                                        : Run First
      "visible"                                        : Run First

## Description

## Details

### enum NMRemoteConnectionError

    typedef enum {
    	NM_REMOTE_CONNECTION_ERROR_UNKNOWN = 0,             /*< nick=UnknownError >*/
    	NM_REMOTE_CONNECTION_ERROR_DISCONNECTED,            /*< nick=Disconnected >*/
    } NMRemoteConnectionError;

`NM_REMOTE_CONNECTION_ERROR_UNKNOWN` | unknown or unclassified error
`NM_REMOTE_CONNECTION_ERROR_DISCONNECTED` | dbus disconnected

### NM_REMOTE_CONNECTION_ERROR

    #define NM_REMOTE_CONNECTION_ERROR (nm_remote_connection_error_quark ())

### nm_remote_connection_error_quark ()

    GQuark              nm_remote_connection_error_quark    (void);

Registers an error quark for NMRemoteConnection if necessary.

Returns : | the error quark used for NMRemoteConnection errors.

### NM_REMOTE_CONNECTION_UNSAVED

    #define NM_REMOTE_CONNECTION_UNSAVED         "unsaved"

### NM_REMOTE_CONNECTION_UPDATED

    #define NM_REMOTE_CONNECTION_UPDATED         "updated"

### NM_REMOTE_CONNECTION_REMOVED

    #define NM_REMOTE_CONNECTION_REMOVED         "removed"

### NMRemoteConnection

    typedef struct _NMRemoteConnection NMRemoteConnection;

### NMRemoteConnectionClass

    typedef struct {
    	NMConnectionClass parent_class;

    	/* Signals */
    	void (*updated) (NMRemoteConnection *connection,
    	                 GHashTable *new_settings);

    	void (*removed) (NMRemoteConnection *connection);

    	/* Padding for future expansion */
    	void (*_reserved1) (void);
    	void (*_reserved2) (void);
    	void (*_reserved3) (void);
    	void (*_reserved4) (void);
    	void (*_reserved5) (void);
    	void (*_reserved6) (void);
    } NMRemoteConnectionClass;

### NMRemoteConnectionResultFunc ()

    void                (*NMRemoteConnectionResultFunc)     (NMRemoteConnection *connection,
                                                             GError *error,
                                                             gpointer user_data);

Called when NetworkManager has finished an asynchronous operation on a connection, like commit changes, deleting, saving, etc.

`connection` : | the connection for which an operation was performed
`error` : | on failure, a descriptive error
`user_data` : | user data passed to function which began the operation

### NMRemoteConnectionCommitFunc

    typedef NMRemoteConnectionResultFunc NMRemoteConnectionCommitFunc;

### NMRemoteConnectionDeleteFunc

    typedef NMRemoteConnectionResultFunc NMRemoteConnectionDeleteFunc;

### NMRemoteConnectionGetSecretsFunc ()

    void                (*NMRemoteConnectionGetSecretsFunc) (NMRemoteConnection *connection,
                                                             GHashTable *secrets,
                                                             GError *error,
                                                             gpointer user_data);

Called when NetworkManager returns secrets in response to a request for secrets via `nm_remote_connection_get_secrets()`.

`connection` : | the connection for which secrets were requested
`secrets` : | on success, a hash table of hash tables, with each inner hash mapping a setting property to a GValue containing that property's value. [element-type utf8 GLib.HashTable]
`error` : | on failure, a descriptive error
`user_data` : | user data passed to `nm_remote_connection_get_secrets()`

### nm_remote_connection_new ()

    NMRemoteConnection * nm_remote_connection_new           (DBusGConnection *bus,
                                                             const char *path);

Creates a new object representing the remote connection.

`bus` : | a valid and connected D-Bus connection
`path` : | the D-Bus path of the connection as exported by the settings service
Returns : | the new remote connection object on success, or `NULL` on failure

### nm_remote_connection_commit_changes ()

    void                nm_remote_connection_commit_changes (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);

Send any local changes to the settings and properties of this connection to NetworkManager, which will immediately save them to disk.

`connection` : | the NMRemoteConnection
`callback` : | a function to be called when the commit completes. [scope async][allow-none]
`user_data` : | caller-specific data to be passed to `callback`. [closure]

### nm_remote_connection_commit_changes_unsaved ()

    void                nm_remote_connection_commit_changes_unsaved
                                                            (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);

Send any local changes to the settings and properties of this connection to NetworkManager. The changes are not saved to disk until either `nm_remote_connection_save()` or `nm_remote_connection_commit_changes()` is called.

`connection` : | the NMRemoteConnection
`callback` : | a function to be called when the commit completes. [scope async][allow-none]
`user_data` : | caller-specific data to be passed to `callback`. [closure]

Since 0.9.10

### nm_remote_connection_save ()

    void                nm_remote_connection_save           (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);

Saves the connection to disk if the connection has changes that have not yet been written to disk, or if the connection has never been saved.

`connection` : | the NMRemoteConnection
`callback` : | a function to be called when the save completes. [scope async][allow-none]
`user_data` : | caller-specific data to be passed to `callback`. [closure]

Since 0.9.10

### nm_remote_connection_delete ()

    void                nm_remote_connection_delete         (NMRemoteConnection *connection,
                                                             NMRemoteConnectionResultFunc callback,
                                                             gpointer user_data);

Delete the connection.

`connection` : | the NMRemoteConnection
`callback` : | a function to be called when the delete completes. [scope async][allow-none]
`user_data` : | caller-specific data to be passed to `callback`. [closure]

### nm_remote_connection_get_secrets ()

    void                nm_remote_connection_get_secrets    (NMRemoteConnection *connection,
                                                             const char *setting_name,
                                                             NMRemoteConnectionGetSecretsFunc callback,
                                                             gpointer user_data);

Request the connection's secrets.

`connection` : | the NMRemoteConnection
`setting_name` : | the NMSetting object name to get secrets for
`callback` : | a function to be called when the update completes; must not be `NULL`. [scope async]
`user_data` : | caller-specific data to be passed to `callback`. [closure]

### nm_remote_connection_get_unsaved ()

    gboolean            nm_remote_connection_get_unsaved    (NMRemoteConnection *connection);

`connection` : | the NMRemoteConnection
Returns : | `TRUE` if the remote connection contains changes that have not been saved to disk, `FALSE` if the connection is the same as its on-disk representation.

Since 0.9.10

## Property Details

### The `"bus"` property

      "bus"                      DBusGConnection*      : Write / Construct Only

DBusGConnection.

### The `"dbus-connection"` property

      "dbus-connection"          DBusGConnection*      : Write / Construct Only

DBusGConnection.

### The `"dbus-path"` property

      "dbus-path"                gchar*                : Write / Construct Only

DBus Object Path.

Default value: NULL

### The `"unsaved"` property

      "unsaved"                  gboolean              : Read

`TRUE` if the remote connection contains changes that have not been saved to disk, `FALSE` if the connection is the same as its on-disk representation.

Default value: FALSE

Since 0.9.10

## Signal Details

### The `"removed"` signal

    void                user_function                      (NMRemoteConnection *connection,
                                                            gpointer            user_data)       : Run First

This signal is emitted when a connection is either deleted or becomes invisible to the current user.

`connection` : | a NMConnection
`user_data` : | user data set when the signal handler was connected.

### The `"updated"` signal

    void                user_function                      (NMRemoteConnection *connection,
                                                            gpointer            user_data)       : Run First

This signal is emitted when a connection changes, and it is still visible to the user.

`connection` : | a NMConnection
`user_data` : | user data set when the signal handler was connected.

### The `"visible"` signal

    void                user_function                      (NMRemoteConnection *nmremoteconnection,
                                                            gboolean            arg1,
                                                            gpointer            user_data)               : Run First

`nmremoteconnection` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.