From 01d10a11cf59731f1e5bb43c2285aaffba45e1a3 Mon Sep 17 00:00:00 2001 From: Asaf Rosenfeld Date: Wed, 26 Jul 2017 23:30:15 -0700 Subject: [PATCH] Rename and Redoc VMS HAL defs. Test: All tests has been adjusted to post review names and pass. Bug: 64093467 Change-Id: I7b5646b179030b59b87abc23ffe6a2a81e1b74b2 --- automotive/vehicle/2.1/Android.mk | 202 +++++++++++++++++------------ automotive/vehicle/2.1/types.hal | 204 ++++++++++++++++++++++-------- 2 files changed, 270 insertions(+), 136 deletions(-) diff --git a/automotive/vehicle/2.1/Android.mk b/automotive/vehicle/2.1/Android.mk index 2dfbefc164..3001da05c4 100644 --- a/automotive/vehicle/2.1/Android.mk +++ b/automotive/vehicle/2.1/Android.mk @@ -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) diff --git a/automotive/vehicle/2.1/types.hal b/automotive/vehicle/2.1/types.hal index e5f94113a3..f614b8b9bd 100644 --- a/automotive/vehicle/2.1/types.hal +++ b/automotive/vehicle/2.1/types.hal @@ -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, };