diff options
Diffstat (limited to 'src/nm-config.h')
| -rw-r--r-- | src/nm-config.h | 88 |
1 files changed, 71 insertions, 17 deletions
diff --git a/src/nm-config.h b/src/nm-config.h index 56f75fb5..5b096f16 100644 --- a/src/nm-config.h +++ b/src/nm-config.h @@ -26,6 +26,7 @@ #include <glib-object.h> #include "nm-types.h" +#include "nm-config-data.h" G_BEGIN_DECLS @@ -36,43 +37,96 @@ G_BEGIN_DECLS #define NM_IS_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_CONFIG)) #define NM_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_CONFIG, NMConfigClass)) -typedef struct { +/* Properties */ +#define NM_CONFIG_CMD_LINE_OPTIONS "cmd-line-options" + +/* Signals */ +#define NM_CONFIG_SIGNAL_CONFIG_CHANGED "config-changed" + +#define NM_CONFIG_DEFAULT_CONNECTIVITY_INTERVAL 300 +#define NM_CONFIG_DEFAULT_CONNECTIVITY_RESPONSE "NetworkManager is online" /* NOT LOCALIZED */ + +#define NM_CONFIG_KEYFILE_LIST_SEPARATOR ',' + +#define NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION "connection" +#define NM_CONFIG_KEYFILE_GROUPPREFIX_TEST_APPEND_STRINGLIST ".test-append-stringlist" + +#define NM_CONFIG_KEYFILE_GROUP_MAIN "main" +#define NM_CONFIG_KEYFILE_GROUP_LOGGING "logging" +#define NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY "connectivity" + +#define NM_CONFIG_KEYFILE_GROUP_KEYFILE "keyfile" +#define NM_CONFIG_KEYFILE_GROUP_IFUPDOWN "ifupdown" +#define NM_CONFIG_KEYFILE_GROUP_IFNET "ifnet" + +#define NM_CONFIG_KEYFILE_KEY_IFNET_AUTO_REFRESH "auto_refresh" +#define NM_CONFIG_KEYFILE_KEY_IFNET_MANAGED "managed" +#define NM_CONFIG_KEYFILE_KEY_IFUPDOWN_MANAGED "managed" + +typedef struct NMConfigCmdLineOptions NMConfigCmdLineOptions; + +struct _NMConfig { GObject parent; -} NMConfig; +}; typedef struct { GObjectClass parent; + + /* Signals */ + void (*config_changed) (NMConfig *config, GHashTable *changes, NMConfigData *old_data); } NMConfigClass; GType nm_config_get_type (void); NMConfig *nm_config_get (void); -const char *nm_config_get_path (NMConfig *config); -const char *nm_config_get_description (NMConfig *config); +char *nm_config_change_flags_to_string (NMConfigChangeFlags flags); + +NMConfigData *nm_config_get_data (NMConfig *config); +NMConfigData *nm_config_get_data_orig (NMConfig *config); + +#define NM_CONFIG_GET_DATA (nm_config_get_data (nm_config_get ())) +#define NM_CONFIG_GET_DATA_ORIG (nm_config_get_data_orig (nm_config_get ())) + const char **nm_config_get_plugins (NMConfig *config); gboolean nm_config_get_monitor_connection_files (NMConfig *config); gboolean nm_config_get_auth_polkit (NMConfig *config); const char *nm_config_get_dhcp_client (NMConfig *config); -const char *nm_config_get_dns_mode (NMConfig *config); const char *nm_config_get_log_level (NMConfig *config); const char *nm_config_get_log_domains (NMConfig *config); const char *nm_config_get_debug (NMConfig *config); -const char *nm_config_get_connectivity_uri (NMConfig *config); -guint nm_config_get_connectivity_interval (NMConfig *config); -const char *nm_config_get_connectivity_response (NMConfig *config); gboolean nm_config_get_configure_and_quit (NMConfig *config); -gboolean nm_config_get_ethernet_can_auto_default (NMConfig *config, NMDevice *device); -void nm_config_set_ethernet_no_auto_default (NMConfig *config, NMDevice *device); - -gboolean nm_config_get_ignore_carrier (NMConfig *config, NMDevice *device); - -char *nm_config_get_value (NMConfig *config, const char *group, const char *key, GError **error); - /* for main.c only */ -GOptionEntry *nm_config_get_options (void); -NMConfig *nm_config_new (GError **error); +NMConfigCmdLineOptions *nm_config_cmd_line_options_new (void); +void nm_config_cmd_line_options_free (NMConfigCmdLineOptions *cli); +void nm_config_cmd_line_options_add_to_entries (NMConfigCmdLineOptions *cli, + GOptionContext *opt_ctx); + +gboolean nm_config_get_no_auto_default_for_device (NMConfig *config, NMDevice *device); +void nm_config_set_no_auto_default_for_device (NMConfig *config, NMDevice *device); + +NMConfig *nm_config_new (const NMConfigCmdLineOptions *cli, GError **error); +NMConfig *nm_config_setup (const NMConfigCmdLineOptions *cli, GError **error); +void nm_config_reload (NMConfig *config, int signal); + +gint nm_config_parse_boolean (const char *str, gint default_value); + +GKeyFile *nm_config_create_keyfile (void); +gint nm_config_keyfile_get_boolean (GKeyFile *keyfile, + const char *section, + const char *key, + gint default_value); +char *nm_config_keyfile_get_value (GKeyFile *keyfile, + const char *section, + const char *key, + NMConfigGetValueFlags flags); +void nm_config_keyfile_set_string_list (GKeyFile *keyfile, + const char *group, + const char *key, + const char *const* strv, + gssize len); +GSList *nm_config_get_device_match_spec (const GKeyFile *keyfile, const char *group, const char *key, gboolean *out_has_key); G_END_DECLS |