## PDS enumerations and flags PDS enumerations and flags |

## Synopsis

    enum                QmiPdsOperationMode;
    enum                QmiPdsPositionSessionStatus;
    enum                QmiPdsDataValid;
    enum                QmiPdsTrackingSessionState;

    const gchar *       qmi_pds_operation_mode_get_string   (QmiPdsOperationMode val);
    const gchar *       qmi_pds_position_session_status_get_string
                                                            (QmiPdsPositionSessionStatus val);
    gchar *             qmi_pds_data_valid_build_string_from_mask
                                                            (QmiPdsDataValid mask);
    const gchar *       qmi_pds_tracking_session_state_get_string
                                                            (QmiPdsTrackingSessionState val);

## Object Hierarchy

      GEnum
       +----QmiPdsOperationMode

      GEnum
       +----QmiPdsPositionSessionStatus

      GFlags
       +----QmiPdsDataValid

      GEnum
       +----QmiPdsTrackingSessionState

## Description

This section defines enumerations and flags used in the PDS service interface.

## Details

### enum QmiPdsOperationMode

    typedef enum {
        QMI_PDS_OPERATION_MODE_UNKNOWN     = -1,
        QMI_PDS_OPERATION_MODE_STANDALONE  =  0,
        QMI_PDS_OPERATION_MODE_MS_BASED    =  1,
        QMI_PDS_OPERATION_MODE_MS_ASSISTED =  2
    } QmiPdsOperationMode;

Operation mode used to compute the position.

`QMI_PDS_OPERATION_MODE_UNKNOWN` | Unknown (position not fixed yet).
`QMI_PDS_OPERATION_MODE_STANDALONE` | Standalone.
`QMI_PDS_OPERATION_MODE_MS_BASED` | MS based.
`QMI_PDS_OPERATION_MODE_MS_ASSISTED` | MS assisted.

### enum QmiPdsPositionSessionStatus

    typedef enum {
        QMI_PDS_POSITION_SESSION_STATUS_SUCCESS                  = 0x00,
        QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS              = 0x01,
        QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE          = 0x02,
        QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT                  = 0x03,
        QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION       = 0x04,
        QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER            = 0x05,
        QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE            = 0x06,
        QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED            = 0x07,
        QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS = 0x08
    } QmiPdsPositionSessionStatus;

Status of the positioning session.

`QMI_PDS_POSITION_SESSION_STATUS_SUCCESS` | Success.
`QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS` | In progress.
`QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE` | General failure.
`QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT` | Timeout.
`QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION` | User ended session.
`QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER` | Bad parameter.
`QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE` | Phone is offline.
`QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED` | Engine locked.
`QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS` | Emergency call in progress.

### enum QmiPdsDataValid

    typedef enum {
        QMI_PDS_DATA_VALID_TIMESTAMP_CALENDAR      = 1 << 0,
        QMI_PDS_DATA_VALID_TIMESTAMP_UTC           = 1 << 1,
        QMI_PDS_DATA_VALID_LEAP_SECONDS            = 1 << 2,
        QMI_PDS_DATA_VALID_TIME_UNCERTAINTY        = 1 << 3,
        QMI_PDS_DATA_VALID_LATITUDE                = 1 << 4,
        QMI_PDS_DATA_VALID_LONGITUDE               = 1 << 5,
        QMI_PDS_DATA_VALID_ELLIPSOID_ALTITUDE      = 1 << 6,
        QMI_PDS_DATA_VALID_MEAN_SEA_LEVEL_ALTITUDE = 1 << 7,
        QMI_PDS_DATA_VALID_HORIZONTAL_SPEED        = 1 << 8,
        QMI_PDS_DATA_VALID_VERTICAL_SPEED          = 1 << 9,
        QMI_PDS_DATA_VALID_HEADING                 = 1 << 10,
        QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_CIRCULAR               = 1 << 11,
        QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MAJOR     = 1 << 12,
        QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MINOR     = 1 << 13,
        QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_ORIENT_AZIMUTH = 1 << 14,
        QMI_PDS_DATA_VALID_VERTICAL_UNCERTAINTY                          = 1 << 15,
        QMI_PDS_DATA_VALID_HORIZONTAL_VELOCITY_UNCERTAINTY               = 1 << 16,
        QMI_PDS_DATA_VALID_VERTICAL_VELOCITY_UNCERTAINTY                 = 1 << 17,
        QMI_PDS_DATA_VALID_HORIZONTAL_CONFIDENCE   = 1 << 18,
        QMI_PDS_DATA_VALID_POSITION_DOP            = 1 << 19,
        QMI_PDS_DATA_VALID_HORIZONTAL_DOP          = 1 << 20,
        QMI_PDS_DATA_VALID_VERTICAL_DOP            = 1 << 21,
        QMI_PDS_DATA_VALID_OPERATING_MODE          = 1 << 22
    } QmiPdsDataValid;

Flags to indicate which position data parameters are valid.

`QMI_PDS_DATA_VALID_TIMESTAMP_CALENDAR` | Timestamp calendar (GPS time).
`QMI_PDS_DATA_VALID_TIMESTAMP_UTC` | Timestamp (UTC).
`QMI_PDS_DATA_VALID_LEAP_SECONDS` | Leap seconds.
`QMI_PDS_DATA_VALID_TIME_UNCERTAINTY` | Time uncertainty.
`QMI_PDS_DATA_VALID_LATITUDE` | Latitude.
`QMI_PDS_DATA_VALID_LONGITUDE` | Longitude.
`QMI_PDS_DATA_VALID_ELLIPSOID_ALTITUDE` | Ellipsoid altitude.
`QMI_PDS_DATA_VALID_MEAN_SEA_LEVEL_ALTITUDE` | Mean sea level altitude.
`QMI_PDS_DATA_VALID_HORIZONTAL_SPEED` | Horizontal speed.
`QMI_PDS_DATA_VALID_VERTICAL_SPEED` | Vertical speed.
`QMI_PDS_DATA_VALID_HEADING` | Heading.
`QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_CIRCULAR` | Horizontal uncertainty circular.
`QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MAJOR` | Horizontal uncertainty ellipse semi-major.
`QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MINOR` | Horizontal uncertainty ellipse semi-minor.
`QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_ORIENT_AZIMUTH` | Horizontal uncertainty ellipse orient azimuth.
`QMI_PDS_DATA_VALID_VERTICAL_UNCERTAINTY` | Vertical uncertainty.
`QMI_PDS_DATA_VALID_HORIZONTAL_VELOCITY_UNCERTAINTY` | Horizontal velocity uncertainty.
`QMI_PDS_DATA_VALID_VERTICAL_VELOCITY_UNCERTAINTY` | Vertical velocity uncertainty.
`QMI_PDS_DATA_VALID_HORIZONTAL_CONFIDENCE` | Horizontal confidence.
`QMI_PDS_DATA_VALID_POSITION_DOP` | Position dillution of precision.
`QMI_PDS_DATA_VALID_HORIZONTAL_DOP` | Horizontal dillution of precision.
`QMI_PDS_DATA_VALID_VERTICAL_DOP` | Vertical dillution of precision.
`QMI_PDS_DATA_VALID_OPERATING_MODE` | Operating mode.

### enum QmiPdsTrackingSessionState

    typedef enum {
        QMI_PDS_TRACKING_SESSION_STATE_UNKNOWN  = 0,
        QMI_PDS_TRACKING_SESSION_STATE_INACTIVE = 1,
        QMI_PDS_TRACKING_SESSION_STATE_ACTIVE   = 2
    } QmiPdsTrackingSessionState;

State of the tracking session.

`QMI_PDS_TRACKING_SESSION_STATE_UNKNOWN` | Unknown state.
`QMI_PDS_TRACKING_SESSION_STATE_INACTIVE` | Session inactive.
`QMI_PDS_TRACKING_SESSION_STATE_ACTIVE` | Session active.

### qmi_pds_operation_mode_get_string ()

    const gchar *       qmi_pds_operation_mode_get_string   (QmiPdsOperationMode val);

Gets the nickname string for the QmiPdsOperationMode specified at `val`.

`val` : | a QmiPdsOperationMode.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### qmi_pds_position_session_status_get_string ()

    const gchar *       qmi_pds_position_session_status_get_string
                                                            (QmiPdsPositionSessionStatus val);

Gets the nickname string for the QmiPdsPositionSessionStatus specified at `val`.

`val` : | a QmiPdsPositionSessionStatus.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]

### qmi_pds_data_valid_build_string_from_mask ()

    gchar *             qmi_pds_data_valid_build_string_from_mask
                                                            (QmiPdsDataValid mask);

Builds a string containing a comma-separated list of nicknames for each QmiPdsDataValid in `mask`.

`mask` : | bitmask of QmiPdsDataValid values.
Returns : | a string with the list of nicknames, or `NULL` if none given. The returned value should be freed with `g_free()`. [transfer full]

### qmi_pds_tracking_session_state_get_string ()

    const gchar *       qmi_pds_tracking_session_state_get_string
                                                            (QmiPdsTrackingSessionState val);

Gets the nickname string for the QmiPdsTrackingSessionState specified at `val`.

`val` : | a QmiPdsTrackingSessionState.
Returns : | a string with the nickname, or `NULL` if not found. Do not free the returned value. [transfer none]