summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-07-28 14:37:44 +0200
committerThomas Haller <thaller@redhat.com>2019-07-29 18:39:49 +0200
commitc4788e611edfa897860494398de394c4a6254d6e (patch)
tree750ba67e284159451f2fbe25372357f5b6a73df9
parent7e22e5de78e91d14d3511098b522e9a42b26f0a2 (diff)
downloadNetworkManager-c4788e611edfa897860494398de394c4a6254d6e.tar.gz
libnm: add internal _nm_connection_get_setting() accessor
nm_connection_get_setting() returns a pointer of type NMSetting. That is very inconvenient, because most callers will need the the result pointer as a setting subtype (like NMSettingConnection). That would be like g_object_new() returning a "GObject *" pointer, which is technically correct but annoying. In the past that problem was avoided by having countless accessors like nm_connection_get_setting_ip4_config(), etc. But that just blows up the API and also is not generic. Meaning: the type is not a function argument but the function itself. That makes composing the code harder as the setting type cannot be treated generically (as a function argument). Anyway. Add an internal wrapper that returns a void pointer.
-rw-r--r--libnm-core/nm-core-internal.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h
index d263900d1a..868f731214 100644
--- a/libnm-core/nm-core-internal.h
+++ b/libnm-core/nm-core-internal.h
@@ -476,6 +476,13 @@ gboolean _nm_utils_generate_mac_address_mask_parse (const char *value,
/*****************************************************************************/
+static inline gpointer
+_nm_connection_get_setting (NMConnection *connection,
+ GType type)
+{
+ return (gpointer) nm_connection_get_setting (connection, type);
+}
+
NMSettingIPConfig *nm_connection_get_setting_ip_config (NMConnection *connection,
int addr_family);