## NMConnection NMConnection |

## Functions

void | nm_connection_add_setting ()
void | nm_connection_remove_setting ()
NMSetting * | nm_connection_get_setting ()
NMSetting * | nm_connection_get_setting_by_name ()
GVariant * | nm_connection_to_dbus ()
gboolean | nm_connection_replace_settings ()
void | nm_connection_replace_settings_from_connection ()
void | nm_connection_clear_settings ()
gboolean | nm_connection_compare ()
gboolean | nm_connection_diff ()
gboolean | nm_connection_verify ()
gboolean | nm_connection_verify_secrets ()
gboolean | nm_connection_normalize ()
const char * | nm_connection_need_secrets ()
void | nm_connection_clear_secrets ()
void | nm_connection_clear_secrets_with_flags ()
gboolean | nm_connection_update_secrets ()
void | nm_connection_set_path ()
const char * | nm_connection_get_path ()
const char * | nm_connection_get_interface_name ()
gboolean | nm_connection_is_type ()
void | nm_connection_for_each_setting_value ()
NMSetting ** | nm_connection_get_settings ()
void | nm_connection_dump ()
const char * | nm_connection_get_uuid ()
const char * | nm_connection_get_id ()
const char * | nm_connection_get_connection_type ()
gboolean | nm_connection_is_virtual ()
char * | nm_connection_get_virtual_device_description ()
NMSetting8021x * | nm_connection_get_setting_802_1x ()
NMSettingBluetooth * | nm_connection_get_setting_bluetooth ()
NMSettingBond * | nm_connection_get_setting_bond ()
NMSettingTeam * | nm_connection_get_setting_team ()
NMSettingTeamPort * | nm_connection_get_setting_team_port ()
NMSettingBridge * | nm_connection_get_setting_bridge ()
NMSettingBridgePort * | nm_connection_get_setting_bridge_port ()
NMSettingCdma * | nm_connection_get_setting_cdma ()
NMSettingConnection * | nm_connection_get_setting_connection ()
NMSettingDcb * | nm_connection_get_setting_dcb ()
NMSettingDummy * | nm_connection_get_setting_dummy ()
NMSettingGeneric * | nm_connection_get_setting_generic ()
NMSettingGsm * | nm_connection_get_setting_gsm ()
NMSettingInfiniband * | nm_connection_get_setting_infiniband ()
NMSettingIPTunnel * | nm_connection_get_setting_ip_tunnel ()
NMSettingIPConfig * | nm_connection_get_setting_ip4_config ()
NMSettingIPConfig * | nm_connection_get_setting_ip6_config ()
NMSettingMacsec * | nm_connection_get_setting_macsec ()
NMSettingMacvlan * | nm_connection_get_setting_macvlan ()
NMSettingOlpcMesh * | nm_connection_get_setting_olpc_mesh ()
NMSettingOvsBridge * | nm_connection_get_setting_ovs_bridge ()
NMSettingOvsInterface * | nm_connection_get_setting_ovs_interface ()
NMSettingOvsPatch * | nm_connection_get_setting_ovs_patch ()
NMSettingOvsPort * | nm_connection_get_setting_ovs_port ()
NMSettingPpp * | nm_connection_get_setting_ppp ()
NMSettingPppoe * | nm_connection_get_setting_pppoe ()
NMSettingProxy * | nm_connection_get_setting_proxy ()
NMSettingSerial * | nm_connection_get_setting_serial ()
NMSettingTCConfig * | nm_connection_get_setting_tc_config ()
NMSettingTun * | nm_connection_get_setting_tun ()
NMSettingVpn * | nm_connection_get_setting_vpn ()
NMSettingWimax * | nm_connection_get_setting_wimax ()
NMSettingAdsl * | nm_connection_get_setting_adsl ()
NMSettingWired * | nm_connection_get_setting_wired ()
NMSettingWireless * | nm_connection_get_setting_wireless ()
NMSettingWirelessSecurity * | nm_connection_get_setting_wireless_security ()
NMSettingVlan * | nm_connection_get_setting_vlan ()
NMSettingVxlan * | nm_connection_get_setting_vxlan ()

## Types and Values

#define | NM_CONNECTION_SECRETS_UPDATED
#define | NM_CONNECTION_SECRETS_CLEARED
#define | NM_CONNECTION_CHANGED
#define | NM_CONNECTION_NORMALIZE_PARAM_IP6_CONFIG_METHOD
| NMConnectionInterface
#define | NM_VARIANT_TYPE_SETTING
enum | NMConnectionSerializationFlags

## Object Hierarchy

        GFlags
        ╰── NMConnectionSerializationFlags

## Description

## Functions

### nm_connection_add_setting ()

    void
    nm_connection_add_setting (NMConnection *connection,
                               NMSetting *setting);

### nm_connection_remove_setting ()

    void
    nm_connection_remove_setting (NMConnection *connection,
                                  GType setting_type);

### nm_connection_get_setting ()

    NMSetting *
    nm_connection_get_setting (NMConnection *connection,
                               GType setting_type);

### nm_connection_get_setting_by_name ()

    NMSetting *
    nm_connection_get_setting_by_name (NMConnection *connection,
                                       const char *name);

### nm_connection_to_dbus ()

    GVariant *
    nm_connection_to_dbus (NMConnection *connection,
                           NMConnectionSerializationFlags flags);

### nm_connection_replace_settings ()

    gboolean
    nm_connection_replace_settings (NMConnection *connection,
                                    GVariant *new_settings,
                                    GError **error);

### nm_connection_replace_settings_from_connection ()

    void
    nm_connection_replace_settings_from_connection
                                   (NMConnection *connection,
                                    NMConnection *new_connection);

### nm_connection_clear_settings ()

    void
    nm_connection_clear_settings (NMConnection *connection);

### nm_connection_compare ()

    gboolean
    nm_connection_compare (NMConnection *a,
                           NMConnection *b,
                           NMSettingCompareFlags flags);

### nm_connection_diff ()

    gboolean
    nm_connection_diff (NMConnection *a,
                        NMConnection *b,
                        NMSettingCompareFlags flags,
                        GHashTable **out_settings);

### nm_connection_verify ()

    gboolean
    nm_connection_verify (NMConnection *connection,
                          GError **error);

### nm_connection_verify_secrets ()

    gboolean
    nm_connection_verify_secrets (NMConnection *connection,
                                  GError **error);

### nm_connection_normalize ()

    gboolean
    nm_connection_normalize (NMConnection *connection,
                             GHashTable *parameters,
                             gboolean *modified,
                             GError **error);

### nm_connection_need_secrets ()

    const char *
    nm_connection_need_secrets (NMConnection *connection,
                                GPtrArray **hints);

### nm_connection_clear_secrets ()

    void
    nm_connection_clear_secrets (NMConnection *connection);

### nm_connection_clear_secrets_with_flags ()

    void
    nm_connection_clear_secrets_with_flags
                                   (NMConnection *connection,
                                    NMSettingClearSecretsWithFlagsFn func,
                                    gpointer user_data);

### nm_connection_update_secrets ()

    gboolean
    nm_connection_update_secrets (NMConnection *connection,
                                  const char *setting_name,
                                  GVariant *secrets,
                                  GError **error);

### nm_connection_set_path ()

    void
    nm_connection_set_path (NMConnection *connection,
                            const char *path);

### nm_connection_get_path ()

    const char *
    nm_connection_get_path (NMConnection *connection);

### nm_connection_get_interface_name ()

    const char *
    nm_connection_get_interface_name (NMConnection *connection);

### nm_connection_is_type ()

    gboolean
    nm_connection_is_type (NMConnection *connection,
                           const char *type);

### nm_connection_for_each_setting_value ()

    void
    nm_connection_for_each_setting_value (NMConnection *connection,
                                          NMSettingValueIterFn func,
                                          gpointer user_data);

### nm_connection_get_settings ()

    NMSetting **
    nm_connection_get_settings (NMConnection *connection,
                                guint *out_length);

### nm_connection_dump ()

    void
    nm_connection_dump (NMConnection *connection);

### nm_connection_get_uuid ()

    const char *
    nm_connection_get_uuid (NMConnection *connection);

### nm_connection_get_id ()

    const char *
    nm_connection_get_id (NMConnection *connection);

### nm_connection_get_connection_type ()

    const char *
    nm_connection_get_connection_type (NMConnection *connection);

### nm_connection_is_virtual ()

    gboolean
    nm_connection_is_virtual (NMConnection *connection);

### nm_connection_get_virtual_device_description ()

    char *
    nm_connection_get_virtual_device_description
                                   (NMConnection *connection);

### nm_connection_get_setting_802_1x ()

    NMSetting8021x *
    nm_connection_get_setting_802_1x (NMConnection *connection);

### nm_connection_get_setting_bluetooth ()

    NMSettingBluetooth *
    nm_connection_get_setting_bluetooth (NMConnection *connection);

### nm_connection_get_setting_bond ()

    NMSettingBond *
    nm_connection_get_setting_bond (NMConnection *connection);

### nm_connection_get_setting_team ()

    NMSettingTeam *
    nm_connection_get_setting_team (NMConnection *connection);

### nm_connection_get_setting_team_port ()

    NMSettingTeamPort *
    nm_connection_get_setting_team_port (NMConnection *connection);

### nm_connection_get_setting_bridge ()

    NMSettingBridge *
    nm_connection_get_setting_bridge (NMConnection *connection);

### nm_connection_get_setting_bridge_port ()

    NMSettingBridgePort *
    nm_connection_get_setting_bridge_port (NMConnection *connection);

### nm_connection_get_setting_cdma ()

    NMSettingCdma *
    nm_connection_get_setting_cdma (NMConnection *connection);

### nm_connection_get_setting_connection ()

    NMSettingConnection *
    nm_connection_get_setting_connection (NMConnection *connection);

### nm_connection_get_setting_dcb ()

    NMSettingDcb *
    nm_connection_get_setting_dcb (NMConnection *connection);

### nm_connection_get_setting_dummy ()

    NMSettingDummy *
    nm_connection_get_setting_dummy (NMConnection *connection);

### nm_connection_get_setting_generic ()

    NMSettingGeneric *
    nm_connection_get_setting_generic (NMConnection *connection);

### nm_connection_get_setting_gsm ()

    NMSettingGsm *
    nm_connection_get_setting_gsm (NMConnection *connection);

### nm_connection_get_setting_infiniband ()

    NMSettingInfiniband *
    nm_connection_get_setting_infiniband (NMConnection *connection);

### nm_connection_get_setting_ip_tunnel ()

    NMSettingIPTunnel *
    nm_connection_get_setting_ip_tunnel (NMConnection *connection);

### nm_connection_get_setting_ip4_config ()

    NMSettingIPConfig *
    nm_connection_get_setting_ip4_config (NMConnection *connection);

### nm_connection_get_setting_ip6_config ()

    NMSettingIPConfig *
    nm_connection_get_setting_ip6_config (NMConnection *connection);

### nm_connection_get_setting_macsec ()

    NMSettingMacsec *
    nm_connection_get_setting_macsec (NMConnection *connection);

### nm_connection_get_setting_macvlan ()

    NMSettingMacvlan *
    nm_connection_get_setting_macvlan (NMConnection *connection);

### nm_connection_get_setting_olpc_mesh ()

    NMSettingOlpcMesh *
    nm_connection_get_setting_olpc_mesh (NMConnection *connection);

### nm_connection_get_setting_ovs_bridge ()

    NMSettingOvsBridge *
    nm_connection_get_setting_ovs_bridge (NMConnection *connection);

### nm_connection_get_setting_ovs_interface ()

    NMSettingOvsInterface *
    nm_connection_get_setting_ovs_interface
                                   (NMConnection *connection);

### nm_connection_get_setting_ovs_patch ()

    NMSettingOvsPatch *
    nm_connection_get_setting_ovs_patch (NMConnection *connection);

### nm_connection_get_setting_ovs_port ()

    NMSettingOvsPort *
    nm_connection_get_setting_ovs_port (NMConnection *connection);

### nm_connection_get_setting_ppp ()

    NMSettingPpp *
    nm_connection_get_setting_ppp (NMConnection *connection);

### nm_connection_get_setting_pppoe ()

    NMSettingPppoe *
    nm_connection_get_setting_pppoe (NMConnection *connection);

### nm_connection_get_setting_proxy ()

    NMSettingProxy *
    nm_connection_get_setting_proxy (NMConnection *connection);

### nm_connection_get_setting_serial ()

    NMSettingSerial *
    nm_connection_get_setting_serial (NMConnection *connection);

### nm_connection_get_setting_tc_config ()

    NMSettingTCConfig *
    nm_connection_get_setting_tc_config (NMConnection *connection);

### nm_connection_get_setting_tun ()

    NMSettingTun *
    nm_connection_get_setting_tun (NMConnection *connection);

### nm_connection_get_setting_vpn ()

    NMSettingVpn *
    nm_connection_get_setting_vpn (NMConnection *connection);

### nm_connection_get_setting_wimax ()

    NMSettingWimax *
    nm_connection_get_setting_wimax (NMConnection *connection);

### nm_connection_get_setting_adsl ()

    NMSettingAdsl *
    nm_connection_get_setting_adsl (NMConnection *connection);

### nm_connection_get_setting_wired ()

    NMSettingWired *
    nm_connection_get_setting_wired (NMConnection *connection);

### nm_connection_get_setting_wireless ()

    NMSettingWireless *
    nm_connection_get_setting_wireless (NMConnection *connection);

### nm_connection_get_setting_wireless_security ()

    NMSettingWirelessSecurity *
    nm_connection_get_setting_wireless_security
                                   (NMConnection *connection);

### nm_connection_get_setting_vlan ()

    NMSettingVlan *
    nm_connection_get_setting_vlan (NMConnection *connection);

### nm_connection_get_setting_vxlan ()

    NMSettingVxlan *
    nm_connection_get_setting_vxlan (NMConnection *connection);

## Types and Values

### NM_CONNECTION_SECRETS_UPDATED

    #define NM_CONNECTION_SECRETS_UPDATED "secrets-updated"

### NM_CONNECTION_SECRETS_CLEARED

    #define NM_CONNECTION_SECRETS_CLEARED "secrets-cleared"

### NM_CONNECTION_CHANGED

    #define NM_CONNECTION_CHANGED         "changed"

### NM_CONNECTION_NORMALIZE_PARAM_IP6_CONFIG_METHOD

    #define NM_CONNECTION_NORMALIZE_PARAM_IP6_CONFIG_METHOD "ip6-config-method"

### NMConnectionInterface

    typedef struct {
        GTypeInterface parent;

        /* Signals */
        void (*secrets_updated)(NMConnection *connection, const char *setting);
        void (*secrets_cleared)(NMConnection *connection);
        void (*changed)(NMConnection *connection);
    } NMConnectionInterface;

#### Members

GTypeInterface `parent`; | the parent interface struct |
`secrets_updated` () | emitted when the connection's secrets are updated |
`secrets_cleared` () | emitted when the connection's secrets are cleared |
`changed` () | emitted when any change to the connection's settings occurs |

### NM_VARIANT_TYPE_SETTING

    #define NM_VARIANT_TYPE_SETTING G_VARIANT_TYPE_VARDICT

GVariantType for a dictionary mapping from property names to values. This is an alias for `G_VARIANT_TYPE_VARDICT`, and is the type of each element of an `NM_VARIANT_TYPE_CONNECTION` dictionary.

### enum NMConnectionSerializationFlags

These flags determine which properties are serialized when calling `nm_connection_to_dbus()`.

#### Members

NM_CONNECTION_SERIALIZE_ALL | serialize all properties (including secrets) |
NM_CONNECTION_SERIALIZE_WITH_NON_SECRET | serialize properties that are not secrets. Since 1.32. |
NM_CONNECTION_SERIALIZE_NO_SECRETS | this is a deprecated alias for `NM_CONNECTION_SERIALIZE_WITH_NON_SECRET` . |
NM_CONNECTION_SERIALIZE_WITH_SECRETS | serialize all secrets. This flag is ignored if any of `NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED` , `NM_CONNECTION_SERIALIZE_WITH_SECRETS_SYSTEM_OWNED` or `NM_CONNECTION_SERIALIZE_WITH_SECRETS_NOT_SAVED` is set. Since 1.32. |
NM_CONNECTION_SERIALIZE_ONLY_SECRETS | a deprecated alias for `NM_CONNECTION_SERIALIZE_WITH_SECRETS` . |
NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED | serialize agent-owned secrets. Since: 1.20. |
NM_CONNECTION_SERIALIZE_WITH_SECRETS_SYSTEM_OWNED | serialize system-owned secrets. Since: 1.32. |
NM_CONNECTION_SERIALIZE_WITH_SECRETS_NOT_SAVED | serialize secrets that are marked as never saved. Since: 1.32. |