## NMRemoteConnection NMRemoteConnection |

## Synopsis

    #define             NM_REMOTE_CONNECTION_DBUS_CONNECTION
    #define             NM_REMOTE_CONNECTION_PATH
    #define             NM_REMOTE_CONNECTION_UNSAVED
    #define             NM_REMOTE_CONNECTION_VISIBLE
    struct              NMRemoteConnection;
                        NMRemoteConnectionClass;
    gboolean            nm_remote_connection_commit_changes (NMRemoteConnection *connection,
                                                             gboolean save_to_disk,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                nm_remote_connection_commit_changes_async
                                                            (NMRemoteConnection *connection,
                                                             gboolean save_to_disk,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            nm_remote_connection_commit_changes_finish
                                                            (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);
    gboolean            nm_remote_connection_save           (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                nm_remote_connection_save_async     (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            nm_remote_connection_save_finish    (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);
    gboolean            nm_remote_connection_delete         (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                nm_remote_connection_delete_async   (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            nm_remote_connection_delete_finish  (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);
    GVariant *          nm_remote_connection_get_secrets    (NMRemoteConnection *connection,
                                                             const char *setting_name,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                nm_remote_connection_get_secrets_async
                                                            (NMRemoteConnection *connection,
                                                             const char *setting_name,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    GVariant *          nm_remote_connection_get_secrets_finish
                                                            (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);
    gboolean            nm_remote_connection_get_unsaved    (NMRemoteConnection *connection);
    gboolean            nm_remote_connection_get_visible    (NMRemoteConnection *connection);

## Object Hierarchy

      GObject
       +----NMObject
             +----NMRemoteConnection

## Implemented Interfaces

NMRemoteConnection implements GInitable, GAsyncInitable and NMConnection.

## Properties

      "unsaved"                  gboolean              : Read
      "visible"                  gboolean              : Read

## Description

## Details

### NM_REMOTE_CONNECTION_DBUS_CONNECTION

    #define NM_REMOTE_CONNECTION_DBUS_CONNECTION "dbus-connection"

### NM_REMOTE_CONNECTION_PATH

    #define NM_REMOTE_CONNECTION_PATH            "path"

### NM_REMOTE_CONNECTION_UNSAVED

    #define NM_REMOTE_CONNECTION_UNSAVED         "unsaved"

### NM_REMOTE_CONNECTION_VISIBLE

    #define NM_REMOTE_CONNECTION_VISIBLE         "visible"

### struct NMRemoteConnection

    struct NMRemoteConnection;

### NMRemoteConnectionClass

    typedef struct {
    	NMObjectClass parent_class;
    } NMRemoteConnectionClass;

### nm_remote_connection_commit_changes ()

    gboolean            nm_remote_connection_commit_changes (NMRemoteConnection *connection,
                                                             gboolean save_to_disk,
                                                             GCancellable *cancellable,
                                                             GError **error);

Send any local changes to the settings and properties of `connection` to NetworkManager. If `save_to_disk` is `TRUE`, the updated connection will be saved to disk; if `FALSE`, then only the in-memory representation will be changed.

`connection` : | the NMRemoteConnection
`save_to_disk` : | whether to persist the changes to disk
`cancellable` : | a GCancellable, or `NULL`
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_remote_connection_commit_changes_async ()

    void                nm_remote_connection_commit_changes_async
                                                            (NMRemoteConnection *connection,
                                                             gboolean save_to_disk,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously sends any local changes to the settings and properties of `connection` to NetworkManager. If `save` is `TRUE`, the updated connection will be saved to disk; if `FALSE`, then only the in-memory representation will be changed.

`connection` : | the NMRemoteConnection
`save_to_disk` : | whether to save the changes to persistent storage
`cancellable` : | a GCancellable, or `NULL`
`callback` : | callback to be called when the commit operation completes
`user_data` : | caller-specific data passed to `callback`

### nm_remote_connection_commit_changes_finish ()

    gboolean            nm_remote_connection_commit_changes_finish
                                                            (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);

Gets the result of a call to `nm_remote_connection_commit_changes_async()`.

`connection` : | the NMRemoteConnection
`result` : | the result passed to the GAsyncReadyCallback
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_remote_connection_save ()

    gboolean            nm_remote_connection_save           (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GError **error);

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
`cancellable` : | a GCancellable, or `NULL`
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_remote_connection_save_async ()

    void                nm_remote_connection_save_async     (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback 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
`cancellable` : | a GCancellable, or `NULL`
`callback` : | callback to be called when the save operation completes
`user_data` : | caller-specific data passed to `callback`

### nm_remote_connection_save_finish ()

    gboolean            nm_remote_connection_save_finish    (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);

Gets the result of a call to `nm_remote_connection_save_async()`.

`connection` : | the NMRemoteConnection
`result` : | the result passed to the GAsyncReadyCallback
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_remote_connection_delete ()

    gboolean            nm_remote_connection_delete         (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GError **error);

Deletes the connection.

`connection` : | the NMRemoteConnection
`cancellable` : | a GCancellable, or `NULL`
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_remote_connection_delete_async ()

    void                nm_remote_connection_delete_async   (NMRemoteConnection *connection,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously deletes the connection.

`connection` : | the NMRemoteConnection
`cancellable` : | a GCancellable, or `NULL`
`callback` : | callback to be called when the delete operation completes
`user_data` : | caller-specific data passed to `callback`

### nm_remote_connection_delete_finish ()

    gboolean            nm_remote_connection_delete_finish  (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);

Gets the result of a call to `nm_remote_connection_delete_async()`.

`connection` : | the NMRemoteConnection
`result` : | the result passed to the GAsyncReadyCallback
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_remote_connection_get_secrets ()

    GVariant *          nm_remote_connection_get_secrets    (NMRemoteConnection *connection,
                                                             const char *setting_name,
                                                             GCancellable *cancellable,
                                                             GError **error);

Request the connection's secrets. Note that this is a blocking D-Bus call, not a simple property accessor.

`connection` : | the NMRemoteConnection
`setting_name` : | the NMSetting object name to get secrets for
`cancellable` : | a GCancellable, or `NULL`
`error` : | location for a GError, or `NULL`
Returns : | a GVariant of type `NM_VARIANT_TYPE_CONNECTION` containing `connection`'s secrets, or `NULL` on error.

### nm_remote_connection_get_secrets_async ()

    void                nm_remote_connection_get_secrets_async
                                                            (NMRemoteConnection *connection,
                                                             const char *setting_name,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously requests the connection's secrets.

`connection` : | the NMRemoteConnection
`setting_name` : | the NMSetting object name to get secrets for
`cancellable` : | a GCancellable, or `NULL`
`callback` : | callback to be called when the secret request completes
`user_data` : | caller-specific data passed to `callback`

### nm_remote_connection_get_secrets_finish ()

    GVariant *          nm_remote_connection_get_secrets_finish
                                                            (NMRemoteConnection *connection,
                                                             GAsyncResult *result,
                                                             GError **error);

Gets the result of a call to `nm_remote_connection_get_secrets_async()`.

`connection` : | the NMRemoteConnection
`result` : | the result passed to the GAsyncReadyCallback
`error` : | location for a GError, or `NULL`
Returns : | a GVariant of type `NM_VARIANT_TYPE_CONNECTION` containing `connection`'s secrets, or `NULL` on error. [transfer full]

### 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.

### nm_remote_connection_get_visible ()

    gboolean            nm_remote_connection_get_visible    (NMRemoteConnection *connection);

Checks if the connection is visible to the current user. If the connection is not visible then it is essentially useless; it will not contain any settings, and operations such as `nm_remote_connection_save()` and `nm_remote_connection_delete()` will always fail. (NMRemoteSettings will not normally return non-visible connections to callers, but it is possible for a connection's visibility to change after you already have a reference to it.)

`connection` : | the NMRemoteConnection
Returns : | `TRUE` if the remote connection is visible to the current user, `FALSE` if not.

## Property Details

### 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

### The `"visible"` property

      "visible"                  gboolean              : Read

`TRUE` if the remote connection is visible to the current user, `FALSE` if not. If the connection is not visible then it is essentially useless; it will not contain any settings, and operations such as `nm_remote_connection_save()` and `nm_remote_connection_delete()` will always fail. (NMRemoteSettings will not normally return non-visible connections to callers, but it is possible for a connection's visibility to change after you already have a reference to it.)

Default value: FALSE