1
#include "nm-device-802-11-wireless.h"
2
#include "nm-device-private.h"
4
#include "nm-device-802-11-wireless-bindings.h"
6
G_DEFINE_TYPE (NMDevice80211Wireless, nm_device_802_11_wireless, NM_TYPE_DEVICE)
9
nm_device_802_11_wireless_init (NMDevice80211Wireless *device)
14
nm_device_802_11_wireless_class_init (NMDevice80211WirelessClass *device_class)
18
NMDevice80211Wireless *
19
nm_device_802_11_wireless_new (DBusGConnection *connection, const char *path)
21
g_return_val_if_fail (connection != NULL, NULL);
22
g_return_val_if_fail (path != NULL, NULL);
24
return (NMDevice80211Wireless *) g_object_new (NM_TYPE_DEVICE_802_11_WIRELESS,
25
"name", NM_DBUS_SERVICE,
27
"interface", NM_DBUS_INTERFACE_DEVICE_WIRELESS,
28
"connection", connection,
33
nm_device_802_11_wireless_get_address (NMDevice80211Wireless *device)
38
g_return_val_if_fail (NM_IS_DEVICE_802_11_WIRELESS (device), NULL);
40
if (nm_dbus_get_property (DBUS_G_PROXY (device),
41
NM_DBUS_INTERFACE_DEVICE_WIRELESS,
44
address = g_strdup (g_value_get_string (&value));
50
nm_device_802_11_wireless_get_mode (NMDevice80211Wireless *device)
55
g_return_val_if_fail (NM_IS_DEVICE_802_11_WIRELESS (device), 0);
57
if (nm_dbus_get_property (DBUS_G_PROXY (device),
58
NM_DBUS_INTERFACE_DEVICE_WIRELESS,
61
mode = g_value_get_int (&value);
67
nm_device_802_11_wireless_get_active_network (NMDevice80211Wireless *device)
70
NMAccessPoint *ap = NULL;
72
g_return_val_if_fail (NM_IS_DEVICE_802_11_WIRELESS (device), NULL);
74
if (nm_dbus_get_property (DBUS_G_PROXY (device),
75
NM_DBUS_INTERFACE_DEVICE_WIRELESS,
78
DBusGConnection *connection = NULL;
80
g_object_get (device, "connection", &connection, NULL);
81
ap = nm_access_point_new (connection, g_value_get_string (&value));
88
nm_device_802_11_wireless_get_networks (NMDevice80211Wireless *device)
91
GPtrArray *array = NULL;
94
g_return_val_if_fail (NM_IS_DEVICE_802_11_WIRELESS (device), NULL);
96
if (!org_freedesktop_NetworkManager_Device_Wireless_get_active_networks (DBUS_G_PROXY (device), &array, &err)) {
97
g_warning ("Error in get_networks: %s", err->message);
100
DBusGConnection *connection = NULL;
103
g_object_get (device, "connection", &connection, NULL);
104
for (i = 0; i < array->len; i++) {
105
NMAccessPoint *ap = nm_access_point_new (connection, g_ptr_array_index (array, i));
106
list = g_slist_prepend (list, ap);
109
list = g_slist_reverse (list);
110
g_ptr_array_free (array, TRUE);
117
nm_device_802_11_wireless_activate (NMDevice80211Wireless *device,
119
gboolean user_requested)
123
g_return_if_fail (NM_IS_DEVICE_802_11_WIRELESS (device));
124
g_return_if_fail (NM_IS_ACCESS_POINT (ap));
126
if (!org_freedesktop_NetworkManager_Device_Wireless_activate (DBUS_G_PROXY (device),
127
dbus_g_proxy_get_path (DBUS_G_PROXY (ap)),
130
g_warning ("Error in wireless_activate: %s", err->message);