diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2022-03-21 10:20:11 +0100 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2022-03-29 09:34:07 +0200 |
commit | 4a8a3847ad609df8a5fb713b35d6ba67324ebaf1 (patch) | |
tree | 7a22c5db63a1e5f26855b1074f0c20e30d1cc2d9 | |
parent | 580ef03bee96aec3d361d95569c88207ac0ddddb (diff) | |
download | NetworkManager-4a8a3847ad609df8a5fb713b35d6ba67324ebaf1.tar.gz |
libnm: support radio flags
-rw-r--r-- | src/libnm-client-impl/libnm.ver | 8 | ||||
-rw-r--r-- | src/libnm-client-impl/nm-client.c | 42 | ||||
-rw-r--r-- | src/libnm-client-public/nm-client.h | 5 |
3 files changed, 54 insertions, 1 deletions
diff --git a/src/libnm-client-impl/libnm.ver b/src/libnm-client-impl/libnm.ver index bb691ac22d..b6d566fc4b 100644 --- a/src/libnm-client-impl/libnm.ver +++ b/src/libnm-client-impl/libnm.ver @@ -1820,4 +1820,10 @@ global: libnm_1_36_0 { global: nm_setting_ovs_dpdk_get_n_rxq; -} libnm_1_34_0;
\ No newline at end of file +} libnm_1_34_0; + +libnm_1_38_0 { +global: + nm_client_get_radio_flags; + nm_radio_flags_get_type; +} libnm_1_36_0;
\ No newline at end of file diff --git a/src/libnm-client-impl/nm-client.c b/src/libnm-client-impl/nm-client.c index f794ff9e93..b18f47be32 100644 --- a/src/libnm-client-impl/nm-client.c +++ b/src/libnm-client-impl/nm-client.c @@ -198,6 +198,7 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMClient, PROP_WWAN_HARDWARE_ENABLED, PROP_WIMAX_ENABLED, PROP_WIMAX_HARDWARE_ENABLED, + PROP_RADIO_FLAGS, PROP_ACTIVE_CONNECTIONS, PROP_CONNECTIVITY, PROP_CONNECTIVITY_CHECK_URI, @@ -307,6 +308,7 @@ typedef struct { guint32 connectivity; guint32 state; guint32 metered; + guint32 radio_flags; bool connectivity_check_available; bool connectivity_check_enabled; bool networking_enabled; @@ -4236,6 +4238,24 @@ nm_client_wireless_hardware_get_enabled(NMClient *client) } /** + * nm_client_get_radio_flags: + * @client: a #NMClient + * + * Get radio flags. + * + * Returns: the #NMRadioFlags. + * + * Since: 1.38 + **/ +NMRadioFlags +nm_client_get_radio_flags(NMClient *client) +{ + g_return_val_if_fail(NM_IS_CLIENT(client), NM_RADIO_FLAG_NONE); + + return NM_CLIENT_GET_PRIVATE(client)->nm.radio_flags; +} + +/** * nm_client_wwan_get_enabled: * @client: a #NMClient * @@ -7454,6 +7474,9 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) case PROP_WIRELESS_HARDWARE_ENABLED: g_value_set_boolean(value, nm_client_wireless_hardware_get_enabled(self)); break; + case PROP_RADIO_FLAGS: + g_value_set_uint(value, priv->nm.radio_flags); + break; case PROP_WWAN_ENABLED: g_value_set_boolean(value, nm_client_wwan_get_enabled(self)); break; @@ -8046,6 +8069,10 @@ const NMLDBusMetaIface _nml_dbus_meta_iface_nm = NML_DBUS_META_IFACE_INIT_PROP( _priv.nm.property_o[PROPERTY_O_IDX_NM_PRIMAY_CONNECTION], nm_active_connection_get_type), NML_DBUS_META_PROPERTY_INIT_IGNORE("PrimaryConnectionType", "s"), + NML_DBUS_META_PROPERTY_INIT_U("RadioFlags", + PROP_RADIO_FLAGS, + NMClient, + _priv.nm.radio_flags), NML_DBUS_META_PROPERTY_INIT_B("Startup", PROP_STARTUP, NMClient, _priv.nm.startup), NML_DBUS_META_PROPERTY_INIT_U("State", PROP_STATE, NMClient, _priv.nm.state), NML_DBUS_META_PROPERTY_INIT_S("Version", PROP_VERSION, NMClient, _priv.nm.version), @@ -8314,6 +8341,21 @@ nm_client_class_init(NMClientClass *client_class) G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); /** + * NMClient:radio-flags: + * + * Flags for radio interfaces. See #NMRadioFlags. + * + * Since: 1.38 + **/ + obj_properties[PROP_RADIO_FLAGS] = g_param_spec_uint(NM_CLIENT_RADIO_FLAGS, + "", + "", + 0, + G_MAXUINT32, + NM_RADIO_FLAG_NONE, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + + /** * NMClient:active-connections: (type GPtrArray(NMActiveConnection)) * * The active connections. diff --git a/src/libnm-client-public/nm-client.h b/src/libnm-client-public/nm-client.h index eb97e4d4fb..8b00eab095 100644 --- a/src/libnm-client-public/nm-client.h +++ b/src/libnm-client-public/nm-client.h @@ -61,6 +61,8 @@ _NM_DEPRECATED_SYNC_WRITABLE_PROPERTY #define NM_CLIENT_WWAN_HARDWARE_ENABLED "wwan-hardware-enabled" #define NM_CLIENT_WIMAX_HARDWARE_ENABLED "wimax-hardware-enabled" +#define NM_CLIENT_RADIO_FLAGS "radio-flags" + #define NM_CLIENT_ACTIVE_CONNECTIONS "active-connections" #define NM_CLIENT_CONNECTIVITY "connectivity" #define NM_CLIENT_CONNECTIVITY_CHECK_URI "connectivity-check-uri" @@ -213,6 +215,9 @@ void nm_client_wimax_set_enabled(NMClient *client, gboolean enabled); NM_DEPRECATED_IN_1_22 gboolean nm_client_wimax_hardware_get_enabled(NMClient *client); +NM_AVAILABLE_IN_1_38 +NMRadioFlags nm_client_get_radio_flags(NMClient *client); + NM_AVAILABLE_IN_1_10 gboolean nm_client_connectivity_check_get_available(NMClient *client); |