summaryrefslogtreecommitdiff
path: root/libnm-util/nm-setting.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2011-02-22 23:36:43 -0600
committerDan Williams <dcbw@redhat.com>2011-02-22 23:36:43 -0600
commit54918e32e49c26c3f6289a1743e6eb2b02eb215e (patch)
tree5c8575594ac5908fd483e7b3628afb5bae4c2b6c /libnm-util/nm-setting.h
parent5444a3569352312118e3ad0b37f61afc5842b190 (diff)
downloadNetworkManager-54918e32e49c26c3f6289a1743e6eb2b02eb215e.tar.gz
libnm-util: add nm_connection_diff()
Returns a list of keys that differ between the settings in each connection. nm_connection_compare() can't do that.
Diffstat (limited to 'libnm-util/nm-setting.h')
-rw-r--r--libnm-util/nm-setting.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/libnm-util/nm-setting.h b/libnm-util/nm-setting.h
index 067db14cbc..ef3011adbd 100644
--- a/libnm-util/nm-setting.h
+++ b/libnm-util/nm-setting.h
@@ -218,6 +218,26 @@ gboolean nm_setting_compare (NMSetting *a,
NMSetting *b,
NMSettingCompareFlags flags);
+/**
+ * NMSettingDiffResult:
+ * @NM_SETTING_DIFF_RESULT_UNKNOWN: unknown result
+ * @NM_SETTING_DIFF_RESULT_IN_A: the property is present in setting A
+ * @NM_SETTING_DIFF_RESULT_IN_B: the property is present in setting B
+ *
+ * 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,
+} NMSettingDiffResult;
+
+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);