summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2016-09-09 15:17:28 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2016-09-26 15:10:39 +0200
commit1a6e3e0a57d682609d7148786ea3384552f04a84 (patch)
treea43f316b71fbc5e40d9bbaebcdfd8108d74d4e63
parent5b8c092d6be5251695fb59ff0821ab0161438966 (diff)
downloadNetworkManager-1a6e3e0a57d682609d7148786ea3384552f04a84.tar.gz
manager: add nm_manager_get_device_paths()
-rw-r--r--src/nm-manager.c22
-rw-r--r--src/nm-manager.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c
index dfbe10c049..8967031ea2 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -2288,6 +2288,28 @@ nm_manager_get_devices (NMManager *manager)
return NM_MANAGER_GET_PRIVATE (manager)->devices;
}
+const char **
+nm_manager_get_device_paths (NMManager *self)
+{
+ const GSList *devices, *iter;
+ GPtrArray *paths;
+ const char *path;
+
+ g_return_val_if_fail (NM_IS_MANAGER (self), NULL);
+ devices = NM_MANAGER_GET_PRIVATE (self)->devices;
+ paths = g_ptr_array_new ();
+
+ for (iter = devices; iter; iter = g_slist_next (iter)) {
+ path = nm_exported_object_get_path (NM_EXPORTED_OBJECT (iter->data));
+ if (path)
+ g_ptr_array_add (paths, (gpointer) path);
+ }
+
+ g_ptr_array_add (paths, NULL);
+
+ return (const char **) g_ptr_array_free (paths, FALSE);
+}
+
static NMDevice *
nm_manager_get_connection_device (NMManager *self,
NMConnection *connection)
diff --git a/src/nm-manager.h b/src/nm-manager.h
index fb97951ce3..9e0b4e3e79 100644
--- a/src/nm-manager.h
+++ b/src/nm-manager.h
@@ -91,6 +91,7 @@ void nm_manager_write_device_state (NMManager *manager);
/* Device handling */
const GSList * nm_manager_get_devices (NMManager *manager);
+const char ** nm_manager_get_device_paths (NMManager *self);
NMDevice * nm_manager_get_device_by_ifindex (NMManager *manager,
int ifindex);