Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ed3e4b6 authored by Mark Tabry's avatar Mark Tabry Committed by android-build-merger
Browse files

Merge "Adds VMS START_SESSION message type and message definition." into qt-dev

am: 2d8ce13d

Change-Id: I024804fcc4c2109c2d0e5e9f86e4fbcabdebf43b
parents 1b9c3e71 2d8ce13d
Loading
Loading
Loading
Loading
+35 −1
Original line number Diff line number Diff line
@@ -3248,6 +3248,16 @@ enum DiagnosticFloatSensorIndex : int32_t {
 * the message is decoded.
 */
enum VmsMessageType : int32_t {
    /**
     * A notification indicating that the sender has been reset.
     *
     * The receiving party must reset its internal state and respond to the
     * sender with a START_SESSION message as acknowledgement.
     *
     * This message type uses enum VmsStartSessionMessageIntegerValuesIndex.
     */
    START_SESSION = 17,

    /**
     * A request from the subscribers to the VMS service to subscribe to a layer.
     *
@@ -3364,7 +3374,7 @@ enum VmsMessageType : int32_t {
     */
    PUBLISHER_INFORMATION_RESPONSE = 16,

    LAST_VMS_MESSAGE_TYPE = PUBLISHER_INFORMATION_RESPONSE,
    LAST_VMS_MESSAGE_TYPE = START_SESSION,
};

/**
@@ -3377,6 +3387,30 @@ enum VmsBaseMessageIntegerValuesIndex : int32_t {
    MESSAGE_TYPE = 0,
};

/*
 * Handshake data sent as part of a VmsMessageType.START_SESSION message.
 *
 * A new session is initiated by sending a START_SESSION message with the
 * sender's identifier populated and the receiver's identifier set to -1.
 *
 * Identifier values are independently generated, but must be non-negative, and
 * increase monotonically between reboots.
 *
 * Upon receiving a START_SESSION with a mis-matching identifier, the receiver
 * must clear any cached VMS offering or subscription state and acknowledge the
 * new session by responding with a START_SESSION message that populates both
 * identifier fields.
 *
 * Any VMS messages received between initiation and completion of the handshake
 * must be discarded.
 */
enum VmsStartSessionMessageIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
    /* Identifier field for the Android system service. */
    SERVICE_ID = 1,
    /* Identifier field for the HAL client process. */
    CLIENT_ID = 2,
};

/*
 * A VMS message with a layer is sent as part of a VmsMessageType.SUBSCRIBE or
 * VmsMessageType.UNSUBSCRIBE messages.