summary refs log tree commit diff
path: root/src/nm-udev-manager.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2013-02-03 14:49:22 +0100
committerMichael Biebl <biebl@debian.org>2013-02-03 14:49:22 +0100
commit9c202e3e860b3be9e1f8882630b69affbb130102 (patch)
tree8202bf39f2129486971fa7d5ae0dee61a561aa53 /src/nm-udev-manager.c
parent36cb2f364a821e1be50b23e03a18891ec55adb06 (diff)
Imported Upstream version 0.9.7.995 upstream/0.9.7.995
Diffstat (limited to 'src/nm-udev-manager.c')
-rw-r--r--src/nm-udev-manager.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/nm-udev-manager.c b/src/nm-udev-manager.c
index 792e53bf..7e867406 100644
--- a/src/nm-udev-manager.c
+++ b/src/nm-udev-manager.c
@@ -401,6 +401,9 @@ dev_get_attrs (GUdevDevice *udev_device,
 		case NM_IFACE_TYPE_BOND:
 			driver = "bonding";
 			break;
+		case NM_IFACE_TYPE_BRIDGE:
+			driver = "bridge";
+			break;
 		case NM_IFACE_TYPE_VLAN:
 			driver = "8021q";
 			break;
@@ -515,25 +518,35 @@ void
 nm_udev_manager_query_devices (NMUdevManager *self)
 {
 	NMUdevManagerPrivate *priv = NM_UDEV_MANAGER_GET_PRIVATE (self);
+	GUdevEnumerator *enumerator;
 	GList *devices, *iter;
 
 	g_return_if_fail (self != NULL);
 	g_return_if_fail (NM_IS_UDEV_MANAGER (self));
 
-	devices = g_udev_client_query_by_subsystem (priv->client, "net");
+	enumerator = g_udev_enumerator_new (priv->client);
+	g_udev_enumerator_add_match_subsystem (enumerator, "net");
+	g_udev_enumerator_add_match_is_initialized (enumerator);
+
+	devices = g_udev_enumerator_execute (enumerator);
 	for (iter = devices; iter; iter = g_list_next (iter)) {
 		net_add (self, G_UDEV_DEVICE (iter->data));
 		g_object_unref (G_UDEV_DEVICE (iter->data));
 	}
 	g_list_free (devices);
+	g_object_unref (enumerator);
 
 
-	devices = g_udev_client_query_by_subsystem (priv->client, "atm");
+	enumerator = g_udev_enumerator_new (priv->client);
+	g_udev_enumerator_add_match_subsystem (enumerator, "atm");
+	g_udev_enumerator_add_match_is_initialized (enumerator);
+	devices = g_udev_enumerator_execute (enumerator);
 	for (iter = devices; iter; iter = g_list_next (iter)) {
 		adsl_add (self, G_UDEV_DEVICE (iter->data));
 		g_object_unref (G_UDEV_DEVICE (iter->data));
 	}
 	g_list_free (devices);
+	g_object_unref (enumerator);
 }
 
 static void