summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-09-12 09:34:50 +0200
committerAleksander Morgado <aleksander@lanedo.com>2013-09-12 12:28:16 +0200
commita38c68073610d02eed64e28ea8f2b1e6039b0d0c (patch)
treea6726cad70fee6c0ccce0ab2e459b3298c8d1210
parenteee734faba3808615a85c13bc9d5104bf958efa3 (diff)
downloadlibqmi-a38c68073610d02eed64e28ea8f2b1e6039b0d0c.tar.gz
wds: implement "WDS Get Profile List"
-rw-r--r--data/qmi-service-wds.json41
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-common.sections5
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-docs.xml1
-rw-r--r--src/libqmi-glib/qmi-enums-wds.h51
4 files changed, 98 insertions, 0 deletions
diff --git a/data/qmi-service-wds.json b/data/qmi-service-wds.json
index febb86e1..0e44b657 100644
--- a/data/qmi-service-wds.json
+++ b/data/qmi-service-wds.json
@@ -286,6 +286,47 @@
"prerequisites" : [ { "common-ref" : "Success" } ] } ] },
// *********************************************************************************
+ { "name" : "Get Profile List",
+ "type" : "Message",
+ "service" : "WDS",
+ "id" : "0x002A",
+ "version" : "1.1",
+ "input" : [ { "name" : "Profile Type",
+ "id" : "0x10",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiWdsProfileType" } ],
+ "output" : [ { "common-ref" : "Operation Result" },
+ { "name" : "Profile List",
+ "id" : "0x01",
+ "mandatory" : "yes",
+ "type" : "TLV",
+ "format" : "array",
+ "array-element" : { "name" : "Profile",
+ "format" : "struct",
+ "contents" : [ { "name" : "Profile Type",
+ "format" : "guint8",
+ "public-format" : "QmiWdsProfileType" },
+ { "name" : "Profile Index",
+ "format" : "guint8" },
+ { "name" : "Profile Name",
+ "format" : "string" } ] },
+ "prerequisites" : [ { "common-ref" : "Success" } ] },
+ { "name" : "Extended Error Code",
+ "id" : "0xE0",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint16",
+ "public-format" : "QmiWdsDsProfileError",
+ "prerequisites" : [ { "field" : "Result.Error Status",
+ "operation" : "!=",
+ "value" : "QMI_STATUS_SUCCESS" },
+ { "field" : "Result.Error Code",
+ "operation" : "==",
+ "value" : "QMI_PROTOCOL_ERROR_EXTENDED_INTERNAL" } ] } ] },
+
+ // *********************************************************************************
{ "name" : "Get Current Settings",
"type" : "Message",
"service" : "WDS",
diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
index 380d1fac..b6d6d090 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
+++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
@@ -416,6 +416,7 @@ QmiWdsTrafficClass
QmiWdsAuthentication
QmiWdsProfileType
QmiWdsPacketStatisticsMaskFlag
+QmiWdsDsProfileError
<SUBSECTION Methods>
qmi_wds_ip_family_get_string
qmi_wds_technology_preference_build_string_from_mask
@@ -444,6 +445,7 @@ qmi_wds_traffic_class_get_string
qmi_wds_authentication_build_string_from_mask
qmi_wds_profile_type_get_string
qmi_wds_packet_statistics_mask_flag_build_string_from_mask
+qmi_wds_ds_profile_error_get_string
<SUBSECTION Private>
qmi_wds_ip_family_build_string_from_mask
qmi_wds_technology_preference_get_string
@@ -471,6 +473,7 @@ qmi_wds_traffic_class_build_string_from_mask
qmi_wds_authentication_get_string
qmi_wds_profile_type_build_string_from_mask
qmi_wds_packet_statistics_mask_flag_get_string
+qmi_wds_ds_profile_error_build_string_from_mask
<SUBSECTION Standard>
QMI_TYPE_WDS_AUTHENTICATION
QMI_TYPE_WDS_CALL_END_REASON
@@ -498,6 +501,7 @@ QMI_TYPE_WDS_VERBOSE_CALL_END_REASON_MIP
QMI_TYPE_WDS_VERBOSE_CALL_END_REASON_PPP
QMI_TYPE_WDS_VERBOSE_CALL_END_REASON_TYPE
QMI_TYPE_WDS_PACKET_STATISTICS_MASK_FLAG
+QMI_TYPE_WDS_DS_PROFILE_ERROR
qmi_wds_authentication_get_type
qmi_wds_call_end_reason_get_type
qmi_wds_call_type_get_type
@@ -524,6 +528,7 @@ qmi_wds_verbose_call_end_reason_mip_get_type
qmi_wds_verbose_call_end_reason_ppp_get_type
qmi_wds_verbose_call_end_reason_type_get_type
qmi_wds_packet_statistics_mask_flag_get_type
+qmi_wds_ds_profile_error_get_type
</SECTION>
<SECTION>
diff --git a/docs/reference/libqmi-glib/libqmi-glib-docs.xml b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
index 1795b596..ee978318 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-docs.xml
+++ b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
@@ -156,6 +156,7 @@
<xi:include href="xml/qmi-message-wds-stop-network.xml"/>
<xi:include href="xml/qmi-message-wds-get-packet-service-status.xml"/>
<xi:include href="xml/qmi-message-wds-get-packet-statistics.xml"/>
+ <xi:include href="xml/qmi-message-wds-get-profile-list.xml"/>
<xi:include href="xml/qmi-message-wds-get-current-settings.xml"/>
<xi:include href="xml/qmi-message-wds-get-data-bearer-technology.xml"/>
<xi:include href="xml/qmi-message-wds-get-current-data-bearer-technology.xml"/>
diff --git a/src/libqmi-glib/qmi-enums-wds.h b/src/libqmi-glib/qmi-enums-wds.h
index 2bfc624f..f509742f 100644
--- a/src/libqmi-glib/qmi-enums-wds.h
+++ b/src/libqmi-glib/qmi-enums-wds.h
@@ -968,4 +968,55 @@ typedef enum {
QMI_WDS_PACKET_STATISTICS_MASK_FLAG_RX_PACKETS_DROPPED = 1 << 9
} QmiWdsPacketStatisticsMaskFlag;
+/*****************************************************************************/
+/* Helper enums for the 'QMI WDS Get Profile List' message */
+
+/**
+ * QmiWdsDsProfileError:
+ * @QMI_WDS_DS_PROFILE_ERROR_UNKNOWN: Unknown DS profile error.
+ * @QMI_WDS_DS_PROFILE_ERROR_FAIL: General failure.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_HANDLE: Invalid handle.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_OPERATION: Invalid operation.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_TYPE: Invalid profile type.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_NUMBER: Invalid profile number.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_ID: Invalid profile identifier.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_ARGUMENT: Invalid argument.
+ * @QMI_WDS_DS_PROFILE_ERROR_REGISTRY_NOT_INITIALIZED: Registry not initialized.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_PARAMETER_LENGTH: Invalid parameter length.
+ * @QMI_WDS_DS_PROFILE_ERROR_LIST_END: List end, profile not found.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_SUBSCRIPTION_ID: Invalid subscription identifier.
+ * @QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_FAMILY: Invalid profile family.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP_INVALID_PROFILE_FAMILY: Invalid 3GPP profile family.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP_ACCESS_ERROR: Error accessing 3GPP profiles.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP_CONTEXT_NOT_DEFINED: 3GPP profile doesn't have a valid context.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP_VALID_FLAG_NOT_SET: 3GPP profile doesn't have valid flag set.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP_READ_ONLY_FLAG_SET: 3GPP profile has read-only flag set.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP_OUT_OF_PROFILES: Out of 3GPP profiles.
+ * @QMI_WDS_DS_PROFILE_ERROR_3GPP2_INVALID_PROFILE_ID: Invalid 3GPP2 profile identifier.
+ *
+ * Extended DS profile errors.
+ */
+typedef enum {
+ QMI_WDS_DS_PROFILE_ERROR_UNKNOWN = 0,
+ QMI_WDS_DS_PROFILE_ERROR_FAIL = 1,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_HANDLE = 2,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_OPERATION = 3,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_TYPE = 4,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_NUMBER = 5,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_ID = 6,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_ARGUMENT = 7,
+ QMI_WDS_DS_PROFILE_ERROR_REGISTRY_NOT_INITIALIZED = 8,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_PARAMETER_LENGTH = 9,
+ QMI_WDS_DS_PROFILE_ERROR_LIST_END = 10,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_SUBSCRIPTION_ID = 11,
+ QMI_WDS_DS_PROFILE_ERROR_INVALID_PROFILE_FAMILY = 12,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP_INVALID_PROFILE_FAMILY = 1001,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP_ACCESS_ERROR = 1002,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP_CONTEXT_NOT_DEFINED = 1003,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP_VALID_FLAG_NOT_SET = 1004,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP_READ_ONLY_FLAG_SET = 1005,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP_OUT_OF_PROFILES = 1006,
+ QMI_WDS_DS_PROFILE_ERROR_3GPP2_INVALID_PROFILE_ID = 1101,
+} QmiWdsDsProfileError;
+
#endif /* _LIBQMI_GLIB_QMI_ENUMS_WDS_H_ */