diff options
author | Thomas Haller <thaller@redhat.com> | 2023-06-12 13:37:08 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-06-14 11:07:34 +0200 |
commit | 97d6b7e92a781d5ffc4bc81622d37d2771094ad7 (patch) | |
tree | af597cac46084b97f0e4cf111f5ae10e2274ca32 | |
parent | ac7b6e532f966004a6edf65ab603995db06c4184 (diff) |
core: add nm_config_data_get_device_config() helper to lookup by match-data
-rw-r--r-- | src/core/nm-config-data.c | 34 | ||||
-rw-r--r-- | src/core/nm-config-data.h | 7 |
2 files changed, 35 insertions, 6 deletions
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c index c59a3331a2..7b778cc753 100644 --- a/src/core/nm-config-data.c +++ b/src/core/nm-config-data.c @@ -1546,11 +1546,12 @@ out: return NULL; } -const char * -nm_config_data_get_device_config_by_device(const NMConfigData *self, - const char *property, - NMDevice *device, - gboolean *has_match) +static const char * +_config_data_get_device_config(const NMConfigData *self, + const char *property, + const NMMatchSpecDeviceData *match_data, + NMDevice *device, + gboolean *has_match) { const NMConfigDataPrivate *priv; const MatchSectionInfo *connection_info; @@ -1561,12 +1562,15 @@ nm_config_data_get_device_config_by_device(const NMConfigData *self, g_return_val_if_fail(self, NULL); g_return_val_if_fail(property && *property, NULL); + nm_assert(!match_data || !device); + nm_assert(!device || NM_IS_DEVICE(device)); + priv = NM_CONFIG_DATA_GET_PRIVATE(self); connection_info = _match_section_infos_lookup(&priv->device_infos[0], priv->keyfile, property, - NULL, + match_data, device, &value); NM_SET_OUT(has_match, !!connection_info); @@ -1574,6 +1578,24 @@ nm_config_data_get_device_config_by_device(const NMConfigData *self, } const char * +nm_config_data_get_device_config(const NMConfigData *self, + const char *property, + const NMMatchSpecDeviceData *match_data, + gboolean *has_match) +{ + return _config_data_get_device_config(self, property, match_data, NULL, has_match); +} + +const char * +nm_config_data_get_device_config_by_device(const NMConfigData *self, + const char *property, + NMDevice *device, + gboolean *has_match) +{ + return _config_data_get_device_config(self, property, NULL, device, has_match); +} + +const char * nm_config_data_get_device_config_by_pllink(const NMConfigData *self, const char *property, const NMPlatformLink *pllink, diff --git a/src/core/nm-config-data.h b/src/core/nm-config-data.h index 28d9b5c9cb..8ecf926058 100644 --- a/src/core/nm-config-data.h +++ b/src/core/nm-config-data.h @@ -219,6 +219,13 @@ gint64 nm_config_data_get_connection_default_int64(const NMConfigData *self, gint64 max, gint64 fallback); +struct _NMMatchSpecDeviceData; + +const char *nm_config_data_get_device_config(const NMConfigData *self, + const char *property, + const struct _NMMatchSpecDeviceData *match_data, + gboolean *has_match); + const char *nm_config_data_get_device_config_by_device(const NMConfigData *self, const char *property, NMDevice *device, |