summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-03-26 14:30:17 +0200
committerThomas Haller <thaller@redhat.com>2017-03-30 13:09:56 +0200
commit9c6f70f9e0f2243ea13f1b584d04a312d82caf2e (patch)
tree8472017494d0ccd1b0fd9a9133be5177f9fcbfbe
parentf34ef5d1fe3d75000fed99ad06ac1df9f744c424 (diff)
downloadNetworkManager-9c6f70f9e0f2243ea13f1b584d04a312d82caf2e.tar.gz
cli: add property-info for NMSettingAdsl
-rw-r--r--clients/cli/connections.c2
-rw-r--r--clients/cli/nmcli.c2
-rw-r--r--clients/cli/settings.c170
-rw-r--r--clients/cli/settings.h1
4 files changed, 51 insertions, 124 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index bb31f08664..decaf4e406 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -182,7 +182,7 @@ NmcOutputField nmc_fields_settings_names[] = {
SETTING_FIELD (NM_SETTING_INFINIBAND_SETTING_NAME, nmc_fields_setting_infiniband + 1), /* 16 */
SETTING_FIELD (NM_SETTING_BOND_SETTING_NAME, nmc_fields_setting_bond + 1), /* 17 */
SETTING_FIELD (NM_SETTING_VLAN_SETTING_NAME, nmc_fields_setting_vlan + 1), /* 18 */
- SETTING_FIELD (NM_SETTING_ADSL_SETTING_NAME, nmc_fields_setting_adsl + 1), /* 19 */
+ SETTING_FIELD_TYPE (NM_SETTING_ADSL_SETTING_NAME, NM_META_SETTING_TYPE_ADSL), /* 19 */
SETTING_FIELD (NM_SETTING_BRIDGE_SETTING_NAME, nmc_fields_setting_bridge + 1), /* 20 */
SETTING_FIELD (NM_SETTING_BRIDGE_PORT_SETTING_NAME, nmc_fields_setting_bridge_port + 1), /* 21 */
SETTING_FIELD (NM_SETTING_TEAM_SETTING_NAME, nmc_fields_setting_team + 1), /* 22 */
diff --git a/clients/cli/nmcli.c b/clients/cli/nmcli.c
index d531a7fb86..5a4be31cd5 100644
--- a/clients/cli/nmcli.c
+++ b/clients/cli/nmcli.c
@@ -156,7 +156,7 @@ complete_fields (const char *prefix)
complete_field (h, "serial", nmc_fields_setting_serial);
complete_field_new (h, "ppp", NM_META_SETTING_TYPE_PPP);
complete_field_new (h, "pppoe", NM_META_SETTING_TYPE_PPPOE);
- complete_field (h, "adsl", nmc_fields_setting_adsl);
+ complete_field_new (h, "adsl", NM_META_SETTING_TYPE_ADSL);
complete_field (h, "gsm", nmc_fields_setting_gsm);
complete_field (h, "cdma", nmc_fields_setting_cdma);
complete_field (h, "bluetooth", nmc_fields_setting_bluetooth);
diff --git a/clients/cli/settings.c b/clients/cli/settings.c
index 115c307f4a..08ef8c89ed 100644
--- a/clients/cli/settings.c
+++ b/clients/cli/settings.c
@@ -574,27 +574,6 @@ NmcOutputField nmc_fields_setting_serial[] = {
NM_SETTING_SERIAL_STOPBITS","\
NM_SETTING_SERIAL_SEND_DELAY
-/* Available fields for NM_SETTING_ADSL_SETTING_NAME */
-NmcOutputField nmc_fields_setting_adsl[] = {
- SETTING_FIELD ("name"), /* 0 */
- SETTING_FIELD (NM_SETTING_ADSL_USERNAME), /* 1 */
- SETTING_FIELD (NM_SETTING_ADSL_PASSWORD), /* 2 */
- SETTING_FIELD (NM_SETTING_ADSL_PASSWORD_FLAGS), /* 3 */
- SETTING_FIELD (NM_SETTING_ADSL_PROTOCOL), /* 4 */
- SETTING_FIELD (NM_SETTING_ADSL_ENCAPSULATION), /* 5 */
- SETTING_FIELD (NM_SETTING_ADSL_VPI), /* 6 */
- SETTING_FIELD (NM_SETTING_ADSL_VCI), /* 7 */
- {NULL, NULL, 0, NULL, FALSE, FALSE, 0}
-};
-#define NMC_FIELDS_SETTING_ADSL_ALL "name"","\
- NM_SETTING_ADSL_USERNAME","\
- NM_SETTING_ADSL_PASSWORD","\
- NM_SETTING_ADSL_PASSWORD_FLAGS","\
- NM_SETTING_ADSL_PROTOCOL","\
- NM_SETTING_ADSL_ENCAPSULATION","\
- NM_SETTING_ADSL_VPI","\
- NM_SETTING_ADSL_VCI
-
/* Available fields for NM_SETTING_GSM_SETTING_NAME */
NmcOutputField nmc_fields_setting_gsm[] = {
SETTING_FIELD ("name"), /* 0 */
@@ -2158,16 +2137,6 @@ nmc_property_802_1X_set_phase1_auth_flags (NMSetting *setting, const char *prop,
}
-/* --- NM_SETTING_ADSL_SETTING_NAME property functions --- */
-DEFINE_GETTER (nmc_property_adsl_get_username, NM_SETTING_ADSL_USERNAME)
-DEFINE_GETTER (nmc_property_adsl_get_password, NM_SETTING_ADSL_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_adsl_get_password_flags, NM_SETTING_ADSL_PASSWORD_FLAGS)
-DEFINE_GETTER (nmc_property_adsl_get_protocol, NM_SETTING_ADSL_PROTOCOL)
-DEFINE_GETTER (nmc_property_adsl_get_encapsulation, NM_SETTING_ADSL_ENCAPSULATION)
-DEFINE_GETTER (nmc_property_adsl_get_vpi, NM_SETTING_ADSL_VPI)
-DEFINE_GETTER (nmc_property_adsl_get_vci, NM_SETTING_ADSL_VCI)
-
-/* 'protocol' */
static const char *adsl_valid_protocols[] = {
NM_SETTING_ADSL_PROTOCOL_PPPOA,
NM_SETTING_ADSL_PROTOCOL_PPPOE,
@@ -2181,9 +2150,6 @@ nmc_property_adsl_set_protocol (NMSetting *setting, const char *prop, const char
return check_and_set_string (setting, prop, val, adsl_valid_protocols, error);
}
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_adsl_allowed_protocol, adsl_valid_protocols)
-
-/* 'encapsulation' */
static const char *adsl_valid_encapsulations[] = {
NM_SETTING_ADSL_ENCAPSULATION_VCMUX,
NM_SETTING_ADSL_ENCAPSULATION_LLC,
@@ -2196,9 +2162,6 @@ nmc_property_adsl_set_encapsulation (NMSetting *setting, const char *prop, const
return check_and_set_string (setting, prop, val, adsl_valid_encapsulations, error);
}
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_adsl_allowed_encapsulation, adsl_valid_encapsulations)
-
-
/* --- NM_SETTING_BLUETOOTH_SETTING_NAME property functions --- */
DEFINE_GETTER (nmc_property_bluetooth_get_bdaddr, NM_SETTING_BLUETOOTH_BDADDR)
DEFINE_GETTER (nmc_property_bluetooth_get_type, NM_SETTING_BLUETOOTH_TYPE)
@@ -5916,57 +5879,6 @@ nmc_properties_init (void)
/* create properties hash table */
nmc_properties = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_free);
- /* Add editable properties for NM_SETTING_ADSL_SETTING_NAME */
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_USERNAME,
- nmc_property_adsl_get_username,
- nmc_property_set_string,
- NULL,
- NULL,
- NULL,
- NULL);
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_PASSWORD,
- nmc_property_adsl_get_password,
- nmc_property_set_string,
- NULL,
- NULL,
- NULL,
- NULL);
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_PASSWORD_FLAGS,
- nmc_property_adsl_get_password_flags,
- nmc_property_set_secret_flags,
- NULL,
- NULL,
- NULL,
- NULL);
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_PROTOCOL,
- nmc_property_adsl_get_protocol,
- nmc_property_adsl_set_protocol,
- NULL,
- NULL,
- nmc_property_adsl_allowed_protocol,
- NULL);
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_ENCAPSULATION,
- nmc_property_adsl_get_encapsulation,
- nmc_property_adsl_set_encapsulation,
- NULL,
- NULL,
- nmc_property_adsl_allowed_encapsulation,
- NULL);
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_VPI,
- nmc_property_adsl_get_vpi,
- nmc_property_set_uint,
- NULL,
- NULL,
- NULL,
- NULL);
- nmc_add_prop_funcs (NM_SETTING_ADSL_SETTING_NAME""NM_SETTING_ADSL_VCI,
- nmc_property_adsl_get_vci,
- nmc_property_set_uint,
- NULL,
- NULL,
- NULL,
- NULL);
-
/* Add editable properties for NM_SETTING_BLUETOOTH_SETTING_NAME */
nmc_add_prop_funcs (NM_SETTING_BLUETOOTH_SETTING_NAME""NM_SETTING_BLUETOOTH_BDADDR,
nmc_property_bluetooth_get_bdaddr,
@@ -7792,38 +7704,6 @@ setting_vlan_details (const NmcSettingInfo *setting_info, NMSetting *setting, Nm
}
static gboolean
-setting_adsl_details (const NmcSettingInfo *setting_info, NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets)
-{
- NMSettingAdsl *s_adsl = NM_SETTING_ADSL (setting);
- NmcOutputField *tmpl, *arr;
- size_t tmpl_len;
-
- g_return_val_if_fail (NM_IS_SETTING_ADSL (s_adsl), FALSE);
-
- tmpl = nmc_fields_setting_adsl;
- tmpl_len = sizeof (nmc_fields_setting_adsl);
- nmc->print_fields.indices = parse_output_fields (one_prop ? one_prop : NMC_FIELDS_SETTING_ADSL_ALL,
- tmpl, FALSE, NULL, NULL);
- arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_FIELD_NAMES);
- g_ptr_array_add (nmc->output_data, arr);
-
- arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX);
- set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting)));
- set_val_str (arr, 1, nmc_property_adsl_get_username (setting, NMC_PROPERTY_GET_PRETTY));
- set_val_str (arr, 2, GET_SECRET (secrets, setting, nmc_property_adsl_get_password));
- set_val_str (arr, 3, nmc_property_adsl_get_password_flags (setting, NMC_PROPERTY_GET_PRETTY));
- set_val_str (arr, 4, nmc_property_adsl_get_protocol (setting, NMC_PROPERTY_GET_PRETTY));
- set_val_str (arr, 5, nmc_property_adsl_get_encapsulation (setting, NMC_PROPERTY_GET_PRETTY));
- set_val_str (arr, 6, nmc_property_adsl_get_vpi (setting, NMC_PROPERTY_GET_PRETTY));
- set_val_str (arr, 7, nmc_property_adsl_get_vci (setting, NMC_PROPERTY_GET_PRETTY));
- g_ptr_array_add (nmc->output_data, arr);
-
- print_data (nmc); /* Print all data */
-
- return TRUE;
-}
-
-static gboolean
setting_bridge_details (const NmcSettingInfo *setting_info, NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets)
{
NMSettingBridge *s_bridge = NM_SETTING_BRIDGE (setting);
@@ -8511,6 +8391,53 @@ static const NmcPropertyInfo properties_setting_802_1x[] = {
},
};
+static const NmcPropertyInfo properties_setting_adsl[] = {
+ PROPERTY_INFO_NAME(),
+ {
+ .property_name = N_ (NM_SETTING_ADSL_USERNAME),
+ .property_type = &_pt_gobject_string,
+ },
+ {
+ .property_name = N_ (NM_SETTING_ADSL_PASSWORD),
+ .is_secret = TRUE,
+ .property_type = &_pt_gobject_string,
+ },
+ {
+ .property_name = N_ (NM_SETTING_ADSL_PASSWORD_FLAGS),
+ .property_type = &_pt_gobject_secret_flags,
+ },
+ {
+ .property_name = N_ (NM_SETTING_ADSL_PROTOCOL),
+ .property_type = DEFINE_PROPERTY_TYPE (
+ .get_fcn = _get_fcn_gobject,
+ .set_fcn = _set_fcn_nmc,
+ ),
+ .property_typ_data = DEFINE_PROPERTY_TYP_DATA_WITH_ARG1 (nmc,
+ .values_static = adsl_valid_protocols,
+ .set_fcn = nmc_property_adsl_set_protocol,
+ ),
+ },
+ {
+ .property_name = N_ (NM_SETTING_ADSL_ENCAPSULATION),
+ .property_type = DEFINE_PROPERTY_TYPE (
+ .get_fcn = _get_fcn_gobject,
+ .set_fcn = _set_fcn_nmc,
+ ),
+ .property_typ_data = DEFINE_PROPERTY_TYP_DATA_WITH_ARG1 (nmc,
+ .values_static = adsl_valid_encapsulations,
+ .set_fcn = nmc_property_adsl_set_encapsulation,
+ ),
+ },
+ {
+ .property_name = N_ (NM_SETTING_ADSL_VPI),
+ .property_type = &_pt_gobject_uint,
+ },
+ {
+ .property_name = N_ (NM_SETTING_ADSL_VCI),
+ .property_type = &_pt_gobject_uint,
+ },
+};
+
static const NmcPropertyInfo properties_setting_connection[] = {
PROPERTY_INFO_NAME(),
{
@@ -9383,7 +9310,8 @@ const NmcSettingInfo nmc_setting_infos[_NM_META_SETTING_TYPE_NUM] = {
},
[NM_META_SETTING_TYPE_ADSL] = {
.general = &nm_meta_setting_infos[NM_META_SETTING_TYPE_ADSL],
- .get_setting_details = setting_adsl_details,
+ .properties = properties_setting_adsl,
+ .properties_num = G_N_ELEMENTS (properties_setting_adsl),
},
[NM_META_SETTING_TYPE_BLUETOOTH] = {
.general = &nm_meta_setting_infos[NM_META_SETTING_TYPE_BLUETOOTH],
diff --git a/clients/cli/settings.h b/clients/cli/settings.h
index 8f6f6223ea..fcae242ddb 100644
--- a/clients/cli/settings.h
+++ b/clients/cli/settings.h
@@ -158,7 +158,6 @@ gboolean setting_details (NMSetting *setting, NmCli *nmc, const char *one_prop,
extern NmcOutputField nmc_fields_setting_wired[];
extern NmcOutputField nmc_fields_setting_wireless[];
extern NmcOutputField nmc_fields_setting_serial[];
-extern NmcOutputField nmc_fields_setting_adsl[];
extern NmcOutputField nmc_fields_setting_gsm[];
extern NmcOutputField nmc_fields_setting_cdma[];
extern NmcOutputField nmc_fields_setting_bluetooth[];