Merge "Rename and Redoc VMS HAL defs." into oc-mr1-dev

This commit is contained in:
TreeHugger Robot 2017-07-31 23:30:13 +00:00 committed by Android (Google) Code Review
commit e2a3ca9cac
2 changed files with 270 additions and 136 deletions

View file

@ -207,6 +207,25 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsAvailabilityStateIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsAvailabilityStateIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsAvailabilityStateIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsBaseMessageIntegerValuesIndex)
#
@ -226,25 +245,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsDataMessageIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsDataMessageIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsDataMessageIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsMessageType)
#
@ -264,6 +264,44 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsMessageWithLayerAndPublisherIdIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsMessageWithLayerAndPublisherIdIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsMessageWithLayerIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsMessageWithLayerIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsMessageWithLayerIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsOfferingMessageIntegerValuesIndex)
#
@ -284,9 +322,9 @@ $(GEN): $(LOCAL_PATH)/types.hal
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsSimpleMessageIntegerValuesIndex)
# Build types.hal (VmsSubscriptionsStateIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsSimpleMessageIntegerValuesIndex.java
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsSubscriptionsStateIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@ -296,26 +334,7 @@ $(GEN): PRIVATE_CUSTOM_TOOL = \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsSimpleMessageIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsSubscriptionResponseFormat)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsSubscriptionResponseFormat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsSubscriptionResponseFormat
android.hardware.automotive.vehicle@2.1::types.VmsSubscriptionsStateIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@ -547,6 +566,25 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsAvailabilityStateIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsAvailabilityStateIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsAvailabilityStateIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsBaseMessageIntegerValuesIndex)
#
@ -566,25 +604,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsDataMessageIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsDataMessageIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsDataMessageIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsMessageType)
#
@ -604,6 +623,44 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsMessageWithLayerAndPublisherIdIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsMessageWithLayerAndPublisherIdIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsMessageWithLayerIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsMessageWithLayerIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsMessageWithLayerIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsOfferingMessageIntegerValuesIndex)
#
@ -624,9 +681,9 @@ $(GEN): $(LOCAL_PATH)/types.hal
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsSimpleMessageIntegerValuesIndex)
# Build types.hal (VmsSubscriptionsStateIntegerValuesIndex)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsSimpleMessageIntegerValuesIndex.java
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsSubscriptionsStateIntegerValuesIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@ -636,26 +693,7 @@ $(GEN): PRIVATE_CUSTOM_TOOL = \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsSimpleMessageIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (VmsSubscriptionResponseFormat)
#
GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsSubscriptionResponseFormat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.automotive.vehicle@2.1::types.VmsSubscriptionResponseFormat
android.hardware.automotive.vehicle@2.1::types.VmsSubscriptionsStateIntegerValuesIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)

View file

@ -119,6 +119,8 @@ enum VehicleProperty: @2.0::VehicleProperty {
* bytes is a serialized VMS message as defined in the vms protocol
* which is opaque to the framework;
*
* IVehicle#get must always return StatusCode::NOT_AVAILABLE.
*
* @change_mode VehiclePropertyChangeMode:ON_CHANGE
* @access VehiclePropertyAccess:READ_WRITE
*/
@ -509,102 +511,196 @@ enum DiagnosticFloatSensorIndex : int32_t {
};
/**
* This enum lists the types of supported VMS messages.
* This enum lists the types of supported VMS messages. It is used as the first
* integer in the vehicle property integers array and determines how the rest of
* the message is decoded.
*/
enum VmsMessageType : int32_t {
/** A client subscribes to a layer. */
/**
* A request from the subscribers to the VMS service to subscribe to a layer.
*
* This message type uses enum VmsMessageWithLayerIntegerValuesIndex.
*/
SUBSCRIBE = 1,
/** A client unsubscribes from a layer. */
UNSUBSCRIBE = 2,
/**
* A request from the subscribers to the VMS service to subscribe to a layer from a specific publisher.
*
* This message type uses enum VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.
*/
SUBSCRIBE_TO_PUBLISHER = 2,
/** A client publishes a data packet. */
DATA = 3,
/**
* A request from the subscribers to the VMS service to unsubscribes from a layer.
*
* This message type uses enum VmsMessageWithLayerIntegerValuesIndex.
*/
UNSUBSCRIBE = 3,
/** A client declaring layers offering. */
OFFERING = 4,
/**
* A request from the subscribers to the VMS service to unsubscribes from a layer from a specific publisher.
*
* This message type uses enum VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.
*/
UNSUBSCRIBE_TO_PUBLISHER = 4,
/** Requesting the list of available layers. */
AVAILABILITY_REQUEST = 5,
/**
* Information from the publishers to the VMS service about the layers which the client can publish.
*
* This message type uses enum VmsOfferingMessageIntegerValuesIndex.
*/
OFFERING = 5,
/** Returning the list of available layers. */
AVAILABILITY_RESPONSE = 6,
/**
* A request from the subscribers to the VMS service to get the available layers.
*
* This message type uses enum VmsBaseMessageIntegerValuesIndex.
*/
AVAILABILITY_REQUEST = 6,
/** Sending to the HAL the current list of the available layers. */
AVAILABILITY_CHANGE = 7,
/**
* A request from the publishers to the VMS service to get the layers with subscribers.
*
* This message type uses enum VmsBaseMessageIntegerValuesIndex.
*/
SUBSCRIPTIONS_REQUEST = 7,
/** Requesting layers that have subscribers. */
SUBSCRIPTIONS_REQUEST = 8,
/**
* A response from the VMS service to the subscribers to a VmsMessageType.AVAILABILITY_REQUEST
*
* This message type uses enum VmsAvailabilityStateIntegerValuesIndex.
*/
AVAILABILITY_RESPONSE = 8,
/** Returning layers that have subscribers. */
SUBSCRIPTIONS_RESPONSE = 9,
/**
* A notification from the VMS service to the subscribers on a change in the available layers.
*
* This message type uses enum VmsAvailabilityStateIntegerValuesIndex.
*/
AVAILABILITY_CHANGE = 9,
/** Sending to the HAL the current list of the subscribed layers. */
SUBSCRIPTIONS_CHANGE = 10,
/**
* A response from the VMS service to the publishers to a VmsMessageType.SUBSCRIPTIONS_REQUEST
*
* This message type uses enum VmsSubscriptionsStateIntegerValuesIndex.
*/
SUBSCRIPTIONS_RESPONSE = 10,
/**
* A notification from the VMS service to the publishers on a change in the layers with subscribers.
*
* This message type uses enum VmsSubscriptionsStateIntegerValuesIndex.
*/
SUBSCRIPTIONS_CHANGE = 11,
/**
* A message from the VMS service to the subscribers or from the publishers to the VMS service
* with a serialized VMS data packet as defined in the VMS protocol.
*
* This message type uses enum VmsBaseMessageIntegerValuesIndex.
*/
DATA = 12,
};
/**
* This enum provides the canonical mapping for VMS properties that have an
* integer value.
* Every VMS message starts with the type of the message from the VmsMessageType enum.
* Messages with no parameters such as VmsMessageType.AVAILABILITY_REQUEST,
* VmsMessageType.SUBSCRIPTIONS_REQUEST and VmsMessageType.DATA are also based on this enum.
*/
enum VmsBaseMessageIntegerValuesIndex : int32_t {
/* The message type as enumerated by VmsMessageType enum. */
VMS_MESSAGE_TYPE = 0,
MESSAGE_TYPE = 0,
};
/*
* This enum provides the canonical mapping for VMS SUBMIT and UNSUBMIT
* messages integer value properties.
* A VMS message with a layer is sent as part of a VmsMessageType.SUBSCRIBE or
* VmsMessageType.UNSUBSCRIBE messages.
*
* The layer type is defined in the VMS protocol, and the subtype and version are
* controlled by the implementer of the publisher.
*/
enum VmsSimpleMessageIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
/* The layer ID as defined in the vms protocol. */
VMS_LAYER_ID = 1,
enum VmsMessageWithLayerIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
LAYER_TYPE = 1,
/* The version of the VMS layer. */
VMS_LAYER_VERSION = 2,
LAYER_SUBTYPE = 2,
/* The layer type as defined in the vms protocol */
VMS_LAYER_SUB_TYPE = 3,
LAYER_VERSION = 3,
};
/*
* This enum provides the canonical mapping for VMS DATA
* message integer value properties.
* A VMS message with a layer and publisher ID is sent as part of a
* VmsMessageType.SUBSCRIBE_TO_PUBLISHER and VmsMessageType.UNSUBSCRIBE_TO_PUBLISHER messages.
*/
enum VmsDataMessageIntegerValuesIndex : VmsSimpleMessageIntegerValuesIndex {
/* A publisher ID of the client that published this message. */
VMS_PUBLISHER_ID = 4,
enum VmsMessageWithLayerAndPublisherIdIntegerValuesIndex : VmsMessageWithLayerIntegerValuesIndex {
PUBLISHER_ID = 4,
};
/*
* This enum provides the canonical mapping for VMS offering messages integer
* value properties
* An offering can be sent by publishers as part of VmsMessageType.OFFERING in order to
* advertise which layers they can publish and under which constraints: e.g., I can publish Layer X
* if someone else will publish Layer Y.
* The offering contains the publisher ID which was assigned to the publisher by the VMS service.
* A single offering is represented as:
* - Layer type
* - Layer subtype
* - Layer version
* - Number of dependencies (N)
* - N x (Layer type, Layer subtype, Layer version)
*/
enum VmsOfferingMessageIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
/* The ID assigend to the publisher by the VMS core. */
PUBLISHER_ID = 1,
/* The number of VMS layer dependencies. */
VMS_NUMBER_OF_LAYERS_DEPENDENCIES = 2,
NUMBER_OF_OFFERS = 2,
/* The first index that contain dependencies */
FIRST_DEPENDENCIES_INDEX = 3,
OFFERING_START = 3,
};
/**
* A VMS subscription request only contains its message type. The format of a VMS subscription
* response is described below.
* A subscriptions state is sent to the publishers in response to a change in the subscriptions
* as part of a VmsMessageType.SUBSCRIPTIONS_CHANGE, or in response to a
* VmsMessageType.SUBSCRIPTIONS_REQUEST message as part of VmsMessageType.SUBSCRIPTIONS_RESPONSE.
* The VMS service issues monotonically increasing sequence numbers, and in case a subscriber receives
* a smaller sequnce number it should ignore the message.
* The subscriptions are sent as a list of layers followed by a list of associated layers:
* {Sequence number, N, M, N x layer, M x associated layer}
* A subscribed layer is represented as three integers:
* - Layer type
* - Layer subtype
* - Layer version
* A subscribed associated layer is a layer with a list of publisher IDs. It is represented as:
* - Layer type
* - Layer subtype
* - Layer version
* - Number of publisher IDs (N)
* - N x publisher ID
*/
enum VmsSubscriptionResponseFormat : VmsBaseMessageIntegerValuesIndex {
/**
* Recipients should ignore any packet with a sequence number that is less than the highest
* sequence number they have seen thus far.
*/
enum VmsSubscriptionsStateIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
SEQUENCE_NUMBER = 1,
/** The number of VMS layers. Each layer has two integers: type and version. */
NUMBER_OF_LAYERS = 2,
/** The first index that contains a layer. */
FIRST_LAYER = 3,
NUMBER_OF_ASSOCIATED_LAYERS = 3,
SUBSCRIPTIONS_START = 4,
};
/**
* An availability state is sent to the subscribers in response to a change in the available
* layers as part of a VmsMessageType.AVAILABILITY_CHANGE message, or in response to a
* VmsMessageType.AVAILABILITY_REQUEST message as part of a VmsMessageType.AVAILABILITY_RESPONSE.
* The VMS service issues monotonically increasing sequence numbers, and in case a subscriber receives
* a smaller sequnce number, it should ignore the message.
* An available associated layer is a layer with a list of publisher IDs:
* - Layer type
* - Layer subtype
* - Layer version
* - Number of publisher IDs (N)
* - N x publisher ID
*/
enum VmsAvailabilityStateIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
SEQUENCE_NUMBER = 1,
NUMBER_OF_ASSOCIATED_LAYERS = 2,
LAYERS_START = 3,
};