cli: add and use macro for creating NmcMetaGenericInfo parent groups

This commit is contained in:
Thomas Haller
2018-04-26 17:26:52 +02:00
parent 0cba6bf1d2
commit 69d5fc9bce
2 changed files with 8 additions and 12 deletions

View File

@@ -271,11 +271,6 @@ const NmcMetaGenericInfo *const metagen_ip4_config[_NMC_GENERIC_INFO_TYPE_IP4_CO
_METAGEN_IP4_CONFIG (NMC_GENERIC_INFO_TYPE_IP4_CONFIG_WINS, "WINS"),
};
static const NmcMetaGenericInfo *const metagen_ip4_config_group[] = {
NMC_META_GENERIC_WITH_NESTED ("IP4", metagen_ip4_config, .name_header = N_("GROUP")),
NULL,
};
const NmcMetaGenericInfo *const metagen_ip6_config[_NMC_GENERIC_INFO_TYPE_IP6_CONFIG_NUM + 1] = {
#define _METAGEN_IP6_CONFIG(type, name) \
[type] = NMC_META_GENERIC(name, .info_type = type, .get_fcn = _metagen_ip6_config_get_fcn)
@@ -286,11 +281,6 @@ const NmcMetaGenericInfo *const metagen_ip6_config[_NMC_GENERIC_INFO_TYPE_IP6_CO
_METAGEN_IP6_CONFIG (NMC_GENERIC_INFO_TYPE_IP6_CONFIG_DOMAIN, "DOMAIN"),
};
static const NmcMetaGenericInfo *const metagen_ip6_config_group[] = {
NMC_META_GENERIC_WITH_NESTED ("IP6", metagen_ip6_config, .name_header = N_("GROUP")),
NULL,
};
/*****************************************************************************/
const NmcMetaGenericInfo *const nmc_fields_dhcp_config[] = {
@@ -326,7 +316,7 @@ print_ip4_config (NMIPConfig *cfg4,
if (!nmc_print (nmc_config,
(gpointer[]) { cfg4, NULL },
NULL,
(const NMMetaAbstractInfo *const*) metagen_ip4_config_group,
NMC_META_GENERIC_GROUP ("IP4", metagen_ip4_config, N_("GROUP")),
field_str,
&error)) {
return FALSE;
@@ -352,7 +342,7 @@ print_ip6_config (NMIPConfig *cfg6,
if (!nmc_print (nmc_config,
(gpointer[]) { cfg6, NULL },
NULL,
(const NMMetaAbstractInfo *const*) metagen_ip6_config_group,
NMC_META_GENERIC_GROUP ("IP6", metagen_ip6_config, N_("GROUP")),
field_str,
&error)) {
return FALSE;

View File

@@ -159,6 +159,12 @@ struct _NmcMetaGenericInfo {
#define NMC_META_GENERIC_WITH_NESTED(n, nest, ...) \
NMC_META_GENERIC (n, .nested = (nest), __VA_ARGS__)
#define NMC_META_GENERIC_GROUP(_group_name, _nested, _name_header) \
((const NMMetaAbstractInfo *const*) ((const NmcMetaGenericInfo *const[]) { \
NMC_META_GENERIC_WITH_NESTED (_group_name,_nested, .name_header = _name_header), \
NULL, \
}))
/*****************************************************************************/
gboolean nmc_print (const NmcConfig *nmc_config,