void mm_simple_connect_properties_set_number (MMSimpleConnectProperties *self, const gchar *number) { g_return_if_fail (MM_IS_SIMPLE_CONNECT_PROPERTIES (self)); mm_bearer_properties_set_number (self->priv->bearer_properties, number); }
gboolean mm_bearer_properties_consume_variant (MMBearerProperties *properties, const gchar *key, GVariant *value, GError **error) { g_return_val_if_fail (MM_IS_BEARER_PROPERTIES (properties), FALSE); if (g_str_equal (key, PROPERTY_APN)) mm_bearer_properties_set_apn ( properties, g_variant_get_string (value, NULL)); else if (g_str_equal (key, PROPERTY_ALLOWED_AUTH)) mm_bearer_properties_set_allowed_auth ( properties, g_variant_get_uint32 (value)); else if (g_str_equal (key, PROPERTY_USER)) mm_bearer_properties_set_user ( properties, g_variant_get_string (value, NULL)); else if (g_str_equal (key, PROPERTY_PASSWORD)) mm_bearer_properties_set_password ( properties, g_variant_get_string (value, NULL)); else if (g_str_equal (key, PROPERTY_IP_TYPE)) mm_bearer_properties_set_ip_type ( properties, g_variant_get_uint32 (value)); else if (g_str_equal (key, PROPERTY_NUMBER)) mm_bearer_properties_set_number ( properties, g_variant_get_string (value, NULL)); else if (g_str_equal (key, PROPERTY_ALLOW_ROAMING)) mm_bearer_properties_set_allow_roaming ( properties, g_variant_get_boolean (value)); else { /* Set error */ g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS, "Invalid properties dictionary, unexpected key '%s'", key); return FALSE; } return TRUE; }
gboolean mm_bearer_properties_consume_string (MMBearerProperties *self, const gchar *key, const gchar *value, GError **error) { g_return_val_if_fail (MM_IS_BEARER_PROPERTIES (self), FALSE); if (g_str_equal (key, PROPERTY_APN)) mm_bearer_properties_set_apn (self, value); else if (g_str_equal (key, PROPERTY_ALLOWED_AUTH)) { GError *inner_error = NULL; MMBearerAllowedAuth allowed_auth; allowed_auth = mm_common_get_allowed_auth_from_string (value, &inner_error); if (inner_error) { g_propagate_error (error, inner_error); return FALSE; } mm_bearer_properties_set_allowed_auth (self, allowed_auth); } else if (g_str_equal (key, PROPERTY_USER)) mm_bearer_properties_set_user (self, value); else if (g_str_equal (key, PROPERTY_PASSWORD)) mm_bearer_properties_set_password (self, value); else if (g_str_equal (key, PROPERTY_IP_TYPE)) { GError *inner_error = NULL; MMBearerIpFamily ip_type; ip_type = mm_common_get_ip_type_from_string (value, &inner_error); if (inner_error) { g_propagate_error (error, inner_error); return FALSE; } mm_bearer_properties_set_ip_type (self, ip_type); } else if (g_str_equal (key, PROPERTY_ALLOW_ROAMING)) { GError *inner_error = NULL; gboolean allow_roaming; allow_roaming = mm_common_get_boolean_from_string (value, &inner_error); if (inner_error) { g_propagate_error (error, inner_error); return FALSE; } mm_bearer_properties_set_allow_roaming (self, allow_roaming); } else if (g_str_equal (key, PROPERTY_NUMBER)) mm_bearer_properties_set_number (self, value); else if (g_str_equal (key, PROPERTY_RM_PROTOCOL)) { GError *inner_error = NULL; MMModemCdmaRmProtocol protocol; protocol = mm_common_get_rm_protocol_from_string (value, &inner_error); if (inner_error) { g_propagate_error (error, inner_error); return FALSE; } mm_bearer_properties_set_rm_protocol (self, protocol); } else { g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_INVALID_ARGS, "Invalid properties string, unexpected key '%s'", key); return FALSE; } return TRUE; }