about summary refs log tree commit diff
path: root/src/nm-config-data.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-config-data.h')
-rw-r--r--src/nm-config-data.h92
1 files changed, 68 insertions, 24 deletions
diff --git a/src/nm-config-data.h b/src/nm-config-data.h
index 2decfdb4..e01ad6ea 100644
--- a/src/nm-config-data.h
+++ b/src/nm-config-data.h
@@ -21,11 +21,6 @@
 #ifndef NM_CONFIG_DATA_H
 #define NM_CONFIG_DATA_H
 
-
-#include "nm-default.h"
-
-G_BEGIN_DECLS
-
 #define NM_TYPE_CONFIG_DATA            (nm_config_data_get_type ())
 #define NM_CONFIG_DATA(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_CONFIG_DATA, NMConfigData))
 #define NM_CONFIG_DATA_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_CONFIG_DATA, NMConfigDataClass))
@@ -44,7 +39,26 @@ G_BEGIN_DECLS
 #define NM_CONFIG_DATA_NO_AUTO_DEFAULT       "no-auto-default"
 #define NM_CONFIG_DATA_DNS_MODE              "dns"
 
-typedef enum { /*<flags >*/
+/* The flags for Reload. Currently these are internal defines,
+ * only their numeric value matters and must be stable as
+ * they are public API! Also, the enum must fit in uint32. */
+enum { /*< skip >*/
+	NM_MANAGER_RELOAD_FLAGS_NONE                            = 0,
+
+	/* reload the configuration from disk */
+	NM_MANAGER_RELOAD_FLAGS_CONF                            = (1LL << 0),
+
+	/* write DNS configuration to resolv.conf */
+	NM_MANAGER_RELOAD_FLAGS_DNS_RC                          = (1LL << 1),
+
+	/* restart the DNS plugin (includes DNS_RC) */
+	NM_MANAGER_RELOAD_FLAGS_DNS_FULL                        = (1LL << 2),
+
+	_NM_MANAGER_RELOAD_FLAGS_ALL,
+	NM_MANAGER_RELOAD_FLAGS_ALL = ((_NM_MANAGER_RELOAD_FLAGS_ALL - 1) << 1) - 1,
+};
+
+typedef enum { /*< flags >*/
 	NM_CONFIG_GET_VALUE_NONE                   = 0,
 
 	/* use g_key_file_get_value() instead of g_key_file_get_string(). */
@@ -64,22 +78,54 @@ typedef enum { /*<flags >*/
 typedef enum { /*< flags >*/
 	NM_CONFIG_CHANGE_NONE                      = 0,
 
-	NM_CONFIG_CHANGE_SIGHUP                    = (1L << 0),
-	NM_CONFIG_CHANGE_SIGUSR1                   = (1L << 1),
-	NM_CONFIG_CHANGE_SIGUSR2                   = (1L << 2),
-
-	NM_CONFIG_CHANGE_CONFIG_FILES              = (1L << 3),
-	NM_CONFIG_CHANGE_VALUES                    = (1L << 4),
-	NM_CONFIG_CHANGE_VALUES_USER               = (1L << 5),
-	NM_CONFIG_CHANGE_VALUES_INTERN             = (1L << 6),
-	NM_CONFIG_CHANGE_CONNECTIVITY              = (1L << 7),
-	NM_CONFIG_CHANGE_NO_AUTO_DEFAULT           = (1L << 8),
-	NM_CONFIG_CHANGE_DNS_MODE                  = (1L << 9),
-	NM_CONFIG_CHANGE_RC_MANAGER                = (1L << 10),
-	NM_CONFIG_CHANGE_GLOBAL_DNS_CONFIG         = (1L << 11),
-
-	_NM_CONFIG_CHANGE_LAST,
-	NM_CONFIG_CHANGE_ALL                       = ((_NM_CONFIG_CHANGE_LAST - 1) << 1) - 1,
+	/**************************************************************************
+	 * The external cause which triggered the reload/configuration-change
+	 *************************************************************************/
+
+	NM_CONFIG_CHANGE_CAUSE_SIGHUP              = (1L << 0),
+	NM_CONFIG_CHANGE_CAUSE_SIGUSR1             = (1L << 1),
+	NM_CONFIG_CHANGE_CAUSE_SIGUSR2             = (1L << 2),
+	NM_CONFIG_CHANGE_CAUSE_NO_AUTO_DEFAULT     = (1L << 3),
+	NM_CONFIG_CHANGE_CAUSE_SET_VALUES          = (1L << 4),
+	NM_CONFIG_CHANGE_CAUSE_CONF                = (1L << 5),
+	NM_CONFIG_CHANGE_CAUSE_DNS_RC              = (1L << 6),
+	NM_CONFIG_CHANGE_CAUSE_DNS_FULL            = (1L << 7),
+
+	NM_CONFIG_CHANGE_CAUSES                    = ((1L << 8) - 1),
+
+	/**************************************************************************
+	 * Following flags describe which property of the configuration changed:
+	 *************************************************************************/
+
+	/* main-file or config-description changed */
+	NM_CONFIG_CHANGE_CONFIG_FILES              = (1L << 10),
+
+
+	/* any configuration on disk changed */
+	NM_CONFIG_CHANGE_VALUES                    = (1L << 11),
+
+	/* any user configuration on disk changed (NetworkManager.conf) */
+	NM_CONFIG_CHANGE_VALUES_USER               = (1L << 12),
+
+	/* any internal configuration on disk changed (NetworkManager-intern.conf) */
+	NM_CONFIG_CHANGE_VALUES_INTERN             = (1L << 13),
+
+
+	/* configuration regarding connectivity changed */
+	NM_CONFIG_CHANGE_CONNECTIVITY              = (1L << 14),
+
+	/* configuration regarding no-auto-default changed */
+	NM_CONFIG_CHANGE_NO_AUTO_DEFAULT           = (1L << 15),
+
+	/* configuration regarding dns-mode changed */
+	NM_CONFIG_CHANGE_DNS_MODE                  = (1L << 16),
+
+	/* configuration regarding rc-manager changed */
+	NM_CONFIG_CHANGE_RC_MANAGER                = (1L << 17),
+
+	/* configuration regarding global dns-config changed */
+	NM_CONFIG_CHANGE_GLOBAL_DNS_CONFIG         = (1L << 18),
+
 } NMConfigChangeFlags;
 
 struct _NMConfigData {
@@ -164,7 +210,5 @@ GKeyFile *_nm_config_data_get_keyfile (const NMConfigData *self);
 GKeyFile *_nm_config_data_get_keyfile_user (const NMConfigData *self);
 GKeyFile *_nm_config_data_get_keyfile_intern (const NMConfigData *self);
 
-G_END_DECLS
-
 #endif /* NM_CONFIG_DATA_H */