summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-09-08 11:36:15 -0500
committerDan Williams <dcbw@redhat.com>2014-09-11 12:47:23 -0500
commit706b9d2056362b2ec7a84f1d952fcbf00f357b0f (patch)
treeb6063d5b80cce02bea880fe3b4086dddef0fb7e3
parent560fe126b58c1d01f0211fc8d1a4e9b8cb026a60 (diff)
core: pass parent to device factories when creating devices for connections
We'll use it later for InfiniBand and VLAN.
-rw-r--r--src/devices/nm-device-factory.c3
-rw-r--r--src/devices/nm-device-factory.h2
-rw-r--r--src/devices/team/nm-team-factory.c1
-rw-r--r--src/nm-manager.c6
4 files changed, 9 insertions, 3 deletions
diff --git a/src/devices/nm-device-factory.c b/src/devices/nm-device-factory.c
index 2e5f099204..dc229bd5c8 100644
--- a/src/devices/nm-device-factory.c
+++ b/src/devices/nm-device-factory.c
@@ -124,6 +124,7 @@ nm_device_factory_new_link (NMDeviceFactory *factory,
NMDevice *
nm_device_factory_create_virtual_device_for_connection (NMDeviceFactory *factory,
NMConnection *connection,
+ NMDevice *parent,
GError **error)
{
NMDeviceFactory *interface;
@@ -134,7 +135,7 @@ nm_device_factory_create_virtual_device_for_connection (NMDeviceFactory *factory
interface = NM_DEVICE_FACTORY_GET_INTERFACE (factory);
if (interface->create_virtual_device_for_connection)
- return interface->create_virtual_device_for_connection (factory, connection, error);
+ return interface->create_virtual_device_for_connection (factory, connection, parent, error);
return NULL;
}
diff --git a/src/devices/nm-device-factory.h b/src/devices/nm-device-factory.h
index e842bd7ec8..dd8a907961 100644
--- a/src/devices/nm-device-factory.h
+++ b/src/devices/nm-device-factory.h
@@ -118,6 +118,7 @@ struct _NMDeviceFactory {
*/
NMDevice * (*create_virtual_device_for_connection) (NMDeviceFactory *factory,
NMConnection *connection,
+ NMDevice *parent,
GError **error);
@@ -160,6 +161,7 @@ NMDevice * nm_device_factory_new_link (NMDeviceFactory *factory,
NMDevice * nm_device_factory_create_virtual_device_for_connection (NMDeviceFactory *factory,
NMConnection *connection,
+ NMDevice *parent,
GError **error);
/* For use by implementations */
diff --git a/src/devices/team/nm-team-factory.c b/src/devices/team/nm-team-factory.c
index 499c37795d..6743660015 100644
--- a/src/devices/team/nm-team-factory.c
+++ b/src/devices/team/nm-team-factory.c
@@ -56,6 +56,7 @@ new_link (NMDeviceFactory *factory, NMPlatformLink *plink, GError **error)
static NMDevice *
create_virtual_device_for_connection (NMDeviceFactory *factory,
NMConnection *connection,
+ NMDevice *parent,
GError **error)
{
if (nm_connection_is_type (connection, NM_SETTING_TEAM_SETTING_NAME))
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 12ffc5be15..6dd70eea93 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -1063,8 +1063,10 @@ system_create_virtual_device (NMManager *self, NMConnection *connection)
device = nm_device_infiniband_new_partition (connection, parent);
} else {
for (iter = priv->factories; iter; iter = iter->next) {
- device = nm_device_factory_create_virtual_device_for_connection (NM_DEVICE_FACTORY (iter->data), connection, &error);
-
+ device = nm_device_factory_create_virtual_device_for_connection (NM_DEVICE_FACTORY (iter->data),
+ connection,
+ parent,
+ &error);
if (device || error) {
if (device)
g_assert_no_error (error);