summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2017-02-20 19:05:42 +0100
committerLubomir Rintel <lkundrak@v3.sk>2017-02-27 11:16:45 +0100
commit8fce72360e36cef4551936c64e079fd666f6fd96 (patch)
treebcd0ace285fbf02516e93e6357c48d53e8dc323a
parentb47340fd3f70c2636bb5dae56a5310b59b88cf7a (diff)
downloadNetworkManager-8fce72360e36cef4551936c64e079fd666f6fd96.tar.gz
tui/edit-connection-list: add routine to recommit connections in a list
This is useful when master connections are saved potentially influencing how slave connections are serialized.
-rw-r--r--clients/tui/nmt-edit-connection-list.c27
-rw-r--r--clients/tui/nmt-edit-connection-list.h2
2 files changed, 29 insertions, 0 deletions
diff --git a/clients/tui/nmt-edit-connection-list.c b/clients/tui/nmt-edit-connection-list.c
index a1a59e0149..e90140b3c0 100644
--- a/clients/tui/nmt-edit-connection-list.c
+++ b/clients/tui/nmt-edit-connection-list.c
@@ -319,6 +319,33 @@ listbox_activated (NmtNewtWidget *listbox, gpointer list)
edit_clicked (NMT_NEWT_BUTTON (priv->edit), list);
}
+
+static void
+connection_saved (GObject *conn,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ nm_remote_connection_save_finish (NM_REMOTE_CONNECTION (conn), result, NULL);
+}
+
+void
+nmt_edit_connection_list_recommit (NmtEditConnectionList *list)
+{
+ NmtEditConnectionListPrivate *priv = NMT_EDIT_CONNECTION_LIST_GET_PRIVATE (list);
+ NMConnection *conn;
+ GSList *iter;
+
+ for (iter = priv->connections; iter; iter = iter->next) {
+ conn = iter->data;
+
+ if ( NM_IS_REMOTE_CONNECTION (conn)
+ && (nm_remote_connection_get_unsaved (NM_REMOTE_CONNECTION (conn)) == FALSE)) {
+ nm_remote_connection_save_async (NM_REMOTE_CONNECTION (conn),
+ NULL, connection_saved, NULL);
+ }
+ }
+}
+
static void
nmt_edit_connection_list_finalize (GObject *object)
{
diff --git a/clients/tui/nmt-edit-connection-list.h b/clients/tui/nmt-edit-connection-list.h
index fd492bce73..241bbe3ab4 100644
--- a/clients/tui/nmt-edit-connection-list.h
+++ b/clients/tui/nmt-edit-connection-list.h
@@ -52,4 +52,6 @@ typedef gboolean (*NmtEditConnectionListFilter) (NmtEditConnectionList *list,
NMConnection *connection,
gpointer user_data);
+void nmt_edit_connection_list_recommit (NmtEditConnectionList *list);
+
#endif /* NMT_EDIT_CONNECTION_LIST_H */