コード例 #1
0
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;
	}
}
コード例 #2
0
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);
}
コード例 #3
0
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");
	}
}