summaryrefslogtreecommitdiff
path: root/PluginCommandInterfaceCAPI/fidl
diff options
context:
space:
mode:
Diffstat (limited to 'PluginCommandInterfaceCAPI/fidl')
-rw-r--r--PluginCommandInterfaceCAPI/fidl/CommandInterface.fdepl6
-rwxr-xr-xPluginCommandInterfaceCAPI/fidl/CommandInterface.fidl723
-rw-r--r--PluginCommandInterfaceCAPI/fidl/PluginCommandInterfaceCAPI_dbus.conf8
-rwxr-xr-xPluginCommandInterfaceCAPI/fidl/amTypes.fidl329
4 files changed, 1066 insertions, 0 deletions
diff --git a/PluginCommandInterfaceCAPI/fidl/CommandInterface.fdepl b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fdepl
new file mode 100644
index 0000000..b500f07
--- /dev/null
+++ b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fdepl
@@ -0,0 +1,6 @@
+import "CommandInterface.fidl"
+import "platform:/plugin/org.genivi.commonapi.dbus/deployment/deployment.fdepl"
+
+define org.genivi.commonapi.dbus.deployment.deployment for interface org.genivi.am.CommandInterface {
+ DefaultEnumBackingType=Int16
+} \ No newline at end of file
diff --git a/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
new file mode 100755
index 0000000..8f1a220
--- /dev/null
+++ b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
@@ -0,0 +1,723 @@
+package org.genivi.audiomanager
+
+import org.genivi.audiomanager.am.* from "amTypes.fidl"
+
+<**
+ @author : J�rgen Gehring
+
+ @description : CommandInterface AudioManager.
+
+ @details : Source D-Bus specification org.genivi.audiomanager.CommandInterface
+
+**>
+
+interface CommandInterface {
+ version {
+ major 0
+ minor 1
+ }
+ method Connect {
+ in {
+ am_sourceID_t sourceID
+ am_sinkID_t sinkID
+ }
+ out {
+ am_Error_e result
+ am_mainConnectionID_t mainConnectionID
+ }
+ }
+ method Disconnect {
+ in {
+ am_mainConnectionID_t mainConnectionID
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method SetVolume {
+ in {
+ am_sinkID_t sinkID
+ am_mainVolume_t volume
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method VolumeStep {
+ in {
+ am_sinkID_t sinkID
+ am_mainVolume_t volumeStep
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method SetSinkMuteState {
+ in {
+ am_sinkID_t sinkID
+ am_MuteState_e muteState
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method SetMainSinkSoundProperty {
+ in {
+ am_sinkID_t sinkID
+ am_MainSoundProperty_s soundProperty
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method SetMainSourceSoundProperty {
+ in {
+ am_sourceID_t sourceID
+ am_MainSoundProperty_s soundProperty
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method SetSystemProperty {
+ in {
+ am_SystemProperty_s soundProperty
+ }
+ out {
+ am_Error_e result
+ }
+ }
+ method GetListMainConnections {
+ out {
+ am_Error_e result
+ am_MainConnectionType_l listConnections
+ }
+ }
+ method GetListMainSinks {
+ out {
+ am_Error_e result
+ am_SinkType_l listMainSinks
+ }
+ }
+ method GetListMainSources {
+ out {
+ am_Error_e result
+ am_SourceType_l listMainSources
+ }
+ }
+ method GetListMainSinkSoundProperties {
+ in {
+ am_sinkID_t sinkID
+ }
+ out {
+ am_Error_e result
+ am_MainSoundProperty_l listSoundProperties
+ }
+ }
+ method GetListMainSourceSoundProperties {
+ in {
+ am_sourceID_t sourceID
+ }
+ out {
+ am_Error_e result
+ am_MainSoundProperty_l listSourceProperties
+ }
+ }
+ method GetListSourceClasses {
+ out {
+ am_Error_e result
+ am_SourceClass_l listSourceClasses
+ }
+ }
+ method GetListSinkClasses {
+ out {
+ am_Error_e result
+ am_SinkClass_l listSinkClasses
+ }
+ }
+ method GetListSystemProperties {
+ out {
+ am_Error_e result
+ am_SystemProperty_l listSystemProperties
+ }
+ }
+ method GetTimingInformation {
+ in {
+ am_mainConnectionID_t mainConnectionID
+ }
+ out {
+ am_Error_e result
+ am_timeSync_t delay
+ }
+ }
+ broadcast NumberOfMainConnectionsChanged {
+ }
+ broadcast MainConnectionStateChanged {
+ out {
+ am_mainConnectionID_t connectionID
+ am_ConnectionState_e connectionState
+ }
+ }
+ broadcast NumberOfSourceClassesChanged {
+ }
+ broadcast SourceAdded {
+ out {
+ am_SourceType_s newSource
+ }
+ }
+ broadcast SourceRemoved {
+ out {
+ am_sourceID_t removedSourceID
+ }
+ }
+ broadcast MainSourceSoundPropertyChanged {
+ out {
+ am_sourceID_t sourceID
+ am_MainSoundProperty_s SoundProperty
+ }
+ }
+ broadcast SourceAvailabilityChanged {
+ out {
+ am_sourceID_t sourceID
+ am_Availability_s availability
+ }
+ }
+ broadcast NumberOfSinkClassesChanged {
+ }
+ broadcast SinkAdded {
+ out {
+ am_SinkType_s newSink
+ }
+ }
+ broadcast SinkRemoved {
+ out {
+ am_sinkID_t removedSinkID
+ }
+ }
+ broadcast MainSinkSoundPropertyChanged {
+ out {
+ am_sinkID_t sinkID
+ am_MainSoundProperty_s SoundProperty
+ }
+ }
+ broadcast SinkAvailabilityChanged {
+ out {
+ am_sinkID_t sinkID
+ am_Availability_s availability
+ }
+ }
+ broadcast VolumeChanged {
+ out {
+ am_sinkID_t sinkID
+ am_mainVolume_t volume
+ }
+ }
+ broadcast SinkMuteStateChanged {
+ out {
+ am_sinkID_t sinkID
+ am_MuteState_e muteState
+ }
+ }
+ broadcast SystemPropertyChanged {
+ out {
+ am_SystemProperty_s SystemProperty
+ }
+ }
+ broadcast TimingInformationChanged {
+ out {
+ am_mainConnectionID_t mainConnection
+ am_timeSync_t time
+ }
+ }
+
+ broadcast SinkUpdated{
+ out{
+ am_sinkID_t sinkID
+ am_sinkClass_t sinkClassID
+ am_MainSoundProperty_l listMainSoundProperties
+ }
+ }
+
+ broadcast SourceUpdated{
+ out{
+ am_sourceID_t sourceID
+ am_sourceClass_t sourceClassID
+ am_MainSoundProperty_l listMainSoundProperties
+ }
+ }
+
+ broadcast SinkNotification{
+ out{
+ am_sinkID_t sinkID
+ am_NotificationPayload_s notification
+ }
+ }
+
+ broadcast SourceNotification{
+ out{
+ am_sourceID_t sourceID
+ am_NotificationPayload_s notification
+ }
+ }
+
+ broadcast MainSinkNotificationConfigurationChanged{
+ out{
+ am_sinkID_t sinkID
+ am_NotificationConfiguration_s mainNotificationConfiguration
+ }
+ }
+
+ broadcast MainSourceNotificationConfigurationChanged{
+ out{
+ am_sourceID_t sourceID
+ am_NotificationConfiguration_s mainNotificationConfiguration
+ }
+ }
+
+ typedef am_sourceID_t is UInt16
+
+ typedef am_sinkID_t is UInt16
+
+ typedef am_mainConnectionID_t is UInt16
+
+ typedef am_timeSync_t is Int16
+
+ typedef am_mainVolume_t is Int16
+
+ typedef am_sourceClass_t is UInt16
+
+ typedef am_sinkClass_t is UInt16
+
+ <**
+ @description : The errors of the audiomanager. All possible errors are in here. This enum is used widely as return parameter.
+ **>
+ enumeration am_Error_e {
+
+ //E_UNKNOWN = "0x00"
+
+ <**
+ @description : no error - positive reply
+ **>
+ E_OK = "0x00"
+
+ <**
+ @description : value out of range
+ **>
+ E_OUT_OF_RANGE = "0x01"
+
+ <**
+ @description : not used
+ **>
+ E_NOT_USED = "0x02"
+
+ <**
+ @description : a database error occurred
+ **>
+ E_DATABASE_ERROR = "0x03"
+
+ <**
+ @description : the desired object already exists
+ **>
+ E_ALREADY_EXISTS = "0x04"
+
+ <**
+ @description : there is no change
+ **>
+ E_NO_CHANGE = "0x05"
+
+ <**
+ @description : the desired action is not possible
+ **>
+ E_NOT_POSSIBLE = "0x06"
+
+ <**
+ @description : the desired object is non existent
+ **>
+ E_NON_EXISTENT = "0x07"
+
+ <**
+ @description : the asynchronous action was aborted
+ **>
+ E_ABORTED = "0x08"
+
+ <**
+ @description : This error is returned in case a connect is issued with a connectionFormat
+ that cannot be selected for the connection. This could be either due to the capabilities of
+ a source or a sink or gateway compatibilities for example
+ **>
+ E_WRONG_FORMAT = "0x09"
+ E_MAX = "0xA"
+ }
+
+ enumeration am_MuteState_e {
+
+ <**
+ @description : default
+ **>
+ MS_UNKNOWN = "0x00"
+
+ <**
+ @description : the source / sink is muted
+ **>
+ MS_MUTED = "0x01"
+
+ <**
+ @description : the source / sink is unmuted
+ **>
+ MS_UNMUTED = "0x02"
+ MS_MAX = "0x03"
+ }
+
+ enumeration am_MainSoundPropertyType_e {
+
+ <**
+ @description : default
+ **>
+ MSP_UNKNOWN = "0x00"
+
+ <**
+ @description : example value between -10 and +10
+ **>
+ MSP_EXAMPLE_TREBLE = "0x01"
+
+ <**
+ @description : example value between -10 and +10
+ **>
+ MSP_EXAMPLE_MID = "0x02"
+
+ <**
+ @description : example value between -10 and +10
+ **>
+ MSP_EXAMPLE_BASS = "0x03"
+ MSP_SOURCE_TYPE = "0x04"
+ MSP_MAX = "0x05"
+ }
+
+ enumeration am_SystemPropertyType_e {
+
+ <**
+ @description : default
+ **>
+ SYP_UNKNOWN = "0x00"
+ SYP_MAX = "0x01"
+ }
+
+ enumeration am_ConnectionState_e {
+ CS_UNKNOWN = "0x00"
+
+ <**
+ @description : This means the connection is just building up
+ **>
+ CS_CONNECTING = "0x01"
+
+ <**
+ @description : the connection is ready to be used
+ **>
+ CS_CONNECTED = "0x02"
+
+ <**
+ @description : the connection is in the course to be knocked down
+ **>
+ CS_DISCONNECTING = "0x03"
+
+ <**
+ @description : only relevant for connectionStatechanged. Is send after the connection was removed
+ **>
+ CS_DISCONNECTED = "0x04"
+
+ <**
+ @description : this means the connection is still build up but unused at the moment
+ **>
+ CS_SUSPENDED = "0x05"
+ CS_MAX = "0x06"
+ }
+
+ enumeration am_Availablility_e {
+
+ <**
+ @description : default
+ **>
+ A_UNKNOWN = "0x00"
+
+ <**
+ @description : The source / sink is available
+ **>
+ A_AVAILABLE = "0x01"
+
+ <**
+ @description : the source / sink is not available
+ **>
+ A_UNAVAILABLE = "0x02"
+ A_MAX = "0x03"
+ }
+
+ enumeration am_AvailabilityReason_e {
+
+ <**
+ @description : default
+ **>
+ AR_UNKNOWN = "0x00"
+
+ <**
+ @description : the availability changed because an new media was entered.
+ **>
+ AR_GENIVI_NEWMEDIA = "0x01"
+
+ <**
+ @description : the availability changed because the same media was entered.
+ **>
+ AR_GENIVI_SAMEMEDIA = "0x02"
+
+ <**
+ @description : the availability changed because there is no media.
+ **>
+ AR_GENIVI_NOMEDIA = "0x03"
+
+ <**
+ @description : the availability changed because of a temperature event.
+ **>
+ AR_GENIVI_TEMPERATURE = "0x04"
+
+ <**
+ @description : the availability changed because of a voltage event.
+ **>
+ AR_GENIVI_VOLTAGE = "0x05"
+
+ <**
+ @description : the availability changed because of fatal errors reading or accessing media.
+ **>
+ AR_GENIVI_ERRORMEDIA = "0x06"
+ AR_MAX = "0x07"
+ }
+
+ enumeration am_ClassProperty_e {
+
+ <**
+ @description : default
+ **>
+ CP_UNKNOWN = "0x00"
+
+ <**
+ @description : defines the source type of a source. Project specific, could be for example differentiation between interrupt source and main source.
+ **>
+ CP_GENIVI_SOURCE_TYPE = "0x01"
+ /**
+ * defines the SINK_TYPE. Project specific
+ */
+ <**
+ @description : defines the SINK_TYPE. Project specific.
+ **>
+ CP_GENIVI_SINK_TYPE = "0x02"
+ CP_MAX = "0x03"
+ }
+
+ enumeration am_InterruptState_e
+ {
+ /**
+ * default
+ */
+ IS_UNKNOWN = "0x00"
+ /**
+ * the interrupt state is off - no interrupt
+ */
+ IS_OFF = "0x01"
+ /**
+ * the interrupt state is interrupted - the interrupt is active
+ */
+ IS_INTERRUPTED = "0x02"
+ IS_MAX = "0x03"
+ }
+
+ struct am_MainSoundProperty_s {
+
+ <**
+ @description : the type of the property
+ **>
+ am_MainSoundPropertyType_e type
+
+ <**
+ @description : the actual value
+ **>
+ Int16 value
+ } array am_MainSoundProperty_l of am_MainSoundProperty_s
+
+ struct am_SystemProperty_s {
+
+ <**
+ @description : the type that is set
+ **>
+ am_SystemPropertyType_e type
+
+ <**
+ @description : the actual value
+ **>
+ Int16 value
+ }
+
+ array am_SystemProperty_l of am_SystemProperty_s
+
+ struct am_MainConnectionType_s {
+
+ <**
+ @description : the ID of the mainconnection
+ **>
+ am_mainConnectionID_t mainConnectionID
+
+ <**
+ @description : the sourceID where the connection starts
+ **>
+ am_sourceID_t sourceID
+
+ <**
+ @description : the sinkID where the connection ends
+ **>
+ am_sinkID_t sinkID
+
+ <**
+ @description : the delay of the mainconnection
+ **>
+ am_timeSync_t delay
+
+ <**
+ @description : the current connection state
+ **>
+ am_ConnectionState_e connectionState
+ }
+
+ array am_MainConnectionType_l of am_MainConnectionType_s
+
+ struct am_Availability_s {
+
+ <**
+ @description : the current availability state.
+ **>
+ am_Availablility_e availability
+
+ <**
+ @description : the reason for the last change. This can be used to trigger events that deal with state changes.
+ **>
+ am_AvailabilityReason_e availabilityReason
+ }
+
+ struct am_SourceType_s {
+
+ <**
+ @description : his is the ID of the source, it is unique in the system. There are 2 ways, ID can be created: either it is assigned during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is a fixed (the project has to ensure the uniqueness of the ID).
+ **>
+ am_sourceID_t sourceID
+
+ <**
+ @description : The name of the source. Must be unique in the whole system.
+ **>
+ String name
+
+ <**
+ @description : the availability of the source
+ **>
+ am_Availability_s availability
+
+ <**
+ @description : the sourceClassID, indicates the class the source is in. This information can be used by the Controller to implement different behaviour for different classes.
+ **>
+ am_sourceClass_t sourceClassID
+ }
+
+ array am_SourceType_l of am_SourceType_s
+
+ struct am_SinkType_s {
+
+ <**
+ @description : This is the ID of the sink, it is unique in the system. There are 2 ways, ID can be created: either it is assigned during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is a fixed (the project has to ensure the uniqueness of the ID).
+ **>
+ am_sinkID_t sinkID
+
+ <**
+ @description : The name of the sink. Must be unique in the whole system.
+ **>
+ String name
+
+ <**
+ @description :
+ This attribute reflects the availability of the sink. There are several reasons why a sink could be not available for the moment: for example the shutdown of a sink because of overtemperature or over- & undervoltage. The availability consists of two pieces of information:
+ Availablility: the status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
+ AvailabilityReason: this informs about the last reason for a change in availability. The reasons itself are product specific.
+
+ **>
+ am_Availability_s availability
+
+ <**
+ @description : This is the representation of the Volume for the commandInterface. It is used by the HMI to set the volume of a sink, the AudioManagerController has to transform this into real source and sink volumes.
+ **>
+ am_mainVolume_t volume
+ am_MuteState_e muteState
+
+ <**
+ @description : the sinkClassID references to a sinkClass. With the help of classification, rules can be setup to define the system behaviour.
+ **>
+ am_sinkClass_t sinkClassID
+ }
+
+ array am_SinkType_l of am_SinkType_s
+
+ struct am_ClassProperty_s {
+
+ <**
+ @description : he property as enum.
+ **>
+ am_ClassProperty_e classProperty
+ Int16 value
+ }
+
+ array am_ClassProperty_l of am_ClassProperty_s
+
+ struct am_SourceClass_s {
+
+ <**
+ @description : the source ID.
+ **>
+ am_sourceClass_t sourceClassID
+
+ <**
+ @description : the name of the sourceClass - must be unique in the system.
+ **>
+ String name
+
+ <**
+ @description : the list of the class properties. These are pairs of a project specific enum describing the type of the value and an integer holding the real value.
+ **>
+ am_ClassProperty_l listClassProperties
+ }
+
+ array am_SourceClass_l of am_SourceClass_s
+
+ struct am_SinkClass_s {
+
+ <**
+ @description : the ID of the sinkClass.
+ **>
+ am_sinkClass_t sinkClassID
+
+ <**
+ @description : the name of the sinkClass - must be unique in the system.
+ **>
+ String name
+
+ <**
+ @description : the list of the class properties. These are pairs of a project specific enum describing the type of the value and an integer holding the real value.
+ **>
+ am_ClassProperty_l listClassProperties
+ }
+
+ array am_SinkClass_l of am_SinkClass_s
+
+ struct am_NotificationPayload_s
+ {
+ am_NotificationType_e type
+ <**
+ @description : This is finally the value of the notification. It's meaning depends on the notificationType
+ **>
+ Int16 value
+
+ }
+
+}
diff --git a/PluginCommandInterfaceCAPI/fidl/PluginCommandInterfaceCAPI_dbus.conf b/PluginCommandInterfaceCAPI/fidl/PluginCommandInterfaceCAPI_dbus.conf
new file mode 100644
index 0000000..b3ae199
--- /dev/null
+++ b/PluginCommandInterfaceCAPI/fidl/PluginCommandInterfaceCAPI_dbus.conf
@@ -0,0 +1,8 @@
+######################################## Command interface configuration #########################################
+# PluginCommandInterfaceCAPI_dbus.conf #
+# If you change something make sure you re-configure with 'ccmake..' which generates the *_dbus.conf file again. #
+##################################################################################################################
+[local:org.genivi.audiomanger.commandinterface:org.genivi.audiomanger]
+dbus_connection=org.genivi.audiomanager
+dbus_object=/org/genivi/audiomanager/commandinterface
+dbus_interface=org.genivi.audiomanager.commandinterface \ No newline at end of file
diff --git a/PluginCommandInterfaceCAPI/fidl/amTypes.fidl b/PluginCommandInterfaceCAPI/fidl/amTypes.fidl
new file mode 100755
index 0000000..6f11698
--- /dev/null
+++ b/PluginCommandInterfaceCAPI/fidl/amTypes.fidl
@@ -0,0 +1,329 @@
+package org.genivi.audiomanager
+
+typeCollection am
+{
+ typedef am_sourceID_t is UInt16
+ typedef am_sinkID_t is UInt16
+ typedef am_gatewayID_t is UInt16
+ typedef gongHandle is Int16
+ typedef am_sourceClass_t is UInt16
+ typedef am_sinkClass_t is UInt16
+ typedef am_volume_t is Int16
+ typedef am_mainVolume_t is Int16
+ typedef am_handle_t is UInt16
+ typedef am_time_t is UInt16
+
+ enumeration gp_indicatorDirection_e
+ {
+ INDICATOR_RIGHT ="0x00"
+ INDICATOR_LEFT="0x01"
+ INDICATOR_WARNING="0x02"
+ }
+
+ enumeration am_RampType_e
+ {
+ RAMP_UNKNOWN = "0x00"
+ RAMP_GENIVI_DIRECT = "0x01"
+ RAMP_GENIVI_NO_PLOP = "0x02"
+ RAMP_GENIVI_EXP_INV = "0x03"
+ RAMP_GENIVI_LINEAR = "0x04"
+ RAMP_GENIVI_EXP = "0x05"
+ RAMP_MAX = "0x06"
+ }
+
+ enumeration am_MuteState_e
+ {
+ MS_UNKNOWN = "0x00"
+ MS_MUTED = "0x01"
+ MS_UNMUTED = "0x02"
+ MS_MAX = "0x03"
+ }
+
+ enumeration am_SourceState_e
+ {
+ SS_UNKNNOWN = "0x00"
+ SS_ON = "0x01"
+ SS_OFF = "0x02"
+ SS_PAUSED = "0x03"
+ SS_MAX = "0x04"
+ }
+ enumeration am_Error_e
+ {
+ E_OK = "0x00"
+ E_UNKNOWN = "0x01"
+ E_OUT_OF_RANGE = "0x02"
+ E_NOT_USED = "0x03"
+ E_DATABASE_ERROR = "0x04"
+ E_ALREADY_EXISTS = "0x05"
+ E_NO_CHANGE = "0x06"
+ E_NOT_POSSIBLE = "0x07"
+ E_NON_EXISTENT = "0x08"
+ E_ABORTED = "0x09"
+ E_WRONG_FORMAT = "0xA"
+ E_MAX = "0xB"
+ }
+
+ enumeration am_DomainState_e
+ {
+
+ DS_UNKNOWN = "0"
+ DS_CONTROLLED = "1"
+ DS_INDEPENDENT_STARTUP = "2"
+ DS_INDEPENDENT_RUNDOWN = "3"
+ DS_MAX = "4"
+ }
+
+ enumeration gongType_e
+ {
+ AT_NUN = "0x01"
+ AT_POC = "0x02"
+ AT_QUE = "0x03"
+ AT_IWA = "0x04"
+ AT_WA = "0x05"
+ AT_ETC_F = "0x06"
+ AT_ETC_F2 = "0x07"
+ AT_ETC_ST = "0x08"
+ AT_ETC_S = "0x09"
+ AT_REV = "0x0A"
+ AT_ESU = "0x0B"
+ AT_ESD = "0x0C"
+ AT_DG = "0x0D"
+ AT_SG = "0x0E"
+ AT_IDG = "0x0F"
+ AT_ION = "0x10"
+ AT_IOFF = "0x11"
+ AT_FBS = "0x12"
+ AT_VFS = "0x13"
+ AT_GES = "0x14"
+ AT_UEE = "0x15"
+ }
+
+ enumeration gp_indicatorStatus_e
+ {
+ IS_ON = "0x00"
+ IS_OFF = "0x01"
+ }
+
+ enumeration gongStatus_e
+ {
+ NOT_PLAYING = "0x00"
+ PLAYING = "0x01"
+ INTERRUPTED = "0x02"
+ }
+
+ enumeration gongError_e
+ {
+ SUCCESS = "0x00"
+ ERROR = "0x01"
+ LOW_PRIORITY = "0x02"
+ }
+
+ enumeration gongClass_e
+ {
+ GONGCLASS_1 = "0x01"
+ GONGCLASS_2 = "0x02"
+ GONGCLASS_PDC = "0x03"
+ GONGCLASS_TURN = "0x04"
+ GONGCLASS_OBSTACLE = "0x05"
+ }
+
+ enumeration sampleSet_e
+ {
+ setBMW = "0x00"
+ setMini = "0x01"
+ setRR = "0x02"
+ }
+
+ enumeration am_Availability_e
+ {
+ A_UNKNOWN = "0x00"
+ A_AVAILABLE = "0x01"
+ A_UNAVAILABLE = "0x02"
+ A_MAX = "0x03"
+ }
+ enumeration am_AvailabilityReason_e
+ {
+ AR_UNKNOWN = "0x00"
+ AR_GENIVI_NEWMEDIA = "0x01"
+ AR_GENIVI_SAMEMEDIA = "0x02"
+ AR_GENIVI_NOMEDIA = "0x03"
+ AR_GENIVI_TEMPERATURE = "0x04"
+ AR_GENIVI_VOLTAGE = "0x05"
+ AR_GENIVI_ERRORMEDIA = "0x06"
+ AR_MAX = "0x07"
+ }
+
+ enumeration am_InterruptState_e
+ {
+ IS_UNKNOWN = "0x00"
+ IS_OFF = "0x01"
+ IS_INTERRUPTED = "0x02"
+ IS_MAX = "0x03"
+ }
+
+ enumeration am_SoundPropertyType_e
+ {
+ SP_UNKNOWN = "0x00"
+ SP_EXAMPLE_TREBLE = "0x01"
+ SP_EXAMPLE_MID = "0x02"
+ SP_EXAMPLE_BASS = "0x03"
+ SP_ENTER_SINKID = "0x04"
+ SP_INTERR_SUPERSEEDINGID = "0x05"
+ SP_INTERR_OVERLAYID = "0x06"
+ SP_PRIORITY = "0x07"
+ SP_MAX = "0x08"
+ }
+
+ enumeration am_ConnectionFormat_e
+ {
+ CF_UNKNOWN = "0x00"
+ CF_GENIVI_MONO = "0x01"
+ CF_GENIVI_STEREO = "0x02"
+ CF_GENIVI_ANALOG = "0x03"
+ CF_GENIVI_AUTO = "0x04"
+ CF_MAX = "0x05"
+ }
+ array am_ConnectionFormat_L of am_ConnectionFormat_e
+
+ enumeration am_MainSoundPropertyType_e
+ {
+ MSP_UNKNOWN = "0x00"
+ MSP_EXAMPLE_TREBLE = "0x01"
+ MSP_EXAMPLE_MID = "0x02"
+ MSP_EXAMPLE_BASS = "0x03"
+ MSP_SOURCE_TYPE = "0x04"
+ MSP_MAX = "0x05"
+ }
+
+ enumeration am_NotificationType_e
+ {
+ NT_UNKNOWN = "0x00"
+ NT_LOUDNESS = "0x01"
+ NT_MAX = "0x02"
+ }
+
+ enumeration am_NotificationStatus_e
+ {
+ NS_UNKNOWN = "0x00"
+ NS_OFF = "0x01"
+ NS_PERIODIC = "0x02"
+ NS_MINIMUM = "0x03"
+ NS_MAXIMUM = "0x04"
+ NS_CHANGE = "0x05"
+ NS_MAX = "0x06"
+ }
+
+ struct distanceInformation_s
+ {
+ Int32 FrontLeft
+ Int32 FrontRight
+ Int32 RearLeft
+ Int32 RearRight
+ }
+
+ struct sampleNames_s
+ {
+ sampleSet_e sample
+ String sampleName
+ } array listSampleNamesL of sampleNames_s
+
+ typedef am_domainID_t is UInt16
+
+ struct am_Domain_s
+ {
+ am_domainID_t domainID
+ String name
+ String busname
+ String nodename
+ Boolean early
+ Boolean complete
+ am_DomainState_e ^state
+ }
+
+ struct notificationPayload_s
+ {
+ Int16 type
+ Int16 payload
+ }
+
+ struct am_Availability_s
+ {
+ am_Availability_e availability
+ am_AvailabilityReason_e availabilityReason
+ }
+
+ struct am_SoundProperty_s
+ {
+ am_SoundPropertyType_e type
+ Int16 value
+ }
+ array am_SoundProperty_L of am_SoundProperty_s
+
+ struct am_MainSoundProperty_s
+ {
+ am_MainSoundPropertyType_e type
+ Int16 value
+ }
+ array am_MainSoundProperty_L of am_MainSoundProperty_s
+
+ struct am_NotificationConfiguration_s
+ {
+ am_NotificationType_e type
+ am_NotificationStatus_e status
+ Int16 parameter
+ }
+ array am_NotificationConfiguration_L of am_NotificationConfiguration_s
+
+
+ array bool_L of Boolean
+
+ struct sourceData_s
+ {
+ am_sourceID_t sourceID
+ am_domainID_t domainID
+ String name
+ am_sourceClass_t sourceClassID
+ am_SourceState_e sourceState
+ am_volume_t volume
+ Boolean visible
+ am_Availability_s available
+ am_InterruptState_e interruptState
+ am_SoundProperty_L listSoundProperties
+ am_ConnectionFormat_L listConnectionFormats
+ am_MainSoundProperty_L listMainSoundProperties
+ am_NotificationConfiguration_L listMainNotificationConfigurations
+ am_NotificationConfiguration_L listNotificationConfigurations
+ }
+
+ struct sinkData_s
+ {
+ am_sinkID_t sinkID
+ String name
+ am_domainID_t domainID
+ am_sinkClass_t sinkClassID
+ am_volume_t volume
+ Boolean visible
+ am_Availability_s available
+ am_MuteState_e muteState
+ am_mainVolume_t mainVolume
+ am_SoundProperty_L listSoundProperties
+ am_ConnectionFormat_L listConnectionFormats
+ am_MainSoundProperty_L listMainSoundProperties
+ am_NotificationConfiguration_L listMainNotificationConfigurations
+ am_NotificationConfiguration_L listNotificationConfigurations
+ }
+
+ struct am_Gateway_s
+ {
+ am_gatewayID_t gatewayID
+ String name
+ am_sinkID_t sinkID
+ am_sourceID_t sourceID
+ am_domainID_t domainSinkID
+ am_domainID_t domainSourceID
+ am_domainID_t controlDomainID
+ am_ConnectionFormat_L listSourceFormats
+ am_ConnectionFormat_L listSinkFormats
+ bool_L convertionMatrix
+ }
+} \ No newline at end of file