diff options
author | Dan Williams <dcbw@redhat.com> | 2015-04-27 12:50:39 -0500 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-04-29 07:51:26 +0200 |
commit | 1e85c3584670c167b36b784f3504f190047b84f8 (patch) | |
tree | 33193b3f2de384c11b45870282a7166a0754cd47 | |
parent | f3b8285be509ad69fe24c50dad9a2514cd3f5f07 (diff) | |
download | NetworkManager-1e85c3584670c167b36b784f3504f190047b84f8.tar.gz |
libnm: add Wi-Fi AP 'last-seen' property
-rw-r--r-- | libnm/libnm.ver | 1 | ||||
-rw-r--r-- | libnm/nm-access-point.c | 43 | ||||
-rw-r--r-- | libnm/nm-access-point.h | 2 |
3 files changed, 46 insertions, 0 deletions
diff --git a/libnm/libnm.ver b/libnm/libnm.ver index 0b7bacc27e..1fe8e30d53 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -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; diff --git a/libnm/nm-access-point.c b/libnm/nm-access-point.c index e20cd9971e..34c7e15e79 100644 --- a/libnm/nm-access-point.c +++ b/libnm/nm-access-point.c @@ -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 }; @@ -221,6 +223,26 @@ nm_access_point_get_strength (NMAccessPoint *ap) } /** + * 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 * @connection: an #NMConnection to validate against @ap @@ -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)); } diff --git a/libnm/nm-access-point.h b/libnm/nm-access-point.h index 6991c19ac6..953a1567c4 100644 --- a/libnm/nm-access-point.h +++ b/libnm/nm-access-point.h @@ -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); |