diff options
author | Dan Williams <dcbw@redhat.com> | 2014-10-30 09:49:38 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2015-01-21 14:31:04 -0600 |
commit | 5293683e4a01df1dc47e884ead3a6c6c9493b1f9 (patch) | |
tree | 4f997e3efe489fa1f5dddef7392b0383f7f34c8c | |
parent | 7bdc6f5de53584414ccec3be47f16d909ae92bb6 (diff) | |
download | NetworkManager-5293683e4a01df1dc47e884ead3a6c6c9493b1f9.tar.gz |
libnm/libnm-util: add Wi-Fi 'powersave' property
-rw-r--r-- | libnm-core/nm-setting-wireless.c | 41 | ||||
-rw-r--r-- | libnm-core/nm-setting-wireless.h | 3 | ||||
-rw-r--r-- | libnm-util/libnm-util.ver | 1 | ||||
-rw-r--r-- | libnm-util/nm-setting-wireless.c | 41 | ||||
-rw-r--r-- | libnm-util/nm-setting-wireless.h | 3 | ||||
-rw-r--r-- | libnm/libnm.ver | 1 |
6 files changed, 90 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index f8d22c2d00..075af10224 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -60,6 +60,7 @@ typedef struct { guint32 mtu; GSList *seen_bssids; gboolean hidden; + guint32 powersave; } NMSettingWirelessPrivate; enum { @@ -77,6 +78,7 @@ enum { PROP_MTU, PROP_SEEN_BSSIDS, PROP_HIDDEN, + PROP_POWERSAVE, LAST_PROP }; @@ -602,6 +604,22 @@ nm_setting_wireless_get_hidden (NMSettingWireless *setting) } /** + * nm_setting_wireless_get_powersave: + * @setting: the #NMSettingWireless + * + * Returns: the #NMSettingWireless:powersave property of the setting + * + * Since: 1.2 + **/ +guint32 +nm_setting_wireless_get_powersave (NMSettingWireless *setting) +{ + g_return_val_if_fail (NM_IS_SETTING_WIRELESS (setting), 0); + + return NM_SETTING_WIRELESS_GET_PRIVATE (setting)->powersave; +} + +/** * nm_setting_wireless_add_seen_bssid: * @setting: the #NMSettingWireless * @bssid: the new BSSID to add to the list @@ -916,6 +934,9 @@ set_property (GObject *object, guint prop_id, case PROP_HIDDEN: priv->hidden = g_value_get_boolean (value); break; + case PROP_POWERSAVE: + priv->powersave = g_value_get_uint (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -969,6 +990,9 @@ get_property (GObject *object, guint prop_id, case PROP_HIDDEN: g_value_set_boolean (value, nm_setting_wireless_get_hidden (setting)); break; + case PROP_POWERSAVE: + g_value_set_uint (value, nm_setting_wireless_get_powersave (setting)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1315,6 +1339,23 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class) G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** + * NMSettingWireless:powersave: + * + * If set to %FALSE, Wi-Fi power saving behavior is disabled. If set to + * %TRUE, Wi-Fi power saving behavior is enabled. All other values are + * reserved. Note that even though only boolean values are allowed, the + * property type is an unsigned integer to allow for future expansion. + * + * Since: 1.2 + **/ + g_object_class_install_property + (object_class, PROP_POWERSAVE, + g_param_spec_uint (NM_SETTING_WIRELESS_POWERSAVE, "", "", + 0, G_MAXUINT32, 0, + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); + /* Compatibility for deprecated property */ /* ---ifcfg-rh--- * property: security diff --git a/libnm-core/nm-setting-wireless.h b/libnm-core/nm-setting-wireless.h index 98fa98dc6c..46ae6e6dba 100644 --- a/libnm-core/nm-setting-wireless.h +++ b/libnm-core/nm-setting-wireless.h @@ -55,6 +55,7 @@ G_BEGIN_DECLS #define NM_SETTING_WIRELESS_MTU "mtu" #define NM_SETTING_WIRELESS_SEEN_BSSIDS "seen-bssids" #define NM_SETTING_WIRELESS_HIDDEN "hidden" +#define NM_SETTING_WIRELESS_POWERSAVE "powersave" /** * NM_SETTING_WIRELESS_MODE_ADHOC: @@ -118,6 +119,8 @@ void nm_setting_wireless_clear_mac_blacklist_items (NMSettingWire guint32 nm_setting_wireless_get_mtu (NMSettingWireless *setting); gboolean nm_setting_wireless_get_hidden (NMSettingWireless *setting); +NM_AVAILABLE_IN_1_2 +guint32 nm_setting_wireless_get_powersave (NMSettingWireless *setting); gboolean nm_setting_wireless_add_seen_bssid (NMSettingWireless *setting, const char *bssid); diff --git a/libnm-util/libnm-util.ver b/libnm-util/libnm-util.ver index 9d78e5024d..ae34142073 100644 --- a/libnm-util/libnm-util.ver +++ b/libnm-util/libnm-util.ver @@ -562,6 +562,7 @@ global: nm_setting_wireless_get_mtu; nm_setting_wireless_get_num_mac_blacklist_items; nm_setting_wireless_get_num_seen_bssids; + nm_setting_wireless_get_powersave; nm_setting_wireless_get_rate; nm_setting_wireless_get_security; nm_setting_wireless_get_seen_bssid; diff --git a/libnm-util/nm-setting-wireless.c b/libnm-util/nm-setting-wireless.c index 99f4c9b14c..84f1c77c72 100644 --- a/libnm-util/nm-setting-wireless.c +++ b/libnm-util/nm-setting-wireless.c @@ -87,6 +87,7 @@ typedef struct { GSList *seen_bssids; char *security; gboolean hidden; + guint32 powersave; } NMSettingWirelessPrivate; enum { @@ -105,6 +106,7 @@ enum { PROP_SEEN_BSSIDS, PROP_SEC, PROP_HIDDEN, + PROP_POWERSAVE, LAST_PROP }; @@ -662,6 +664,22 @@ nm_setting_wireless_get_hidden (NMSettingWireless *setting) } /** + * nm_setting_wireless_get_powersave: + * @setting: the #NMSettingWireless + * + * Returns: the #NMSettingWireless:powersave property of the setting + * + * Since: 1.2 + **/ +guint32 +nm_setting_wireless_get_powersave (NMSettingWireless *setting) +{ + g_return_val_if_fail (NM_IS_SETTING_WIRELESS (setting), 0); + + return NM_SETTING_WIRELESS_GET_PRIVATE (setting)->powersave; +} + +/** * nm_setting_wireless_add_seen_bssid: * @setting: the #NMSettingWireless * @bssid: the new BSSID to add to the list @@ -953,6 +971,9 @@ set_property (GObject *object, guint prop_id, case PROP_HIDDEN: priv->hidden = g_value_get_boolean (value); break; + case PROP_POWERSAVE: + priv->powersave = g_value_get_uint (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1008,6 +1029,9 @@ get_property (GObject *object, guint prop_id, case PROP_HIDDEN: g_value_set_boolean (value, nm_setting_wireless_get_hidden (setting)); break; + case PROP_POWERSAVE: + g_value_set_uint (value, nm_setting_wireless_get_powersave (setting)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1244,4 +1268,21 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class) FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + /** + * NMSettingWireless:powersave: + * + * If set to %FALSE, Wi-Fi power saving behavior is disabled. If set to + * %TRUE, Wi-Fi power saving behavior is enabled. All other values are + * reserved. Note that even though only boolean values are allowed, the + * property type is an unsigned integer to allow for future expansion. + * + * Since: 1.2 + **/ + g_object_class_install_property + (object_class, PROP_POWERSAVE, + g_param_spec_uint (NM_SETTING_WIRELESS_POWERSAVE, "", "", + 0, G_MAXUINT32, 0, + G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS)); } diff --git a/libnm-util/nm-setting-wireless.h b/libnm-util/nm-setting-wireless.h index 18f78cff66..77eff73e30 100644 --- a/libnm-util/nm-setting-wireless.h +++ b/libnm-util/nm-setting-wireless.h @@ -73,6 +73,7 @@ GQuark nm_setting_wireless_error_quark (void); #define NM_SETTING_WIRELESS_MTU "mtu" #define NM_SETTING_WIRELESS_SEEN_BSSIDS "seen-bssids" #define NM_SETTING_WIRELESS_HIDDEN "hidden" +#define NM_SETTING_WIRELESS_POWERSAVE "powersave" /* Deprecated */ #define NM_SETTING_WIRELESS_SEC "security" @@ -150,6 +151,8 @@ void nm_setting_wireless_clear_mac_blacklist_items (NMSettingWire guint32 nm_setting_wireless_get_mtu (NMSettingWireless *setting); gboolean nm_setting_wireless_get_hidden (NMSettingWireless *setting); +NM_AVAILABLE_IN_1_2 +guint32 nm_setting_wireless_get_powersave (NMSettingWireless *setting); gboolean nm_setting_wireless_add_seen_bssid (NMSettingWireless *setting, const char *bssid); diff --git a/libnm/libnm.ver b/libnm/libnm.ver index aba84f4a83..b56fe77321 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -705,6 +705,7 @@ global: nm_setting_wireless_get_mtu; nm_setting_wireless_get_num_mac_blacklist_items; nm_setting_wireless_get_num_seen_bssids; + nm_setting_wireless_get_powersave; nm_setting_wireless_get_rate; nm_setting_wireless_get_seen_bssid; nm_setting_wireless_get_ssid; |