device: merge branch 'th/device-bring-up-bgo771284'
https://bugzilla.gnome.org/show_bug.cgi?id=771284
This commit is contained in:
@@ -267,20 +267,6 @@ get_generic_capabilities (NMDevice *dev)
|
|||||||
return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE;
|
return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
bring_up (NMDevice *dev, gboolean *no_firmware)
|
|
||||||
{
|
|
||||||
gboolean success = FALSE;
|
|
||||||
guint i = 20;
|
|
||||||
|
|
||||||
while (i-- > 0 && !success) {
|
|
||||||
success = NM_DEVICE_CLASS (nm_device_macvlan_parent_class)->bring_up (dev, no_firmware);
|
|
||||||
g_usleep (50);
|
|
||||||
}
|
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -616,7 +602,6 @@ nm_device_macvlan_class_init (NMDeviceMacvlanClass *klass)
|
|||||||
object_class->set_property = set_property;
|
object_class->set_property = set_property;
|
||||||
|
|
||||||
device_class->act_stage1_prepare = act_stage1_prepare;
|
device_class->act_stage1_prepare = act_stage1_prepare;
|
||||||
device_class->bring_up = bring_up;
|
|
||||||
device_class->check_connection_compatible = check_connection_compatible;
|
device_class->check_connection_compatible = check_connection_compatible;
|
||||||
device_class->complete_connection = complete_connection;
|
device_class->complete_connection = complete_connection;
|
||||||
device_class->connection_type = NM_SETTING_MACVLAN_SETTING_NAME;
|
device_class->connection_type = NM_SETTING_MACVLAN_SETTING_NAME;
|
||||||
|
@@ -282,20 +282,6 @@ get_generic_capabilities (NMDevice *dev)
|
|||||||
return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE;
|
return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
bring_up (NMDevice *dev, gboolean *no_firmware)
|
|
||||||
{
|
|
||||||
gboolean success = FALSE;
|
|
||||||
guint i = 20;
|
|
||||||
|
|
||||||
while (i-- > 0 && !success) {
|
|
||||||
success = NM_DEVICE_CLASS (nm_device_vlan_parent_class)->bring_up (dev, no_firmware);
|
|
||||||
g_usleep (50);
|
|
||||||
}
|
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -673,7 +659,6 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
|
|||||||
parent_class->realize_start_notify = realize_start_notify;
|
parent_class->realize_start_notify = realize_start_notify;
|
||||||
parent_class->unrealize_notify = unrealize_notify;
|
parent_class->unrealize_notify = unrealize_notify;
|
||||||
parent_class->get_generic_capabilities = get_generic_capabilities;
|
parent_class->get_generic_capabilities = get_generic_capabilities;
|
||||||
parent_class->bring_up = bring_up;
|
|
||||||
parent_class->act_stage1_prepare = act_stage1_prepare;
|
parent_class->act_stage1_prepare = act_stage1_prepare;
|
||||||
parent_class->ip4_config_pre_commit = ip4_config_pre_commit;
|
parent_class->ip4_config_pre_commit = ip4_config_pre_commit;
|
||||||
parent_class->is_available = is_available;
|
parent_class->is_available = is_available;
|
||||||
|
@@ -9093,19 +9093,11 @@ carrier_wait_timeout (gpointer user_data)
|
|||||||
static gboolean
|
static gboolean
|
||||||
nm_device_is_up (NMDevice *self)
|
nm_device_is_up (NMDevice *self)
|
||||||
{
|
{
|
||||||
|
int ifindex;
|
||||||
|
|
||||||
g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
|
g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
|
||||||
|
|
||||||
if (NM_DEVICE_GET_CLASS (self)->is_up)
|
ifindex = nm_device_get_ip_ifindex (self);
|
||||||
return NM_DEVICE_GET_CLASS (self)->is_up (self);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
is_up (NMDevice *self)
|
|
||||||
{
|
|
||||||
int ifindex = nm_device_get_ip_ifindex (self);
|
|
||||||
|
|
||||||
return ifindex > 0 ? nm_platform_link_is_up (NM_PLATFORM_GET, ifindex) : TRUE;
|
return ifindex > 0 ? nm_platform_link_is_up (NM_PLATFORM_GET, ifindex) : TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9115,13 +9107,23 @@ nm_device_bring_up (NMDevice *self, gboolean block, gboolean *no_firmware)
|
|||||||
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
|
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
|
||||||
gboolean device_is_up = FALSE;
|
gboolean device_is_up = FALSE;
|
||||||
NMDeviceCapabilities capabilities;
|
NMDeviceCapabilities capabilities;
|
||||||
|
int ifindex;
|
||||||
|
|
||||||
g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
|
g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
|
||||||
|
|
||||||
_LOGD (LOGD_HW, "bringing up device");
|
NM_SET_OUT (no_firmware, FALSE);
|
||||||
|
|
||||||
if (NM_DEVICE_GET_CLASS (self)->bring_up) {
|
if (!nm_device_get_enabled (self)) {
|
||||||
if (!NM_DEVICE_GET_CLASS (self)->bring_up (self, no_firmware))
|
_LOGD (LOGD_HW, "bringing up device ignored due to disabled");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ifindex = nm_device_get_ip_ifindex (self);
|
||||||
|
_LOGD (LOGD_HW, "bringing up device %d", ifindex);
|
||||||
|
if (ifindex <= 0) {
|
||||||
|
/* assume success. */
|
||||||
|
} else {
|
||||||
|
if (!nm_platform_link_set_up (NM_PLATFORM_GET, ifindex, no_firmware))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9131,7 +9133,6 @@ nm_device_bring_up (NMDevice *self, gboolean block, gboolean *no_firmware)
|
|||||||
|
|
||||||
device_is_up = nm_device_is_up (self);
|
device_is_up = nm_device_is_up (self);
|
||||||
if (block && !device_is_up) {
|
if (block && !device_is_up) {
|
||||||
int ifindex = nm_device_get_ip_ifindex (self);
|
|
||||||
gint64 wait_until = nm_utils_get_monotonic_timestamp_us () + 10000 /* microseconds */;
|
gint64 wait_until = nm_utils_get_monotonic_timestamp_us () + 10000 /* microseconds */;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@@ -9186,40 +9187,26 @@ nm_device_bring_up (NMDevice *self, gboolean block, gboolean *no_firmware)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
bring_up (NMDevice *self, gboolean *no_firmware)
|
|
||||||
{
|
|
||||||
int ifindex = nm_device_get_ip_ifindex (self);
|
|
||||||
gboolean result;
|
|
||||||
|
|
||||||
if (ifindex <= 0) {
|
|
||||||
if (no_firmware)
|
|
||||||
*no_firmware = FALSE;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = nm_platform_link_set_up (NM_PLATFORM_GET, ifindex, no_firmware);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
nm_device_take_down (NMDevice *self, gboolean block)
|
nm_device_take_down (NMDevice *self, gboolean block)
|
||||||
{
|
{
|
||||||
|
int ifindex;
|
||||||
gboolean device_is_up;
|
gboolean device_is_up;
|
||||||
|
|
||||||
g_return_if_fail (NM_IS_DEVICE (self));
|
g_return_if_fail (NM_IS_DEVICE (self));
|
||||||
|
|
||||||
_LOGD (LOGD_HW, "taking down device");
|
ifindex = nm_device_get_ip_ifindex (self);
|
||||||
|
_LOGD (LOGD_HW, "taking down device %d", ifindex);
|
||||||
if (NM_DEVICE_GET_CLASS (self)->take_down) {
|
if (ifindex <= 0) {
|
||||||
if (!NM_DEVICE_GET_CLASS (self)->take_down (self))
|
/* devices without ifindex are always up. */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!nm_platform_link_set_down (NM_PLATFORM_GET, ifindex))
|
||||||
|
return;
|
||||||
|
|
||||||
device_is_up = nm_device_is_up (self);
|
device_is_up = nm_device_is_up (self);
|
||||||
if (block && device_is_up) {
|
if (block && device_is_up) {
|
||||||
int ifindex = nm_device_get_ip_ifindex (self);
|
|
||||||
gint64 wait_until = nm_utils_get_monotonic_timestamp_us () + 10000 /* microseconds */;
|
gint64 wait_until = nm_utils_get_monotonic_timestamp_us () + 10000 /* microseconds */;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@@ -9238,19 +9225,6 @@ nm_device_take_down (NMDevice *self, gboolean block)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
take_down (NMDevice *self)
|
|
||||||
{
|
|
||||||
int ifindex = nm_device_get_ip_ifindex (self);
|
|
||||||
|
|
||||||
if (ifindex > 0)
|
|
||||||
return nm_platform_link_set_down (NM_PLATFORM_GET, ifindex);
|
|
||||||
|
|
||||||
/* devices without ifindex are always up. */
|
|
||||||
_LOGD (LOGD_HW, "cannot take down device without ifindex");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
nm_device_set_firmware_missing (NMDevice *self, gboolean new_missing)
|
nm_device_set_firmware_missing (NMDevice *self, gboolean new_missing)
|
||||||
{
|
{
|
||||||
@@ -12684,9 +12658,6 @@ nm_device_class_init (NMDeviceClass *klass)
|
|||||||
klass->can_unmanaged_external_down = can_unmanaged_external_down;
|
klass->can_unmanaged_external_down = can_unmanaged_external_down;
|
||||||
klass->realize_start_notify = realize_start_notify;
|
klass->realize_start_notify = realize_start_notify;
|
||||||
klass->unrealize_notify = unrealize_notify;
|
klass->unrealize_notify = unrealize_notify;
|
||||||
klass->is_up = is_up;
|
|
||||||
klass->bring_up = bring_up;
|
|
||||||
klass->take_down = take_down;
|
|
||||||
klass->carrier_changed = carrier_changed;
|
klass->carrier_changed = carrier_changed;
|
||||||
klass->get_ip_iface_identifier = get_ip_iface_identifier;
|
klass->get_ip_iface_identifier = get_ip_iface_identifier;
|
||||||
klass->unmanaged_on_quit = unmanaged_on_quit;
|
klass->unmanaged_on_quit = unmanaged_on_quit;
|
||||||
@@ -12921,7 +12892,7 @@ nm_device_class_init (NMDeviceClass *klass)
|
|||||||
G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT);
|
G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT);
|
||||||
|
|
||||||
signals[AUTOCONNECT_ALLOWED] =
|
signals[AUTOCONNECT_ALLOWED] =
|
||||||
g_signal_new ("autoconnect-allowed",
|
g_signal_new (NM_DEVICE_AUTOCONNECT_ALLOWED,
|
||||||
G_OBJECT_CLASS_TYPE (object_class),
|
G_OBJECT_CLASS_TYPE (object_class),
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
0,
|
0,
|
||||||
|
@@ -87,6 +87,7 @@
|
|||||||
#define NM_DEVICE_RECHECK_ASSUME "recheck-assume"
|
#define NM_DEVICE_RECHECK_ASSUME "recheck-assume"
|
||||||
#define NM_DEVICE_STATE_CHANGED "state-changed"
|
#define NM_DEVICE_STATE_CHANGED "state-changed"
|
||||||
#define NM_DEVICE_LINK_INITIALIZED "link-initialized"
|
#define NM_DEVICE_LINK_INITIALIZED "link-initialized"
|
||||||
|
#define NM_DEVICE_AUTOCONNECT_ALLOWED "autoconnect-allowed"
|
||||||
|
|
||||||
#define NM_DEVICE_STATISTICS_REFRESH_RATE_MS "refresh-rate-ms"
|
#define NM_DEVICE_STATISTICS_REFRESH_RATE_MS "refresh-rate-ms"
|
||||||
#define NM_DEVICE_STATISTICS_TX_BYTES "tx-bytes"
|
#define NM_DEVICE_STATISTICS_TX_BYTES "tx-bytes"
|
||||||
@@ -204,9 +205,6 @@ typedef struct {
|
|||||||
|
|
||||||
/* Hardware state (IFF_UP) */
|
/* Hardware state (IFF_UP) */
|
||||||
gboolean (*can_unmanaged_external_down) (NMDevice *self);
|
gboolean (*can_unmanaged_external_down) (NMDevice *self);
|
||||||
gboolean (*is_up) (NMDevice *self);
|
|
||||||
gboolean (*bring_up) (NMDevice *self, gboolean *no_firmware);
|
|
||||||
gboolean (*take_down) (NMDevice *self);
|
|
||||||
|
|
||||||
/* Carrier state (IFF_LOWER_UP) */
|
/* Carrier state (IFF_LOWER_UP) */
|
||||||
void (*carrier_changed) (NMDevice *, gboolean carrier);
|
void (*carrier_changed) (NMDevice *, gboolean carrier);
|
||||||
|
@@ -178,7 +178,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
|
|||||||
|
|
||||||
|
|
||||||
/* wait with continuing configuration untill the companion device is done scanning */
|
/* wait with continuing configuration untill the companion device is done scanning */
|
||||||
g_object_get (priv->companion, "scanning", &scanning, NULL);
|
g_object_get (priv->companion, NM_DEVICE_WIFI_SCANNING, &scanning, NULL);
|
||||||
if (scanning) {
|
if (scanning) {
|
||||||
priv->stage1_waiting = TRUE;
|
priv->stage1_waiting = TRUE;
|
||||||
return NM_ACT_STAGE_RETURN_POSTPONE;
|
return NM_ACT_STAGE_RETURN_POSTPONE;
|
||||||
@@ -267,7 +267,7 @@ companion_notify_cb (NMDeviceWifi *companion, GParamSpec *pspec, gpointer user_d
|
|||||||
if (!priv->stage1_waiting)
|
if (!priv->stage1_waiting)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_object_get (companion, "scanning", &scanning, NULL);
|
g_object_get (companion, NM_DEVICE_WIFI_SCANNING, &scanning, NULL);
|
||||||
|
|
||||||
if (!scanning) {
|
if (!scanning) {
|
||||||
priv->stage1_waiting = FALSE;
|
priv->stage1_waiting = FALSE;
|
||||||
@@ -343,13 +343,13 @@ check_companion (NMDeviceOlpcMesh *self, NMDevice *other)
|
|||||||
g_signal_connect (G_OBJECT (other), NM_DEVICE_STATE_CHANGED,
|
g_signal_connect (G_OBJECT (other), NM_DEVICE_STATE_CHANGED,
|
||||||
G_CALLBACK (companion_state_changed_cb), self);
|
G_CALLBACK (companion_state_changed_cb), self);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (other), "notify::scanning",
|
g_signal_connect (G_OBJECT (other), "notify::" NM_DEVICE_WIFI_SCANNING,
|
||||||
G_CALLBACK (companion_notify_cb), self);
|
G_CALLBACK (companion_notify_cb), self);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (other), "scanning-allowed",
|
g_signal_connect (G_OBJECT (other), NM_DEVICE_WIFI_SCANNING_ALLOWED,
|
||||||
G_CALLBACK (companion_scan_allowed_cb), self);
|
G_CALLBACK (companion_scan_allowed_cb), self);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (other), "autoconnect-allowed",
|
g_signal_connect (G_OBJECT (other), NM_DEVICE_AUTOCONNECT_ALLOWED,
|
||||||
G_CALLBACK (companion_autoconnect_allowed_cb), self);
|
G_CALLBACK (companion_autoconnect_allowed_cb), self);
|
||||||
|
|
||||||
g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
|
g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
|
||||||
|
@@ -452,15 +452,6 @@ periodic_update_cb (gpointer user_data)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
bring_up (NMDevice *device, gboolean *no_firmware)
|
|
||||||
{
|
|
||||||
if (!NM_DEVICE_WIFI_GET_PRIVATE ((NMDeviceWifi *) device)->enabled)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
return NM_DEVICE_CLASS (nm_device_wifi_parent_class)->bring_up (device, no_firmware);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ap_add_remove (NMDeviceWifi *self,
|
ap_add_remove (NMDeviceWifi *self,
|
||||||
guint signum,
|
guint signum,
|
||||||
@@ -2945,6 +2936,12 @@ device_state_changed (NMDevice *device,
|
|||||||
remove_all_aps (self);
|
remove_all_aps (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
get_enabled (NMDevice *device)
|
||||||
|
{
|
||||||
|
return NM_DEVICE_WIFI_GET_PRIVATE ((NMDeviceWifi *) device)->enabled;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_enabled (NMDevice *device, gboolean enabled)
|
set_enabled (NMDevice *device, gboolean enabled)
|
||||||
{
|
{
|
||||||
@@ -3132,12 +3129,12 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
|
|||||||
object_class->dispose = dispose;
|
object_class->dispose = dispose;
|
||||||
object_class->finalize = finalize;
|
object_class->finalize = finalize;
|
||||||
|
|
||||||
parent_class->bring_up = bring_up;
|
|
||||||
parent_class->can_auto_connect = can_auto_connect;
|
parent_class->can_auto_connect = can_auto_connect;
|
||||||
parent_class->is_available = is_available;
|
parent_class->is_available = is_available;
|
||||||
parent_class->check_connection_compatible = check_connection_compatible;
|
parent_class->check_connection_compatible = check_connection_compatible;
|
||||||
parent_class->check_connection_available = check_connection_available;
|
parent_class->check_connection_available = check_connection_available;
|
||||||
parent_class->complete_connection = complete_connection;
|
parent_class->complete_connection = complete_connection;
|
||||||
|
parent_class->get_enabled = get_enabled;
|
||||||
parent_class->set_enabled = set_enabled;
|
parent_class->set_enabled = set_enabled;
|
||||||
|
|
||||||
parent_class->act_stage1_prepare = act_stage1_prepare;
|
parent_class->act_stage1_prepare = act_stage1_prepare;
|
||||||
@@ -3199,7 +3196,7 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
|
|||||||
|
|
||||||
/* Signals */
|
/* Signals */
|
||||||
signals[ACCESS_POINT_ADDED] =
|
signals[ACCESS_POINT_ADDED] =
|
||||||
g_signal_new ("access-point-added",
|
g_signal_new (NM_DEVICE_WIFI_ACCESS_POINT_ADDED,
|
||||||
G_OBJECT_CLASS_TYPE (object_class),
|
G_OBJECT_CLASS_TYPE (object_class),
|
||||||
G_SIGNAL_RUN_FIRST,
|
G_SIGNAL_RUN_FIRST,
|
||||||
0,
|
0,
|
||||||
@@ -3208,7 +3205,7 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
|
|||||||
NM_TYPE_AP);
|
NM_TYPE_AP);
|
||||||
|
|
||||||
signals[ACCESS_POINT_REMOVED] =
|
signals[ACCESS_POINT_REMOVED] =
|
||||||
g_signal_new ("access-point-removed",
|
g_signal_new (NM_DEVICE_WIFI_ACCESS_POINT_REMOVED,
|
||||||
G_OBJECT_CLASS_TYPE (object_class),
|
G_OBJECT_CLASS_TYPE (object_class),
|
||||||
G_SIGNAL_RUN_FIRST,
|
G_SIGNAL_RUN_FIRST,
|
||||||
0,
|
0,
|
||||||
@@ -3217,7 +3214,7 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
|
|||||||
NM_TYPE_AP);
|
NM_TYPE_AP);
|
||||||
|
|
||||||
signals[SCANNING_ALLOWED] =
|
signals[SCANNING_ALLOWED] =
|
||||||
g_signal_new ("scanning-allowed",
|
g_signal_new (NM_DEVICE_WIFI_SCANNING_ALLOWED,
|
||||||
G_OBJECT_CLASS_TYPE (object_class),
|
G_OBJECT_CLASS_TYPE (object_class),
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
G_STRUCT_OFFSET (NMDeviceWifiClass, scanning_allowed),
|
G_STRUCT_OFFSET (NMDeviceWifiClass, scanning_allowed),
|
||||||
|
@@ -39,6 +39,13 @@
|
|||||||
#define NM_DEVICE_WIFI_CAPABILITIES "wireless-capabilities"
|
#define NM_DEVICE_WIFI_CAPABILITIES "wireless-capabilities"
|
||||||
#define NM_DEVICE_WIFI_SCANNING "scanning"
|
#define NM_DEVICE_WIFI_SCANNING "scanning"
|
||||||
|
|
||||||
|
/* signals */
|
||||||
|
#define NM_DEVICE_WIFI_ACCESS_POINT_ADDED "access-point-added"
|
||||||
|
#define NM_DEVICE_WIFI_ACCESS_POINT_REMOVED "access-point-removed"
|
||||||
|
|
||||||
|
/* internal signals */
|
||||||
|
#define NM_DEVICE_WIFI_SCANNING_ALLOWED "scanning-allowed"
|
||||||
|
|
||||||
typedef struct _NMDeviceWifi NMDeviceWifi;
|
typedef struct _NMDeviceWifi NMDeviceWifi;
|
||||||
typedef struct _NMDeviceWifiClass NMDeviceWifiClass;
|
typedef struct _NMDeviceWifiClass NMDeviceWifiClass;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user