libnm: add Wi-Fi AP 'last-seen' property
This commit is contained in:

committed by
Thomas Haller

parent
f3b8285be5
commit
1e85c35846
@@ -847,6 +847,7 @@ local:
|
||||
|
||||
libnm_1_2_0 {
|
||||
global:
|
||||
nm_access_point_get_last_seen;
|
||||
nm_device_get_nm_plugin_missing;
|
||||
nm_setting_802_1x_check_cert_scheme;
|
||||
nm_setting_bridge_get_multicast_snooping;
|
||||
|
@@ -49,6 +49,7 @@ typedef struct {
|
||||
NM80211Mode mode;
|
||||
guint32 max_bitrate;
|
||||
guint8 strength;
|
||||
gint last_seen;
|
||||
} NMAccessPointPrivate;
|
||||
|
||||
enum {
|
||||
@@ -63,6 +64,7 @@ enum {
|
||||
PROP_MAX_BITRATE,
|
||||
PROP_STRENGTH,
|
||||
PROP_BSSID,
|
||||
PROP_LAST_SEEN,
|
||||
|
||||
LAST_PROP
|
||||
};
|
||||
@@ -220,6 +222,26 @@ nm_access_point_get_strength (NMAccessPoint *ap)
|
||||
return NM_ACCESS_POINT_GET_PRIVATE (ap)->strength;
|
||||
}
|
||||
|
||||
/**
|
||||
* nm_access_point_get_strength:
|
||||
* @ap: a #NMAccessPoint
|
||||
*
|
||||
* Returns the timestamp (in CLOCK_BOOTTIME seconds) for the last time the
|
||||
* access point was found in scan results. A value of -1 means the access
|
||||
* point has not been found in a scan.
|
||||
*
|
||||
* Returns: the last seen time in seconds
|
||||
*
|
||||
* Since: 1.2
|
||||
**/
|
||||
gint
|
||||
nm_access_point_get_last_seen (NMAccessPoint *ap)
|
||||
{
|
||||
g_return_val_if_fail (NM_IS_ACCESS_POINT (ap), -1);
|
||||
|
||||
return NM_ACCESS_POINT_GET_PRIVATE (ap)->last_seen;
|
||||
}
|
||||
|
||||
/**
|
||||
* nm_access_point_connection_valid:
|
||||
* @ap: an #NMAccessPoint to validate @connection against
|
||||
@@ -364,6 +386,7 @@ nm_access_point_filter_connections (NMAccessPoint *ap, const GPtrArray *connecti
|
||||
static void
|
||||
nm_access_point_init (NMAccessPoint *ap)
|
||||
{
|
||||
NM_ACCESS_POINT_GET_PRIVATE (ap)->last_seen = -1;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -418,6 +441,9 @@ get_property (GObject *object,
|
||||
case PROP_STRENGTH:
|
||||
g_value_set_uchar (value, nm_access_point_get_strength (ap));
|
||||
break;
|
||||
case PROP_LAST_SEEN:
|
||||
g_value_set_int (value, nm_access_point_get_last_seen (ap));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
@@ -439,6 +465,7 @@ init_dbus (NMObject *object)
|
||||
{ NM_ACCESS_POINT_MODE, &priv->mode },
|
||||
{ NM_ACCESS_POINT_MAX_BITRATE, &priv->max_bitrate },
|
||||
{ NM_ACCESS_POINT_STRENGTH, &priv->strength },
|
||||
{ NM_ACCESS_POINT_LAST_SEEN, &priv->last_seen },
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
@@ -595,4 +622,20 @@ nm_access_point_class_init (NMAccessPointClass *ap_class)
|
||||
0, G_MAXUINT8, 0,
|
||||
G_PARAM_READABLE |
|
||||
G_PARAM_STATIC_STRINGS));
|
||||
|
||||
/**
|
||||
* NMAccessPoint:last-seen:
|
||||
*
|
||||
* The timestamp (in CLOCK_BOOTTIME seconds) for the last time the
|
||||
* access point was found in scan results. A value of -1 means the
|
||||
* access point has not been found in a scan.
|
||||
*
|
||||
* Since: 1.2
|
||||
**/
|
||||
g_object_class_install_property
|
||||
(object_class, PROP_LAST_SEEN,
|
||||
g_param_spec_int (NM_ACCESS_POINT_LAST_SEEN, "", "",
|
||||
-1, G_MAXINT, -1,
|
||||
G_PARAM_READABLE |
|
||||
G_PARAM_STATIC_STRINGS));
|
||||
}
|
||||
|
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
|
||||
#define NM_ACCESS_POINT_MODE "mode"
|
||||
#define NM_ACCESS_POINT_MAX_BITRATE "max-bitrate"
|
||||
#define NM_ACCESS_POINT_STRENGTH "strength"
|
||||
#define NM_ACCESS_POINT_LAST_SEEN "last-seen"
|
||||
|
||||
/* DEPRECATED */
|
||||
#define NM_ACCESS_POINT_HW_ADDRESS "hw-address"
|
||||
@@ -73,6 +74,7 @@ guint32 nm_access_point_get_frequency (NMAccessPoint *ap);
|
||||
NM80211Mode nm_access_point_get_mode (NMAccessPoint *ap);
|
||||
guint32 nm_access_point_get_max_bitrate (NMAccessPoint *ap);
|
||||
guint8 nm_access_point_get_strength (NMAccessPoint *ap);
|
||||
gint nm_access_point_get_last_seen (NMAccessPoint *ap);
|
||||
|
||||
GPtrArray * nm_access_point_filter_connections (NMAccessPoint *ap,
|
||||
const GPtrArray *connections);
|
||||
|
Reference in New Issue
Block a user