aboutsummaryrefslogtreecommitdiff
path: root/src/qmicli/qmicli-wds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmicli/qmicli-wds.c')
-rw-r--r--src/qmicli/qmicli-wds.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/qmicli/qmicli-wds.c b/src/qmicli/qmicli-wds.c
index 6e8f75d..8bcf20d 100644
--- a/src/qmicli/qmicli-wds.c
+++ b/src/qmicli/qmicli-wds.c
@@ -1375,6 +1375,8 @@ typedef struct {
gchar *name;
QmiWdsPdpType pdp_type;
gboolean pdp_type_set;
+ QmiWdsApnTypeMask apn_type;
+ gboolean apn_type_set;
gchar *apn;
gchar *username;
gchar *password;
@@ -1466,6 +1468,19 @@ create_modify_profile_properties_handle (const gchar *key,
return TRUE;
}
+ if (g_ascii_strcasecmp (key, "apn-type-mask") == 0 && !props->apn_type_set) {
+ if (!qmicli_read_wds_apn_type_mask_from_string (value, &(props->apn_type))) {
+ g_set_error (error,
+ QMI_CORE_ERROR,
+ QMI_CORE_ERROR_FAILED,
+ "unknown apn type '%s'",
+ value);
+ return FALSE;
+ }
+ props->apn_type_set = TRUE;
+ return TRUE;
+ }
+
if (g_ascii_strcasecmp (key, "no-roaming") == 0 && !props->no_roaming_set) {
if (!qmicli_read_yes_no_from_string (value, &(props->no_roaming))) {
g_set_error (error,
@@ -1567,6 +1582,9 @@ create_profile_input_create (const gchar *str,
if (props.pdp_type_set)
qmi_message_wds_create_profile_input_set_pdp_type (*input, props.pdp_type, NULL);
+ if (props.apn_type_set)
+ qmi_message_wds_create_profile_input_set_apn_type_mask (*input, props.apn_type, NULL);
+
if (props.name)
qmi_message_wds_create_profile_input_set_profile_name (*input, props.name, NULL);
@@ -1880,6 +1898,9 @@ modify_profile_input_create (const gchar *str,
if (props.pdp_type_set)
qmi_message_wds_modify_profile_input_set_pdp_type (*input, props.pdp_type, NULL);
+ if (props.apn_type_set)
+ qmi_message_wds_modify_profile_input_set_apn_type_mask (*input, props.apn_type, NULL);
+
if (props.name)
qmi_message_wds_modify_profile_input_set_profile_name (*input, props.name, NULL);