summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-09-14 16:01:45 +0200
committerThomas Haller <thaller@redhat.com>2018-09-14 16:29:31 +0200
commita10156f5165f644e344fa5163a5958080a2a7393 (patch)
tree1797e1820a34b4a62f756fdc4bbf4c8ff5f4245f
parent6ebb9091d272c7af4e1eaab4a110f7de37fb2b4d (diff)
downloadNetworkManager-a10156f5165f644e344fa5163a5958080a2a7393.tar.gz
libnm: drop API nm_connection_get_setting_{6lowpan,sriov,wpan}()
Note that NMSettingEthtool and NMSettingMatch don't have such functions either. We have API nm_connection_get_setting (NMConnection *, GType) nm_connection_get_setting_by_name (NMConnection *, const char *) which can be used generically, meaning: the requested setting type is an argument to the function. That is generally more useful and flexible. Don't add API which duplicates existing functionality and is (arguably) inferiour. Drop it now. This is an ABI/API break for the current development cycle where the 1.14.0 API is still unstable. Indeed it's already after 1.14-rc1, which is ugly. But it's also unlikely that somebody already uses this API/ABI and is badly impacted by this change. Note that nm_connection_get_setting() and nm_connection_get_setting_by_name() are slightly inconvenient in C still, because they usually require a cast. We should fix that by changing the return type to "void *". Such a change may be possibly any time without breaking API/ABI (almost, it'd be an API change when taking a function pointer without casting).
-rw-r--r--libnm-core/nm-connection.c50
-rw-r--r--libnm-core/nm-connection.h6
-rw-r--r--libnm/libnm.ver3
-rw-r--r--src/devices/nm-device-6lowpan.c10
-rw-r--r--src/devices/nm-device-wpan.c8
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c2
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c2
7 files changed, 12 insertions, 69 deletions
diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c
index a5df08142f..172f9c99e4 100644
--- a/libnm-core/nm-connection.c
+++ b/libnm-core/nm-connection.c
@@ -1216,7 +1216,7 @@ _normalize_sriov_vf_order (NMConnection *self, GHashTable *parameters)
{
NMSettingSriov *s_sriov;
- s_sriov = nm_connection_get_setting_sriov (self);
+ s_sriov = NM_SETTING_SRIOV (nm_connection_get_setting (self, NM_TYPE_SETTING_SRIOV));
if (!s_sriov)
return FALSE;
@@ -2279,22 +2279,6 @@ nm_connection_get_virtual_device_description (NMConnection *connection)
/*****************************************************************************/
/**
- * nm_connection_get_setting_6lowpan:
- * @connection: the #NMConnection
- *
- * A shortcut to return any #NMSetting6Lowpan the connection might contain.
- *
- * Returns: (transfer none): an #NMSetting6Lowpan if the connection contains one, otherwise %NULL
- *
- * Since: 1.14
- **/
-NMSetting6Lowpan *
-nm_connection_get_setting_6lowpan (NMConnection *connection)
-{
- return _connection_get_setting_check (connection, NM_TYPE_SETTING_6LOWPAN);
-}
-
-/**
* nm_connection_get_setting_802_1x:
* @connection: the #NMConnection
*
@@ -2701,22 +2685,6 @@ nm_connection_get_setting_serial (NMConnection *connection)
}
/**
- * nm_connection_get_setting_sriov:
- * @connection: the #NMConnection
- *
- * A shortcut to return any #NMSettingSriov the connection might contain.
- *
- * Returns: (transfer none): an #NMSettingSriov if the connection contains one, otherwise %NULL
- *
- * Since: 1.14
- **/
-NMSettingSriov *
-nm_connection_get_setting_sriov (NMConnection *connection)
-{
- return _connection_get_setting_check (connection, NM_TYPE_SETTING_SRIOV);
-}
-
-/**
* nm_connection_get_setting_tc_config:
* @connection: the #NMConnection
*
@@ -2876,22 +2844,6 @@ nm_connection_get_setting_vlan (NMConnection *connection)
return _connection_get_setting_check (connection, NM_TYPE_SETTING_VLAN);
}
-/**
- * nm_connection_get_setting_wpan:
- * @connection: the #NMConnection
- *
- * A shortcut to return any #NMSettingWpan the connection might contain.
- *
- * Returns: (transfer none): an #NMSettingWpan if the connection contains one, otherwise %NULL
- *
- * Since: 1.14
- **/
-NMSettingWpan *
-nm_connection_get_setting_wpan (NMConnection *connection)
-{
- return _connection_get_setting_check (connection, NM_TYPE_SETTING_WPAN);
-}
-
NMSettingBluetooth *
_nm_connection_get_setting_bluetooth_for_nap (NMConnection *connection)
{
diff --git a/libnm-core/nm-connection.h b/libnm-core/nm-connection.h
index 312760f157..af91b11839 100644
--- a/libnm-core/nm-connection.h
+++ b/libnm-core/nm-connection.h
@@ -193,8 +193,6 @@ const char * nm_connection_get_connection_type (NMConnection *connection);
gboolean nm_connection_is_virtual (NMConnection *connection);
char * nm_connection_get_virtual_device_description (NMConnection *connection);
-NM_AVAILABLE_IN_1_14
-NMSetting6Lowpan * nm_connection_get_setting_6lowpan (NMConnection *connection);
NMSetting8021x * nm_connection_get_setting_802_1x (NMConnection *connection);
NMSettingBluetooth * nm_connection_get_setting_bluetooth (NMConnection *connection);
NMSettingBond * nm_connection_get_setting_bond (NMConnection *connection);
@@ -231,8 +229,6 @@ NMSettingPppoe * nm_connection_get_setting_pppoe (NMConnec
NM_AVAILABLE_IN_1_6
NMSettingProxy * nm_connection_get_setting_proxy (NMConnection *connection);
NMSettingSerial * nm_connection_get_setting_serial (NMConnection *connection);
-NM_AVAILABLE_IN_1_14
-NMSettingSriov * nm_connection_get_setting_sriov (NMConnection *connection);
NM_AVAILABLE_IN_1_12
NMSettingTCConfig * nm_connection_get_setting_tc_config (NMConnection *connection);
NMSettingTun * nm_connection_get_setting_tun (NMConnection *connection);
@@ -245,8 +241,6 @@ NMSettingWirelessSecurity *nm_connection_get_setting_wireless_security (NMConnec
NMSettingVlan * nm_connection_get_setting_vlan (NMConnection *connection);
NM_AVAILABLE_IN_1_2
NMSettingVxlan * nm_connection_get_setting_vxlan (NMConnection *connection);
-NM_AVAILABLE_IN_1_14
-NMSettingWpan * nm_connection_get_setting_wpan (NMConnection *connection);
G_END_DECLS
diff --git a/libnm/libnm.ver b/libnm/libnm.ver
index 00dd06e4f5..476cfcc9eb 100644
--- a/libnm/libnm.ver
+++ b/libnm/libnm.ver
@@ -1382,9 +1382,6 @@ libnm_1_12_2 {
libnm_1_14_0 {
global:
- nm_connection_get_setting_6lowpan;
- nm_connection_get_setting_sriov;
- nm_connection_get_setting_wpan;
nm_connection_multi_connect_get_type;
nm_device_6lowpan_get_type;
nm_device_wireguard_get_fwmark;
diff --git a/src/devices/nm-device-6lowpan.c b/src/devices/nm-device-6lowpan.c
index 600d1b80b1..b6b9157ca4 100644
--- a/src/devices/nm-device-6lowpan.c
+++ b/src/devices/nm-device-6lowpan.c
@@ -114,7 +114,7 @@ create_and_realize (NMDevice *device,
NMSetting6Lowpan *s_6lowpan;
int parent_ifindex;
- s_6lowpan = nm_connection_get_setting_6lowpan (connection);
+ s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN));
g_return_val_if_fail (s_6lowpan, FALSE);
parent_ifindex = parent ? nm_device_get_ifindex (parent) : 0;
@@ -192,7 +192,7 @@ complete_connection (NMDevice *device,
NULL,
TRUE);
- s_6lowpan = nm_connection_get_setting_6lowpan (connection);
+ s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN));
if (!s_6lowpan) {
g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION,
"A '6lowpan' setting is required.");
@@ -215,7 +215,7 @@ complete_connection (NMDevice *device,
static void
update_connection (NMDevice *device, NMConnection *connection)
{
- NMSetting6Lowpan *s_6lowpan = nm_connection_get_setting_6lowpan (connection);
+ NMSetting6Lowpan *s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN));
if (!s_6lowpan) {
s_6lowpan = (NMSetting6Lowpan *) nm_setting_6lowpan_new ();
@@ -310,7 +310,7 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection)
g_return_val_if_fail (nm_connection_is_type (connection, NM_SETTING_6LOWPAN_SETTING_NAME), NULL);
- s_6lowpan = nm_connection_get_setting_6lowpan (connection);
+ s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN));
g_assert (s_6lowpan);
return nm_setting_6lowpan_get_parent (s_6lowpan);
@@ -326,7 +326,7 @@ get_connection_iface (NMDeviceFactory *factory,
g_return_val_if_fail (nm_connection_is_type (connection, NM_SETTING_6LOWPAN_SETTING_NAME), NULL);
- s_6lowpan = nm_connection_get_setting_6lowpan (connection);
+ s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN));
g_assert (s_6lowpan);
if (!parent_iface)
diff --git a/src/devices/nm-device-wpan.c b/src/devices/nm-device-wpan.c
index dd2ebac149..f910b0b899 100644
--- a/src/devices/nm-device-wpan.c
+++ b/src/devices/nm-device-wpan.c
@@ -69,7 +69,7 @@ complete_connection (NMDevice *device,
NULL,
TRUE);
- s_wpan = nm_connection_get_setting_wpan (connection);
+ s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN));
if (!s_wpan) {
g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION,
"A 'wpan' setting is required.");
@@ -82,7 +82,7 @@ complete_connection (NMDevice *device,
static void
update_connection (NMDevice *device, NMConnection *connection)
{
- NMSettingWpan *s_wpan = nm_connection_get_setting_wpan (connection);
+ NMSettingWpan *s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN));
if (!s_wpan) {
s_wpan = (NMSettingWpan *) nm_setting_wpan_new ();
@@ -99,7 +99,7 @@ check_connection_compatible (NMDevice *device, NMConnection *connection, GError
if (!NM_DEVICE_CLASS (nm_device_wpan_parent_class)->check_connection_compatible (device, connection, error))
return FALSE;
- s_wpan = nm_connection_get_setting_wpan (connection);
+ s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN));
mac = nm_setting_wpan_get_mac_address (s_wpan);
if (mac) {
@@ -143,7 +143,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *out_failure_reason)
connection = nm_device_get_applied_connection (device);
g_return_val_if_fail (connection, NM_ACT_STAGE_RETURN_FAILURE);
- s_wpan = nm_connection_get_setting_wpan (connection);
+ s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN));
g_return_val_if_fail (s_wpan, NM_ACT_STAGE_RETURN_FAILURE);
hwaddr = nm_platform_link_get_address (platform, ifindex, &hwaddr_len);
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
index e1a2289e4d..b70690cc9f 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
@@ -2223,7 +2223,7 @@ write_sriov_setting (NMConnection *connection, shvarFile *ifcfg)
svUnsetAll (ifcfg, SV_KEY_TYPE_SRIOV_VF);
- s_sriov = nm_connection_get_setting_sriov (connection);
+ s_sriov = NM_SETTING_SRIOV (nm_connection_get_setting (connection, NM_TYPE_SETTING_SRIOV));
if (s_sriov)
num = nm_setting_sriov_get_total_vfs (s_sriov);
if (num == 0) {
diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
index 7069386103..0c0dd64ee5 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -9721,7 +9721,7 @@ test_sriov_read (void)
g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "eth0");
- s_sriov = nm_connection_get_setting_sriov (connection);
+ s_sriov = NM_SETTING_SRIOV (nm_connection_get_setting (connection, NM_TYPE_SETTING_SRIOV));
g_assert (s_sriov);
g_assert_cmpint (nm_setting_sriov_get_total_vfs (s_sriov), ==, 16);