summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-02-06 14:28:30 +0100
committerAleksander Morgado <aleksander@aleksander.es>2014-02-07 15:34:31 +0100
commit2437992e2993f7a321e5a5ffa5d12f63291528a6 (patch)
tree487eb92bff9afd01e62b5e6d4893b22e1b8fcb8e
parent631ea8926043b0ff846d3368d8689939292e94c5 (diff)
downloadlibqmi-2437992e2993f7a321e5a5ffa5d12f63291528a6.tar.gz
pds: implement "PDS Set/Get AGPS Config"aleksander/agps
-rw-r--r--data/qmi-service-pds.json64
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-common.sections5
-rw-r--r--src/libqmi-glib/qmi-enums-pds.h15
3 files changed, 84 insertions, 0 deletions
diff --git a/data/qmi-service-pds.json b/data/qmi-service-pds.json
index 564eb4bf..b2e3cb8a 100644
--- a/data/qmi-service-pds.json
+++ b/data/qmi-service-pds.json
@@ -340,6 +340,70 @@
"output" : [ { "common-ref" : "Operation Result" } ] },
// *********************************************************************************
+ { "name" : "Get AGPS Config",
+ "type" : "Message",
+ "service" : "PDS",
+ "id" : "0x002E",
+ "version" : "1.0",
+ "input" : [ { "name" : "Network Mode",
+ "id" : "0x12",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiPdsNetworkMode" } ],
+ "output" : [ { "common-ref" : "Operation Result" },
+ { "name" : "Location Server Address",
+ "id" : "0x10",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "IP",
+ "format" : "guint32",
+ "endian" : "little" },
+ { "name" : "Port",
+ "format" : "guint32" } ],
+ "prerequisites" : [ { "common-ref" : "Success" } ] },
+ { "name" : "Location Server URL",
+ "id" : "0x11",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "array",
+ "size-prefix-format" : "guint8",
+ "array-element" : { "format" : "guint8" },
+ "prerequisites" : [ { "common-ref" : "Success" } ] } ] },
+
+ // *********************************************************************************
+ { "name" : "Set AGPS Config",
+ "type" : "Message",
+ "service" : "PDS",
+ "id" : "0x002F",
+ "version" : "1.0",
+ "input" : [ { "name" : "Location Server Address",
+ "id" : "0x10",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "IP",
+ "format" : "guint32",
+ "format" : "guint32" },
+ { "name" : "Port",
+ "format" : "guint32" } ] },
+ { "name" : "Location Server URL",
+ "id" : "0x11",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "array",
+ "size-prefix-format" : "guint8",
+ "array-element" : { "format" : "guint8" } },
+ { "name" : "Network Mode",
+ "id" : "0x14",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiPdsNetworkMode" } ],
+ "output" : [ { "common-ref" : "Operation Result" } ] },
+
+ // *********************************************************************************
{ "name" : "Get Auto Tracking State",
"type" : "Message",
"service" : "PDS",
diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
index 501f4951..eac6296a 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
+++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
@@ -639,29 +639,34 @@ QmiPdsPositionSessionStatus
QmiPdsDataValid
QmiPdsTrackingSessionState
QmiPdsOperatingMode
+QmiPdsNetworkMode
<SUBSECTION Methods>
qmi_pds_operation_mode_get_string
qmi_pds_position_session_status_get_string
qmi_pds_data_valid_build_string_from_mask
qmi_pds_tracking_session_state_get_string
qmi_pds_operating_mode_get_string
+qmi_pds_network_mode_get_string
<SUBSECTION Private>
qmi_pds_operation_mode_build_string_from_mask
qmi_pds_position_session_status_build_string_from_mask
qmi_pds_data_valid_get_string
qmi_pds_tracking_session_state_build_string_from_mask
qmi_pds_operating_mode_build_string_from_mask
+qmi_pds_network_mode_build_string_from_mask
<SUBSECTION Standard>
QMI_TYPE_PDS_DATA_VALID
QMI_TYPE_PDS_OPERATION_MODE
QMI_TYPE_PDS_POSITION_SESSION_STATUS
QMI_TYPE_PDS_TRACKING_SESSION_STATE
QMI_TYPE_PDS_OPERATING_MODE
+QMI_TYPE_PDS_NETWORK_MODE
qmi_pds_data_valid_get_type
qmi_pds_operation_mode_get_type
qmi_pds_position_session_status_get_type
qmi_pds_tracking_session_state_get_type
qmi_pds_operating_mode_get_type
+qmi_pds_network_mode_get_type
</SECTION>
<SECTION>
diff --git a/src/libqmi-glib/qmi-enums-pds.h b/src/libqmi-glib/qmi-enums-pds.h
index eec99329..d9ced545 100644
--- a/src/libqmi-glib/qmi-enums-pds.h
+++ b/src/libqmi-glib/qmi-enums-pds.h
@@ -168,4 +168,19 @@ typedef enum {
QMI_PDS_OPERATING_MODE_MS_ASSISTED = 2,
} QmiPdsOperatingMode;
+/*****************************************************************************/
+/* Helper enums for the 'QMI PDS Get AGPS Config' request/response */
+
+/**
+ * QmiPdsNetworkMode:
+ * @QMI_PDS_NETWORK_MODE_UMTS: UMTS.
+ * @QMI_PDS_NETWORK_MODE_CDMA: CDMA.
+ *
+ * Network mode used during the A-GPS setup.
+ */
+typedef enum {
+ QMI_PDS_NETWORK_MODE_UMTS = 0,
+ QMI_PDS_NETWORK_MODE_CDMA = 1,
+} QmiPdsNetworkMode;
+
#endif /* _LIBQMI_GLIB_QMI_ENUMS_PDS_H_ */