mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-05 22:50:28 +01:00
core: pass connection provider to devices
This commit is contained in:
parent
4fe48b1273
commit
4980a6882b
4 changed files with 34 additions and 0 deletions
|
|
@ -67,4 +67,6 @@ gboolean nm_device_dhcp4_renew (NMDevice *device, gboolean release);
|
|||
|
||||
gboolean nm_device_match_ip_config (NMDevice *device, NMConnection *connection);
|
||||
|
||||
NMConnectionProvider *nm_device_get_connection_provider (NMDevice *device);
|
||||
|
||||
#endif /* NM_DEVICE_PRIVATE_H */
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
#include "nm-properties-changed-signal.h"
|
||||
#include "nm-enum-types.h"
|
||||
#include "nm-settings-connection.h"
|
||||
#include "nm-connection-provider.h"
|
||||
|
||||
static void impl_device_disconnect (NMDevice *device, DBusGMethodInvocation *context);
|
||||
|
||||
|
|
@ -226,6 +227,8 @@ typedef struct {
|
|||
|
||||
/* master interface for bridge, bond, vlan, etc */
|
||||
NMDevice * master;
|
||||
|
||||
NMConnectionProvider *con_provider;
|
||||
} NMDevicePrivate;
|
||||
|
||||
static void nm_device_take_down (NMDevice *dev, gboolean wait, NMDeviceStateReason reason);
|
||||
|
|
@ -585,6 +588,30 @@ nm_device_get_type_desc (NMDevice *self)
|
|||
return NM_DEVICE_GET_PRIVATE (self)->type_desc;
|
||||
}
|
||||
|
||||
void
|
||||
nm_device_set_connection_provider (NMDevice *device,
|
||||
NMConnectionProvider *provider)
|
||||
{
|
||||
NMDevicePrivate *priv;
|
||||
|
||||
g_return_if_fail (device != NULL);
|
||||
g_return_if_fail (provider != NULL);
|
||||
g_return_if_fail (NM_IS_CONNECTION_PROVIDER (provider));
|
||||
|
||||
priv = NM_DEVICE_GET_PRIVATE (device);
|
||||
g_return_if_fail (priv->con_provider == NULL);
|
||||
|
||||
priv->con_provider = provider;
|
||||
}
|
||||
|
||||
NMConnectionProvider *
|
||||
nm_device_get_connection_provider (NMDevice *device)
|
||||
{
|
||||
g_return_val_if_fail (device != NULL, NULL);
|
||||
|
||||
return NM_DEVICE_GET_PRIVATE (device)->con_provider;
|
||||
}
|
||||
|
||||
/**
|
||||
* nm_device_enslave_slave:
|
||||
* @dev: the master device
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "nm-dhcp6-config.h"
|
||||
#include "nm-connection.h"
|
||||
#include "nm-rfkill.h"
|
||||
#include "settings/nm-connection-provider.h"
|
||||
|
||||
/* Properties */
|
||||
#define NM_DEVICE_UDI "udi"
|
||||
|
|
@ -263,6 +264,8 @@ gboolean nm_device_activate (NMDevice *device, NMActRequest *req, GError **error
|
|||
|
||||
gboolean nm_device_disconnect (NMDevice *device, GError **error);
|
||||
|
||||
void nm_device_set_connection_provider (NMDevice *device, NMConnectionProvider *provider);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* NM_DEVICE_H */
|
||||
|
|
|
|||
|
|
@ -1678,6 +1678,8 @@ add_device (NMManager *self, NMDevice *device)
|
|||
return;
|
||||
}
|
||||
|
||||
nm_device_set_connection_provider (device, NM_CONNECTION_PROVIDER (priv->settings));
|
||||
|
||||
priv->devices = g_slist_append (priv->devices, device);
|
||||
|
||||
g_signal_connect (device, "state-changed",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue