summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2022-03-21 10:20:11 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2022-03-29 09:34:07 +0200
commit4a8a3847ad609df8a5fb713b35d6ba67324ebaf1 (patch)
tree7a22c5db63a1e5f26855b1074f0c20e30d1cc2d9
parent580ef03bee96aec3d361d95569c88207ac0ddddb (diff)
downloadNetworkManager-4a8a3847ad609df8a5fb713b35d6ba67324ebaf1.tar.gz
libnm: support radio flags
-rw-r--r--src/libnm-client-impl/libnm.ver8
-rw-r--r--src/libnm-client-impl/nm-client.c42
-rw-r--r--src/libnm-client-public/nm-client.h5
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);