
* libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and "network-removed" signals. * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0. * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it when receiving the signal from dbus. * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK property. * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the deactivation of the previously activated device working again. * src/nm-activation-request.c: Remove NMActStage property and it's getter and setter. * src/nm-device.c (nm_device_is_activated): Remove. state == NM_DEVICE_STATE_ACTIVATED is just as easy to use. * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR, NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR, NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and NM_DBUS_SIGNAL_STATE_CHANGE signal. Remove NMNetworkStatus and NMActStage enums. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2345 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
206 lines
4.2 KiB
C
206 lines
4.2 KiB
C
#include "nm-access-point.h"
|
|
#include "NetworkManager.h"
|
|
#include "nm-utils.h"
|
|
|
|
#include "nm-access-point-bindings.h"
|
|
|
|
G_DEFINE_TYPE (NMAccessPoint, nm_access_point, DBUS_TYPE_G_PROXY)
|
|
|
|
enum {
|
|
STRENGTH_CHANGED,
|
|
|
|
LAST_SIGNAL
|
|
};
|
|
|
|
static guint signals[LAST_SIGNAL] = { 0 };
|
|
|
|
static void strength_changed_proxy (NMAccessPoint *ap, guchar strength);
|
|
|
|
static void
|
|
nm_access_point_init (NMAccessPoint *ap)
|
|
{
|
|
}
|
|
|
|
static void
|
|
nm_access_point_class_init (NMAccessPointClass *ap_class)
|
|
{
|
|
GObjectClass *object_class = G_OBJECT_CLASS (ap_class);
|
|
|
|
/* signals */
|
|
signals[STRENGTH_CHANGED] =
|
|
g_signal_new ("strength-changed",
|
|
G_OBJECT_CLASS_TYPE (object_class),
|
|
G_SIGNAL_RUN_FIRST,
|
|
G_STRUCT_OFFSET (NMAccessPointClass, strength_changed),
|
|
NULL, NULL,
|
|
g_cclosure_marshal_VOID__UCHAR,
|
|
G_TYPE_NONE, 1,
|
|
G_TYPE_UCHAR);
|
|
|
|
}
|
|
|
|
NMAccessPoint *
|
|
nm_access_point_new (DBusGConnection *connection, const char *path)
|
|
{
|
|
NMAccessPoint *ap;
|
|
|
|
ap = (NMAccessPoint *) g_object_new (NM_TYPE_ACCESS_POINT,
|
|
"name", NM_DBUS_SERVICE,
|
|
"path", path,
|
|
"interface", NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"connection", connection,
|
|
NULL);
|
|
|
|
dbus_g_proxy_add_signal (DBUS_G_PROXY (ap), "StrengthChanged", G_TYPE_UCHAR, G_TYPE_INVALID);
|
|
dbus_g_proxy_connect_signal (DBUS_G_PROXY (ap),
|
|
"StrengthChanged",
|
|
G_CALLBACK (strength_changed_proxy),
|
|
NULL,
|
|
NULL);
|
|
|
|
return ap;
|
|
}
|
|
|
|
static void
|
|
strength_changed_proxy (NMAccessPoint *ap, guchar strength)
|
|
{
|
|
g_signal_emit (ap, signals[STRENGTH_CHANGED], 0, strength);
|
|
}
|
|
|
|
guint32
|
|
nm_access_point_get_capabilities (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
guint32 caps = 0;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), 0);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Capabilities",
|
|
&value))
|
|
caps = g_value_get_uint (&value);
|
|
|
|
return caps;
|
|
}
|
|
|
|
gboolean
|
|
nm_access_point_is_encrypted (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
int encrypted = FALSE;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), FALSE);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Encrypted",
|
|
&value))
|
|
encrypted = g_value_get_boolean (&value);
|
|
|
|
return encrypted;
|
|
}
|
|
|
|
char *
|
|
nm_access_point_get_essid (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
char *essid = NULL;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), NULL);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Essid",
|
|
&value))
|
|
essid = g_strdup (g_value_get_string (&value));
|
|
|
|
return essid;
|
|
}
|
|
|
|
gdouble
|
|
nm_access_point_get_frequency (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
double freq = 0.0;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), freq);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Frequency",
|
|
&value))
|
|
freq = g_value_get_double (&value);
|
|
|
|
return freq;
|
|
|
|
}
|
|
|
|
char *
|
|
nm_access_point_get_hw_address (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
char *address = NULL;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), NULL);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"HwAddress",
|
|
&value))
|
|
address = g_strdup (g_value_get_string (&value));
|
|
|
|
return address;
|
|
}
|
|
|
|
int
|
|
nm_access_point_get_mode (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
int mode = 0;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), 0);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Mode",
|
|
&value))
|
|
mode = g_value_get_int (&value);
|
|
|
|
return mode;
|
|
}
|
|
|
|
guint32
|
|
nm_access_point_get_rate (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
guint32 rate = 0;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), 0);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Rate",
|
|
&value))
|
|
rate = g_value_get_uint (&value);
|
|
|
|
return rate;
|
|
}
|
|
|
|
int
|
|
nm_access_point_get_strength (NMAccessPoint *ap)
|
|
{
|
|
GValue value = {0,};
|
|
int strength = 0;
|
|
|
|
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), 0);
|
|
|
|
if (nm_dbus_get_property (DBUS_G_PROXY (ap),
|
|
NM_DBUS_INTERFACE_ACCESS_POINT,
|
|
"Strength",
|
|
&value))
|
|
strength = g_value_get_int (&value);
|
|
|
|
return strength;
|
|
}
|