diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-09-12 09:34:50 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-09-12 12:28:16 +0200 |
commit | a38c68073610d02eed64e28ea8f2b1e6039b0d0c (patch) | |
tree | a6726cad70fee6c0ccce0ab2e459b3298c8d1210 | |
parent | eee734faba3808615a85c13bc9d5104bf958efa3 (diff) | |
download | libqmi-a38c68073610d02eed64e28ea8f2b1e6039b0d0c.tar.gz |
wds: implement "WDS Get Profile List"
-rw-r--r-- | data/qmi-service-wds.json | 41 | ||||
-rw-r--r-- | docs/reference/libqmi-glib/libqmi-glib-common.sections | 5 | ||||
-rw-r--r-- | docs/reference/libqmi-glib/libqmi-glib-docs.xml | 1 | ||||
-rw-r--r-- | src/libqmi-glib/qmi-enums-wds.h | 51 |
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_ */ |