about summary refs log tree commit diff
path: root/libnm-core/nm-dbus-interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-core/nm-dbus-interface.h')
-rw-r--r--libnm-core/nm-dbus-interface.h48
1 files changed, 45 insertions, 3 deletions
diff --git a/libnm-core/nm-dbus-interface.h b/libnm-core/nm-dbus-interface.h
index 33e4850c..6c1e97fe 100644
--- a/libnm-core/nm-dbus-interface.h
+++ b/libnm-core/nm-dbus-interface.h
@@ -76,6 +76,7 @@
 #define NM_DBUS_INTERFACE_DEVICE_GRE           NM_DBUS_INTERFACE_DEVICE ".Gre"
 #define NM_DBUS_INTERFACE_DEVICE_IP_TUNNEL     NM_DBUS_INTERFACE_DEVICE ".IPTunnel"
 #define NM_DBUS_INTERFACE_DEVICE_STATISTICS    NM_DBUS_INTERFACE_DEVICE ".Statistics"
+#define NM_DBUS_INTERFACE_CHECKPOINT           NM_DBUS_INTERFACE ".Checkpoint"
 
 #define NM_DBUS_INTERFACE_SETTINGS        "org.freedesktop.NetworkManager.Settings"
 #define NM_DBUS_PATH_SETTINGS             "/org/freedesktop/NetworkManager/Settings"
@@ -841,16 +842,29 @@ typedef enum {
  *   delete any new connection added after the checkpoint (Since: 1.6)
  * @NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES: upon rollback,
  *   disconnect any new device appeared after the checkpoint (Since: 1.6)
+ * @NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING: by default, creating
+ *   a checkpoint fails if there are already existing checkoints that
+ *   reference the same devices. With this flag, creation of such
+ *   checkpoints is allowed, however, if an older checkpoint
+ *   that references overlapping devices gets rolled back, it will
+ *   automatically destroy this checkpoint during rollback. This
+ *   allows to create several overlapping checkpoints in parallel,
+ *   and rollback to them at will. With the special case that
+ *   rolling back to an older checkpoint will invalidate all
+ *   overlapping younger checkpoints. This opts-in that the
+ *   checkpoint can be automatically destroyed by the rollback
+ *   of an older checkpoint. (Since: 1.12)
  *
  * The flags for CheckpointCreate call
  *
- * Since: 1.4
+ * Since: 1.4 (gi flags generated since 1.12)
  */
-typedef enum { /*< skip >*/
+typedef enum { /*< flags >*/
 	NM_CHECKPOINT_CREATE_FLAG_NONE                        = 0,
 	NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL                 = 0x01,
 	NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS      = 0x02,
 	NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES      = 0x04,
+	NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING           = 0x08,
 } NMCheckpointCreateFlags;
 
 /**
@@ -872,6 +886,34 @@ typedef enum { /*< skip >*/
 } NMRollbackResult;
 
 /**
+ * NMSettingsConnectionFlags:
+ * @NM_SETTINGS_CONNECTION_FLAG_NONE: an alias for numeric zero, no flags set.
+ * @NM_SETTINGS_CONNECTION_FLAG_UNSAVED: the connection is not saved to disk.
+ *   That either means, that the connection is in-memory only and currently
+ *   is not backed by a file. Or, that the connection is backed by a file,
+ *   but has modifications in-memory that were not persisted to disk.
+ * @NM_SETTINGS_CONNECTION_FLAG_NM_GENERATED: A connection is "nm-generated" if
+ *  it was generated by NetworkManger. If the connection gets modified or saved
+ *  by the user, the flag gets cleared. A nm-generated is also unsaved
+ *  and has no backing file as it is in-memory only.
+ * @NM_SETTINGS_CONNECTION_FLAG_VOLATILE: The connection will be deleted
+ *  when it disconnects. That is for in-memory connections (unsaved), which are
+ *  currently active but deleted on disconnect. Volatile connections are
+ *  always unsaved, but they are also no backing file on disk and are entirely
+ *  in-memory only.
+ *
+ * Flags describing the current activation state.
+ *
+ * Since: 1.12
+ **/
+typedef enum { /*< flags >*/
+	NM_SETTINGS_CONNECTION_FLAG_NONE                       = 0,
+	NM_SETTINGS_CONNECTION_FLAG_UNSAVED                    = 0x01,
+	NM_SETTINGS_CONNECTION_FLAG_NM_GENERATED               = 0x02,
+	NM_SETTINGS_CONNECTION_FLAG_VOLATILE                   = 0x04,
+} NMSettingsConnectionFlags;
+
+/**
  * NMActivationStateFlags:
  * @NM_ACTIVATION_STATE_FLAG_NONE: an alias for numeric zero, no flags set.
  * @NM_ACTIVATION_STATE_FLAG_IS_MASTER: the device is a master.
@@ -929,7 +971,7 @@ typedef enum { /*< flags >*/
  *   right away. Setting this flag, disables autoconnect until the connection
  *   is manually activated.
  *
- * Since: 1.10.2
+ * Since: 1.12
  */
 typedef enum { /*< flags >*/
 	NM_SETTINGS_UPDATE2_FLAG_NONE                       = 0,