From a2edae5cee4254b933f42399edc0e092abd4f5cf Mon Sep 17 00:00:00 2001 From: Aleksandar Donchev Date: Mon, 2 Sep 2013 11:57:28 +0200 Subject: *PluginCommandInterfaceCAPI, PluginRoutingInterfaceCAPI, NodeStateCommunicatorCAPI with unit tests first version. Choosing between DBUS and Common-API via cmake. CommonAPI - legacy support for DBus properties (Set 1) Signed-off-by: Christian Linke (cherry picked from commit ea96ef59e29466667c90b506426e2a5a9cdb82d2) --- .../fidl/CommandInterface.fdepl | 6 + .../fidl/CommandInterface.fidl | 723 +++++++++++++++++++++ .../fidl/PluginCommandInterfaceCAPI_dbus.conf | 8 + PluginCommandInterfaceCAPI/fidl/amTypes.fidl | 329 ++++++++++ 4 files changed, 1066 insertions(+) create mode 100644 PluginCommandInterfaceCAPI/fidl/CommandInterface.fdepl create mode 100755 PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl create mode 100644 PluginCommandInterfaceCAPI/fidl/PluginCommandInterfaceCAPI_dbus.conf create mode 100755 PluginCommandInterfaceCAPI/fidl/amTypes.fidl (limited to 'PluginCommandInterfaceCAPI/fidl') 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 -- cgit v1.2.1