static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { NMDeviceWifi *self = NM_DEVICE_WIFI (object); switch (prop_id) { case PROP_HW_ADDRESS: g_value_set_string (value, nm_device_wifi_get_hw_address (self)); break; case PROP_PERM_HW_ADDRESS: g_value_set_string (value, nm_device_wifi_get_permanent_hw_address (self)); break; case PROP_MODE: g_value_set_uint (value, nm_device_wifi_get_mode (self)); break; case PROP_BITRATE: g_value_set_uint (value, nm_device_wifi_get_bitrate (self)); break; case PROP_ACTIVE_ACCESS_POINT: g_value_set_object (value, nm_device_wifi_get_active_access_point (self)); break; case PROP_WIRELESS_CAPABILITIES: g_value_set_uint (value, nm_device_wifi_get_capabilities (self)); break; case PROP_ACCESS_POINTS: g_value_take_boxed (value, _nm_utils_copy_object_array (nm_device_wifi_get_access_points (self))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void show_wifi_specific_info (NMDevice * dev) { NMDeviceWifi * device = NM_DEVICE_WIFI (dev); const char * hw_address; NM80211Mode mode; guint32 bitrate; guint32 capas; NMAccessPoint * active_ap; const GPtrArray * aps; gchar * capa_strs[6]; /* Currently six capabilities is defined */ gint capas_num, i; hw_address = nm_device_wifi_get_hw_address (device); mode = nm_device_wifi_get_mode (device); bitrate = nm_device_wifi_get_bitrate (device); capas = nm_device_wifi_get_capabilities (device); active_ap = nm_device_wifi_get_active_access_point (device); aps = nm_device_wifi_get_access_points (device); capas_num = 0; if (capas & NM_WIFI_DEVICE_CAP_CIPHER_WEP40) capa_strs[capas_num++] = "wep40"; if (capas & NM_WIFI_DEVICE_CAP_CIPHER_WEP104) capa_strs[capas_num++] = "wep104"; if (capas & NM_WIFI_DEVICE_CAP_CIPHER_TKIP) capa_strs[capas_num++] = "tkip"; if (capas & NM_WIFI_DEVICE_CAP_CIPHER_CCMP) capa_strs[capas_num++] = "ccmp"; if (capas & NM_WIFI_DEVICE_CAP_WPA) capa_strs[capas_num++] = "wpa"; if (capas & NM_WIFI_DEVICE_CAP_RSN) capa_strs[capas_num++] = "rsn"; g_print ("%-9s HWaddr:%s Mode:%s", "", hw_address, wifi_mode_to_string(mode)); if (bitrate > 0) g_print (" Bitrate:%.1fMb/s\n", bitrate/1000.0); else g_print ("\n"); g_print ("%-9s Capabilities:", ""); for (i = 0; i < capas_num; i++) { g_print ("%s", capa_strs[i]); if (i != capas_num - 1) g_print (" "); } if (capas_num == 0) { g_print ("none"); } g_print ("\n"); list_wifi_access_points (aps, active_ap, capas); }
static void dump_wireless (NMDeviceWifi *device) { const char *str; const GPtrArray *aps; int i; g_print ("Mode: %d\n", nm_device_wifi_get_mode (device)); g_print ("Bitrate: %d\n", nm_device_wifi_get_bitrate (device)); str = nm_device_wifi_get_hw_address (device); g_print ("MAC: %s\n", str); g_print ("AccessPoints:\n"); aps = nm_device_wifi_get_access_points (device); for (i = 0; aps && (i < aps->len); i++) { dump_access_point (NM_ACCESS_POINT (g_ptr_array_index (aps, i))); g_print ("\n"); } }