Commit c4788e61 authored by Thomas Haller's avatar Thomas Haller

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.
parent 7e22e5de
......@@ -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);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment