diff options
Diffstat (limited to 'libnm-core/nm-setting.h')
| -rw-r--r-- | libnm-core/nm-setting.h | 348 |
1 files changed, 159 insertions, 189 deletions
diff --git a/libnm-core/nm-setting.h b/libnm-core/nm-setting.h index 01cd1503..8583c4a7 100644 --- a/libnm-core/nm-setting.h +++ b/libnm-core/nm-setting.h @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: LGPL-2.1+ +/* SPDX-License-Identifier: LGPL-2.1+ */ /* * Copyright (C) 2007 - 2011 Red Hat, Inc. * Copyright (C) 2007 - 2008 Novell, Inc. @@ -7,26 +7,27 @@ #ifndef __NM_SETTING_H__ #define __NM_SETTING_H__ -#if !defined (__NETWORKMANAGER_H_INSIDE__) && !defined (NETWORKMANAGER_COMPILATION) -#error "Only <NetworkManager.h> can be included directly." +#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION) + #error "Only <NetworkManager.h> can be included directly." #endif #include "nm-core-types.h" G_BEGIN_DECLS -#define NM_TYPE_SETTING (nm_setting_get_type ()) -#define NM_SETTING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SETTING, NMSetting)) -#define NM_SETTING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SETTING, NMSettingClass)) -#define NM_IS_SETTING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SETTING)) -#define NM_IS_SETTING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SETTING)) -#define NM_SETTING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SETTING, NMSettingClass)) +#define NM_TYPE_SETTING (nm_setting_get_type()) +#define NM_SETTING(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SETTING, NMSetting)) +#define NM_SETTING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTING, NMSettingClass)) +#define NM_IS_SETTING(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SETTING)) +#define NM_IS_SETTING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SETTING)) +#define NM_SETTING_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SETTING, NMSettingClass)) /* The property of the #NMSetting is required for the setting to be valid */ -#define NM_SETTING_PARAM_REQUIRED (1 << (1 + G_PARAM_USER_SHIFT)) +#define NM_SETTING_PARAM_REQUIRED (1 << (1 + G_PARAM_USER_SHIFT)) /* The property of the #NMSetting is a secret */ -#define NM_SETTING_PARAM_SECRET (1 << (2 + G_PARAM_USER_SHIFT)) +#define NM_SETTING_PARAM_SECRET (1 << (2 + G_PARAM_USER_SHIFT)) /* The property of the #NMSetting should be ignored during comparisons that * use the %NM_SETTING_COMPARE_FLAG_FUZZY flag. @@ -57,12 +58,12 @@ G_BEGIN_DECLS * **/ typedef enum { /*< flags >*/ - NM_SETTING_SECRET_FLAG_NONE = 0x00000000, - NM_SETTING_SECRET_FLAG_AGENT_OWNED = 0x00000001, - NM_SETTING_SECRET_FLAG_NOT_SAVED = 0x00000002, - NM_SETTING_SECRET_FLAG_NOT_REQUIRED = 0x00000004 + NM_SETTING_SECRET_FLAG_NONE = 0x00000000, + NM_SETTING_SECRET_FLAG_AGENT_OWNED = 0x00000001, + NM_SETTING_SECRET_FLAG_NOT_SAVED = 0x00000002, + NM_SETTING_SECRET_FLAG_NOT_REQUIRED = 0x00000004 - /* NOTE: if adding flags, update nm-core-internal.h as well */ + /* NOTE: if adding flags, update nm-core-internal.h as well */ } NMSettingSecretFlags; /** @@ -100,17 +101,17 @@ typedef enum { /*< flags >*/ * **/ typedef enum { - NM_SETTING_COMPARE_FLAG_EXACT = 0x00000000, - NM_SETTING_COMPARE_FLAG_FUZZY = 0x00000001, - NM_SETTING_COMPARE_FLAG_IGNORE_ID = 0x00000002, - NM_SETTING_COMPARE_FLAG_IGNORE_SECRETS = 0x00000004, - NM_SETTING_COMPARE_FLAG_IGNORE_AGENT_OWNED_SECRETS = 0x00000008, - NM_SETTING_COMPARE_FLAG_IGNORE_NOT_SAVED_SECRETS = 0x00000010, - NM_SETTING_COMPARE_FLAG_DIFF_RESULT_WITH_DEFAULT = 0x00000020, - NM_SETTING_COMPARE_FLAG_DIFF_RESULT_NO_DEFAULT = 0x00000040, - NM_SETTING_COMPARE_FLAG_IGNORE_TIMESTAMP = 0x00000080, - - /* Higher flags like 0x80000000 and 0x40000000 are used internally as private flags */ + NM_SETTING_COMPARE_FLAG_EXACT = 0x00000000, + NM_SETTING_COMPARE_FLAG_FUZZY = 0x00000001, + NM_SETTING_COMPARE_FLAG_IGNORE_ID = 0x00000002, + NM_SETTING_COMPARE_FLAG_IGNORE_SECRETS = 0x00000004, + NM_SETTING_COMPARE_FLAG_IGNORE_AGENT_OWNED_SECRETS = 0x00000008, + NM_SETTING_COMPARE_FLAG_IGNORE_NOT_SAVED_SECRETS = 0x00000010, + NM_SETTING_COMPARE_FLAG_DIFF_RESULT_WITH_DEFAULT = 0x00000020, + NM_SETTING_COMPARE_FLAG_DIFF_RESULT_NO_DEFAULT = 0x00000040, + NM_SETTING_COMPARE_FLAG_IGNORE_TIMESTAMP = 0x00000080, + + /* Higher flags like 0x80000000 and 0x40000000 are used internally as private flags */ } NMSettingCompareFlags; /** @@ -123,9 +124,9 @@ typedef enum { * Controls if and how the MAC address of a device is randomzied. **/ typedef enum { - NM_SETTING_MAC_RANDOMIZATION_DEFAULT = 0, - NM_SETTING_MAC_RANDOMIZATION_NEVER, - NM_SETTING_MAC_RANDOMIZATION_ALWAYS, + NM_SETTING_MAC_RANDOMIZATION_DEFAULT = 0, + NM_SETTING_MAC_RANDOMIZATION_NEVER, + NM_SETTING_MAC_RANDOMIZATION_ALWAYS, } NMSettingMacRandomization; /** @@ -135,7 +136,7 @@ typedef enum { * It should only be accessed through the functions described below. */ struct _NMSetting { - GObject parent; + GObject parent; }; /** @@ -147,10 +148,10 @@ struct _NMSetting { * * Returns: %TRUE to clear the secret, %FALSE to not clear the secret */ -typedef gboolean (*NMSettingClearSecretsWithFlagsFn) (NMSetting *setting, - const char *secret, - NMSettingSecretFlags flags, - gpointer user_data); +typedef gboolean (*NMSettingClearSecretsWithFlagsFn)(NMSetting * setting, + const char * secret, + NMSettingSecretFlags flags, + gpointer user_data); struct _NMMetaSettingInfo; struct _NMSettInfoSetting; @@ -165,127 +166,111 @@ struct _NMSettInfoProperty; * @flags: The property's flags, like %NM_SETTING_PARAM_SECRET * @user_data: User data passed to nm_setting_enumerate_values() */ -typedef void (*NMSettingValueIterFn) (NMSetting *setting, - const char *key, - const GValue *value, - GParamFlags flags, - gpointer user_data); +typedef void (*NMSettingValueIterFn)(NMSetting * setting, + const char * key, + const GValue *value, + GParamFlags flags, + gpointer user_data); /*< private >*/ -typedef gboolean (*_NMConnectionForEachSecretFunc) (NMSettingSecretFlags flags, - gpointer user_data); +typedef gboolean (*_NMConnectionForEachSecretFunc)(NMSettingSecretFlags flags, gpointer user_data); typedef struct { - GObjectClass parent; - - /* Virtual functions */ - int (*verify) (NMSetting *setting, - NMConnection *connection, - GError **error); - - gboolean (*verify_secrets) (NMSetting *setting, - NMConnection *connection, - GError **error); - - GPtrArray *(*need_secrets) (NMSetting *setting); - - int (*update_one_secret) (NMSetting *setting, - const char *key, - GVariant *value, - GError **error); - - gboolean (*get_secret_flags) (NMSetting *setting, - const char *secret_name, - NMSettingSecretFlags *out_flags, - GError **error); - - gboolean (*set_secret_flags) (NMSetting *setting, - const char *secret_name, - NMSettingSecretFlags flags, - GError **error); - - /*< private >*/ - gboolean (*clear_secrets) (const struct _NMSettInfoSetting *sett_info, - guint property_idx, - NMSetting *setting, - NMSettingClearSecretsWithFlagsFn func, - gpointer user_data); - - /* compare_property() returns a ternary, where DEFAULT means that the property should not - * be compared due to the compare @flags. A TRUE/FALSE result means that the property is - * equal/not-equal. - * - * @other may be %NULL, in which case the function only determines whether - * the setting should be compared (TRUE) or not (DEFAULT). */ - /*< private >*/ - NMTernary (*compare_property) (const struct _NMSettInfoSetting *sett_info, - guint property_idx, - NMConnection *con_a, - NMSetting *set_a, - NMConnection *con_b, - NMSetting *set_b, - NMSettingCompareFlags flags); - - /*< private >*/ - void (*duplicate_copy_properties) (const struct _NMSettInfoSetting *sett_info, - NMSetting *src, - NMSetting *dst); - - /*< private >*/ - void (*enumerate_values) (const struct _NMSettInfoProperty *property_info, - NMSetting *setting, - NMSettingValueIterFn func, - gpointer user_data); - - /*< private >*/ - gboolean (*aggregate) (NMSetting *setting, - int type_i, - gpointer arg); - - /*< private >*/ - void (*for_each_secret) (NMSetting *setting, - const char *secret_name, - GVariant *val, - gboolean remove_non_secrets, - _NMConnectionForEachSecretFunc callback, - gpointer callback_data, - GVariantBuilder *setting_builder); - - /*< private >*/ - gboolean (*init_from_dbus) (NMSetting *setting, - GHashTable *keys, - GVariant *setting_dict, - GVariant *connection_dict, - guint /* NMSettingParseFlags */ parse_flags, - GError **error); - - /*< private >*/ - gpointer padding[1]; - - /*< private >*/ - const struct _NMMetaSettingInfo *setting_info; + GObjectClass parent; + + /* Virtual functions */ + int (*verify)(NMSetting *setting, NMConnection *connection, GError **error); + + gboolean (*verify_secrets)(NMSetting *setting, NMConnection *connection, GError **error); + + GPtrArray *(*need_secrets)(NMSetting *setting); + + int (*update_one_secret)(NMSetting *setting, const char *key, GVariant *value, GError **error); + + gboolean (*get_secret_flags)(NMSetting * setting, + const char * secret_name, + NMSettingSecretFlags *out_flags, + GError ** error); + + gboolean (*set_secret_flags)(NMSetting * setting, + const char * secret_name, + NMSettingSecretFlags flags, + GError ** error); + + /*< private >*/ + gboolean (*clear_secrets)(const struct _NMSettInfoSetting *sett_info, + guint property_idx, + NMSetting * setting, + NMSettingClearSecretsWithFlagsFn func, + gpointer user_data); + + /* compare_property() returns a ternary, where DEFAULT means that the property should not + * be compared due to the compare @flags. A TRUE/FALSE result means that the property is + * equal/not-equal. + * + * @other may be %NULL, in which case the function only determines whether + * the setting should be compared (TRUE) or not (DEFAULT). */ + /*< private >*/ + NMTernary (*compare_property)(const struct _NMSettInfoSetting *sett_info, + guint property_idx, + NMConnection * con_a, + NMSetting * set_a, + NMConnection * con_b, + NMSetting * set_b, + NMSettingCompareFlags flags); + + /*< private >*/ + void (*duplicate_copy_properties)(const struct _NMSettInfoSetting *sett_info, + NMSetting * src, + NMSetting * dst); + + /*< private >*/ + void (*enumerate_values)(const struct _NMSettInfoProperty *property_info, + NMSetting * setting, + NMSettingValueIterFn func, + gpointer user_data); + + /*< private >*/ + gboolean (*aggregate)(NMSetting *setting, int type_i, gpointer arg); + + /*< private >*/ + void (*for_each_secret)(NMSetting * setting, + const char * secret_name, + GVariant * val, + gboolean remove_non_secrets, + _NMConnectionForEachSecretFunc callback, + gpointer callback_data, + GVariantBuilder * setting_builder); + + /*< private >*/ + gboolean (*init_from_dbus)(NMSetting * setting, + GHashTable * keys, + GVariant * setting_dict, + GVariant * connection_dict, + guint /* NMSettingParseFlags */ parse_flags, + GError ** error); + + /*< private >*/ + gpointer padding[1]; + + /*< private >*/ + const struct _NMMetaSettingInfo *setting_info; } NMSettingClass; -GType nm_setting_get_type (void); +GType nm_setting_get_type(void); -GType nm_setting_lookup_type (const char *name); +GType nm_setting_lookup_type(const char *name); -NMSetting *nm_setting_duplicate (NMSetting *setting); +NMSetting *nm_setting_duplicate(NMSetting *setting); -const char *nm_setting_get_name (NMSetting *setting); +const char *nm_setting_get_name(NMSetting *setting); -gboolean nm_setting_verify (NMSetting *setting, - NMConnection *connection, - GError **error); +gboolean nm_setting_verify(NMSetting *setting, NMConnection *connection, GError **error); NM_AVAILABLE_IN_1_2 -gboolean nm_setting_verify_secrets (NMSetting *setting, - NMConnection *connection, - GError **error); +gboolean nm_setting_verify_secrets(NMSetting *setting, NMConnection *connection, GError **error); -gboolean nm_setting_compare (NMSetting *a, - NMSetting *b, - NMSettingCompareFlags flags); +gboolean nm_setting_compare(NMSetting *a, NMSetting *b, NMSettingCompareFlags flags); /** * NMSettingDiffResult: @@ -300,81 +285,66 @@ gboolean nm_setting_compare (NMSetting *a, * These values indicate the result of a setting difference operation. **/ typedef enum { - NM_SETTING_DIFF_RESULT_UNKNOWN = 0x00000000, - NM_SETTING_DIFF_RESULT_IN_A = 0x00000001, - NM_SETTING_DIFF_RESULT_IN_B = 0x00000002, - NM_SETTING_DIFF_RESULT_IN_A_DEFAULT = 0x00000004, - NM_SETTING_DIFF_RESULT_IN_B_DEFAULT = 0x00000008, + NM_SETTING_DIFF_RESULT_UNKNOWN = 0x00000000, + NM_SETTING_DIFF_RESULT_IN_A = 0x00000001, + NM_SETTING_DIFF_RESULT_IN_B = 0x00000002, + NM_SETTING_DIFF_RESULT_IN_A_DEFAULT = 0x00000004, + NM_SETTING_DIFF_RESULT_IN_B_DEFAULT = 0x00000008, } NMSettingDiffResult; -gboolean nm_setting_diff (NMSetting *a, - NMSetting *b, - NMSettingCompareFlags flags, - gboolean invert_results, - GHashTable **results); +gboolean nm_setting_diff(NMSetting * a, + NMSetting * b, + NMSettingCompareFlags flags, + gboolean invert_results, + GHashTable ** results); -void nm_setting_enumerate_values (NMSetting *setting, - NMSettingValueIterFn func, - gpointer user_data); +void nm_setting_enumerate_values(NMSetting *setting, NMSettingValueIterFn func, gpointer user_data); -char *nm_setting_to_string (NMSetting *setting); +char *nm_setting_to_string(NMSetting *setting); /*****************************************************************************/ -gboolean nm_setting_get_secret_flags (NMSetting *setting, - const char *secret_name, - NMSettingSecretFlags *out_flags, - GError **error); +gboolean nm_setting_get_secret_flags(NMSetting * setting, + const char * secret_name, + NMSettingSecretFlags *out_flags, + GError ** error); -gboolean nm_setting_set_secret_flags (NMSetting *setting, - const char *secret_name, - NMSettingSecretFlags flags, - GError **error); +gboolean nm_setting_set_secret_flags(NMSetting * setting, + const char * secret_name, + NMSettingSecretFlags flags, + GError ** error); /*****************************************************************************/ NM_AVAILABLE_IN_1_26 -GVariant *nm_setting_option_get (NMSetting *setting, - const char *opt_name); +GVariant *nm_setting_option_get(NMSetting *setting, const char *opt_name); NM_AVAILABLE_IN_1_26 -gboolean nm_setting_option_get_boolean (NMSetting *setting, - const char *opt_name, - gboolean *out_value); +gboolean +nm_setting_option_get_boolean(NMSetting *setting, const char *opt_name, gboolean *out_value); NM_AVAILABLE_IN_1_26 -gboolean nm_setting_option_get_uint32 (NMSetting *setting, - const char *opt_name, - guint32 *out_value); +gboolean nm_setting_option_get_uint32(NMSetting *setting, const char *opt_name, guint32 *out_value); NM_AVAILABLE_IN_1_26 -void nm_setting_option_set (NMSetting *setting, - const char *opt_name, - GVariant *variant); +void nm_setting_option_set(NMSetting *setting, const char *opt_name, GVariant *variant); NM_AVAILABLE_IN_1_26 -void nm_setting_option_set_uint32 (NMSetting *setting, - const char *opt_name, - guint32 value); +void nm_setting_option_set_uint32(NMSetting *setting, const char *opt_name, guint32 value); NM_AVAILABLE_IN_1_26 -void nm_setting_option_set_boolean (NMSetting *setting, - const char *opt_name, - gboolean value); +void nm_setting_option_set_boolean(NMSetting *setting, const char *opt_name, gboolean value); NM_AVAILABLE_IN_1_26 -const char *const*nm_setting_option_get_all_names (NMSetting *setting, - guint *out_len); - +const char *const *nm_setting_option_get_all_names(NMSetting *setting, guint *out_len); NM_AVAILABLE_IN_1_26 -void nm_setting_option_clear_by_name (NMSetting *setting, - NMUtilsPredicateStr predicate); +void nm_setting_option_clear_by_name(NMSetting *setting, NMUtilsPredicateStr predicate); /*****************************************************************************/ -const GVariantType *nm_setting_get_dbus_property_type (NMSetting *setting, - const char *property_name); +const GVariantType *nm_setting_get_dbus_property_type(NMSetting * setting, + const char *property_name); /*****************************************************************************/ |