summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@redhat.com>2014-12-17 15:02:56 -0500
committerDan Winship <danw@redhat.com>2015-01-12 09:53:23 -0500
commit5a229741cc1e5c19341628445af80915155cd18e (patch)
tree9923a8717d4578ea7e238da65f301d16f03979b9
parentbd2deace7081dc1327e7bb6ab416d49da4ae79ce (diff)
downloadNetworkManager-5a229741cc1e5c19341628445af80915155cd18e.tar.gz
settings: make nm_settings_connection_replace_and_commit() virtual
-rw-r--r--src/settings/nm-settings-connection.c26
-rw-r--r--src/settings/nm-settings-connection.h5
2 files changed, 23 insertions, 8 deletions
diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c
index 0d2ce83c09..321cb12bf4 100644
--- a/src/settings/nm-settings-connection.c
+++ b/src/settings/nm-settings-connection.c
@@ -527,17 +527,14 @@ ignore_cb (NMSettingsConnection *connection,
* subsystems watching this connection. Before returning, 'callback' is run
* with the given 'user_data' along with any errors encountered.
*/
-void
-nm_settings_connection_replace_and_commit (NMSettingsConnection *self,
- NMConnection *new_connection,
- NMSettingsConnectionCommitFunc callback,
- gpointer user_data)
+static void
+replace_and_commit (NMSettingsConnection *self,
+ NMConnection *new_connection,
+ NMSettingsConnectionCommitFunc callback,
+ gpointer user_data)
{
GError *error = NULL;
- g_return_if_fail (NM_IS_SETTINGS_CONNECTION (self));
- g_return_if_fail (NM_IS_CONNECTION (new_connection));
-
if (nm_settings_connection_replace_settings (self, new_connection, TRUE, &error)) {
nm_settings_connection_commit_changes (self, callback, user_data);
} else {
@@ -547,6 +544,18 @@ nm_settings_connection_replace_and_commit (NMSettingsConnection *self,
}
}
+void
+nm_settings_connection_replace_and_commit (NMSettingsConnection *self,
+ NMConnection *new_connection,
+ NMSettingsConnectionCommitFunc callback,
+ gpointer user_data)
+{
+ g_return_if_fail (NM_IS_SETTINGS_CONNECTION (self));
+ g_return_if_fail (NM_IS_CONNECTION (new_connection));
+
+ NM_SETTINGS_CONNECTION_GET_CLASS (self)->replace_and_commit (self, new_connection, callback, user_data);
+}
+
static void
commit_changes (NMSettingsConnection *self,
NMSettingsConnectionCommitFunc callback,
@@ -2362,6 +2371,7 @@ nm_settings_connection_class_init (NMSettingsConnectionClass *class)
object_class->get_property = get_property;
object_class->set_property = set_property;
+ class->replace_and_commit = replace_and_commit;
class->commit_changes = commit_changes;
class->delete = do_delete;
class->supports_secrets = supports_secrets;
diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h
index 46cd5dabde..b54fbbe7a8 100644
--- a/src/settings/nm-settings-connection.h
+++ b/src/settings/nm-settings-connection.h
@@ -103,6 +103,11 @@ struct _NMSettingsConnectionClass {
GObjectClass parent;
/* virtual methods */
+ void (*replace_and_commit) (NMSettingsConnection *connection,
+ NMConnection *new_connection,
+ NMSettingsConnectionCommitFunc callback,
+ gpointer user_data);
+
void (*commit_changes) (NMSettingsConnection *connection,
NMSettingsConnectionCommitFunc callback,
gpointer user_data);