diff options
Diffstat (limited to 'PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl')
-rw-r--r--[-rwxr-xr-x] | PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl | 1328 |
1 files changed, 605 insertions, 723 deletions
diff --git a/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl index 8f1a220..0d752d6 100755..100644 --- a/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl +++ b/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl @@ -1,723 +1,605 @@ -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 - - } - -}
+package org.genivi.am
+import org.genivi.am.* from "../../AudioManagerDaemon/fidls/AudioManagerTypes.fidl"
+
+<**
+ @description : The interface towards the Controlling Instance (e.g HMI). It handles the communication towards the HMI and other system components who need to interact with the audiomanagement.
+There are two rules that have to be kept in mind when implementing against this interface:
+ @author : Christian Mueller
+**>
+
+interface CommandControl {
+ version {
+ major 1
+ minor 0
+ }
+
+ <**
+ @description : connects a source to sink
+(at)return E_OK on success, E_NOT_POSSIBLE on failure, E_ALREADY_EXISTS if the connection does already exists
+ **>
+ method connect {
+ in {
+ am_sourceID_t sourceID
+ am_sinkID_t sinkID
+ }
+ out {
+ am_mainConnectionID_t mainConnectionID
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : disconnects a mainConnection
+(at)return E_OK on successes, E_NON_EXISTENT if the connection does not exist, E_NOT_POSSIBLE on error.
+ **>
+ method disconnect {
+ in {
+ am_mainConnectionID_t mainConnectionID
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : sets the volume for a sink
+(at)return E_OK on success, E_UNKOWN on error, E_OUT_OF_RANGE in case the value is out of range
+ **>
+ method setVolume {
+ in {
+
+ <**
+ @description : the sink
+ **>
+ am_sinkID_t sinkID
+
+ <**
+ @description : the volume
+ **>
+ am_mainVolume_t volume
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This function is used to increment or decrement the current volume for a sink.
+(at)return E_OK on success, E_UNKNOWN on error and E_OUT_OF_RANGE if the value is not in the given volume range.
+ **>
+ method volumeStep {
+ in {
+ am_sinkID_t sinkID
+
+ <**
+ @description : indicated the number of steps that should be incremented or decremented. Positive values here inkrement, negative values decrement
+ **>
+ Int16 volumeStep
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : sets the mute state of a sink
+(at)return E_OK on success, E_UNKNOWN on error. If the mute state is already the desired one, the Daemon will return E_OK.
+ **>
+ method setSinkMuteState {
+ in {
+ am_sinkID_t sinkID
+ am_MuteState_e muteState
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This method is used to set sound properties, e.g. Equalizer Values. Since the capabilities of the system can differ, the exact key value pairs can be extended in each product
+(at)return E_OK on success, E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error
+ **>
+ method setMainSinkSoundProperty {
+ in {
+ am_sinkID_t sinkID
+ am_MainSoundProperty_s soundProperty
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This method is used to set sound properties, e.g. Equalizer Values. Since the capabilities of the system can differ, the exact key value pairs can be extended in each product
+(at)return E_OK on success, E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error
+ **>
+ method setMainSourceSoundProperty {
+ in {
+ am_sourceID_t sourceID
+ am_MainSoundProperty_s soundProperty
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : is used to set a specific system property.
+(at)return E_OK on success, E_OUT_OF_RANGE if value exceeds range, E_UNKNOWN in case of an error
+ **>
+ method setSystemProperty {
+ in {
+
+ <**
+ @description : the property that shall be set
+ **>
+ am_SystemProperty_s property
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : returns the actual list of MainConnections
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListMainConnections {
+ out {
+ am_Error_e ^error
+
+ <**
+ @description : returns a list of all connections
+ **>
+ am_MainConnection_L listConnections
+ }
+ }
+
+ <**
+ @description : returns the actual list of Sinks
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListMainSinks {
+ out {
+
+ <**
+ @description : the list of the sinks
+ **>
+ am_SinkType_L listMainSinks
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : returns the actual list of Sources
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListMainSources {
+ out {
+
+ <**
+ @description : the list of sources
+ **>
+ am_SourceType_L listMainSources
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This is used to retrieve all source sound properties related to a source. Returns a vector of the sound properties and values as pair
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListMainSinkSoundProperties {
+ in {
+ am_sinkID_t sinkID
+ }
+ out {
+ am_MainSoundProperty_L listSoundProperties
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This is used to retrieve all source sound properties related to a source.
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListMainSourceSoundProperties {
+ in {
+ am_sourceID_t sourceID
+ }
+ out {
+ am_MainSoundProperty_L listSourceProperties
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This is used to retrieve SourceClass Information of all source classes
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListSourceClasses {
+ out {
+ am_SourceClass_L listSourceClasses
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : This is used to retrieve SinkClass Information of all sink classes
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListSinkClasses {
+ out {
+ am_SinkClass_L listSinkClasses
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : Retrieves a complete list of all systemProperties.
+(at)return E_OK on success, E_DATABASE_ERROR on error
+ **>
+ method getListSystemProperties {
+ out {
+ am_SystemProperty_L listSystemProperties
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : returns the delay in ms that the audiopath for the given mainConnection has
+(at)return E_OK on success, E_NOT_POSSIBLE if timing information is not yet retrieved, E_DATABASE_ERROR on read error on the database
+ **>
+ method getTimingInformation {
+ in {
+ am_mainConnectionID_t mainConnectionID
+ }
+ out {
+ am_timeSync_t delay
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : Retrieves the list of MainNotifications for a sink. Does not return the possible ones.
+ **>
+ method getListMainSinkNotificationConfigurations {
+ in {
+
+ <**
+ @description : The sinkID
+ **>
+ am_sinkID_t sinkID
+ }
+ out {
+ am_NotificationConfiguration_L listMainNotificationConfigurations
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : Retrieves the list of MainNotifications for a source. Does not return the possible ones.
+ **>
+ method getListMainSourceNotificationConfigurations {
+ in {
+
+ <**
+ @description : The sourceID
+ **>
+ am_sourceID_t sourceID
+ }
+ out {
+ am_NotificationConfiguration_L listMainNotificationConfigurations
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : sets a MainNotificationConfiuration. This can be used to turn on an off notifications an to change the mode of the configuration.
+(at)return E_OK on success, E_NON_EXISTENT if sinkID does not exists, E_DATABASE_ERROR on error
+ **>
+ method setMainSinkNotificationConfiguration {
+ in {
+
+ <**
+ @description : The sinkID of the MainNotification to be changed
+ **>
+ am_sinkID_t sinkID
+
+ <**
+ @description : The MainNotifiication that needs to be set
+ **>
+ am_NotificationConfiguration_s mainNotificationConfiguration
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : sets a MainNotificationConfiuration. This can be used to turn on an off notifications an to change the mode of the configuration.
+(at)return E_OK on success, E_NON_EXISTENT if sourceID does not exists, E_DATABASE_ERROR on error
+ **>
+ method setMainSourceNotificationConfiguration {
+ in {
+
+ <**
+ @description : The sourceID of the MainNotification to be changed
+ **>
+ am_sourceID_t sourceID
+
+ <**
+ @description : The MainNotifiication that needs to be set
+ **>
+ am_NotificationConfiguration_s mainNotificationConfiguration
+ }
+ out {
+ am_Error_e ^error
+ }
+ }
+
+ <**
+ @description : Callback that is called when the number of connections change
+ **>
+ broadcast newMainConnection {
+ out {
+ am_MainConnectionType_s mainConnection
+ }
+ }
+
+ <**
+ @description : Callback that is called when the number of connections change
+ **>
+ broadcast removedMainConnection {
+ out {
+ am_mainConnectionID_t mainConnection
+ }
+ }
+
+ <**
+ @description : Callback that is called when the number of sinks change
+ **>
+ broadcast newSink {
+ out {
+ am_SinkType_s sink
+ }
+ }
+
+ <**
+ @description : Callback that is called when the number of sinks change
+ **>
+ broadcast removedSink {
+ out {
+ am_sinkID_t sinkID
+ }
+ }
+
+ <**
+ @description : Callback that is called when the number of sources change
+ **>
+ broadcast newSource {
+ out {
+ am_SourceType_s source
+ }
+ }
+
+ <**
+ @description : Callback that is called when the number of sources change
+ **>
+ broadcast removedSource {
+ out {
+ am_sourceID_t source
+ }
+ }
+
+ <**
+ @description : this callback is fired if the number of sink classes changed
+ **>
+ broadcast numberOfSinkClassesChanged {
+ }
+
+ <**
+ @description : this callback is fired if the number of source classes changed
+ **>
+ broadcast numberOfSourceClassesChanged {
+ }
+
+ <**
+ @description : This callback is called when the ConnectionState of a connection changed.
+ **>
+ broadcast mainConnectionStateChanged {
+ out {
+ am_mainConnectionID_t connectionID
+ am_ConnectionState_e connectionState
+ }
+ }
+
+ <**
+ @description : this callback indicates that a sinkSoundProperty has changed.
+ **>
+ broadcast mainSinkSoundPropertyChanged {
+ out {
+ am_sinkID_t sinkID
+ am_MainSoundProperty_s soundProperty
+ }
+ }
+
+ <**
+ @description : this callback indicates that a sourceSoundProperty has changed.
+ **>
+ broadcast mainSourceSoundPropertyChanged {
+ out {
+ am_sourceID_t sourceID
+ am_MainSoundProperty_s soundProperty
+ }
+ }
+
+ <**
+ @description : this callback is called when the availability of a sink has changed
+ **>
+ broadcast sinkAvailabilityChanged {
+ out {
+ am_sinkID_t sinkID
+ am_Availability_s availability
+ }
+ }
+
+ <**
+ @description : this callback is called when the availability of source has changed.
+ **>
+ broadcast sourceAvailabilityChanged {
+ out {
+ am_sourceID_t sourceID
+ am_Availability_s availability
+ }
+ }
+
+ <**
+ @description : this callback indicates a volume change on the indicated sink
+ **>
+ broadcast volumeChanged {
+ out {
+ am_sinkID_t sinkID
+ am_mainVolume_t volume
+ }
+ }
+
+ <**
+ @description : this callback indicates a mute state change on a sink.
+ **>
+ broadcast sinkMuteStateChanged {
+ out {
+ am_sinkID_t sinkID
+ am_MuteState_e muteState
+ }
+ }
+
+ <**
+ @description : is fired if a systemProperty changed
+ **>
+ broadcast systemPropertyChanged {
+ out {
+ am_SystemProperty_s systemProperty
+ }
+ }
+
+ <**
+ @description : This callback is fired if the timinginformation for a mainConnectionID changed
+ **>
+ broadcast timingInformationChanged {
+ out {
+ am_mainConnectionID_t mainConnectionID
+ am_timeSync_t time
+ }
+ }
+
+ <**
+ @description : This callback is called when a sink is updated.
+ **>
+ broadcast sinkUpdated {
+ out {
+
+ <**
+ @description : The sinkID that is updated
+ **>
+ am_sinkID_t sinkID
+
+ <**
+ @description : The sinkClassID of the updated sink. gives the current value even if not updated
+ **>
+ am_sinkClass_t sinkClassID
+
+ <**
+ @description : The list of mainSoundProperties. Gives the actual list of MainSoundProperties even if not changed
+ **>
+ am_MainSoundProperty_L listMainSoundProperties
+ }
+ }
+
+ <**
+ @description : This callback is called when a source is updated.
+ **>
+ broadcast sourceUpdated {
+ out {
+
+ <**
+ @description : The sourceID that is updated
+ **>
+ am_sourceID_t sourceID
+
+ <**
+ @description : The sourceClassID of the updated source. Gives the current value even if not updated
+ **>
+ am_sourceClass_t sourceClassID
+
+ <**
+ @description : The list of mainSoundProperties. Gives the actual list of MainSoundProperties even if not changed
+ **>
+ am_MainSoundProperty_L listMainSoundProperties
+ }
+ }
+
+ <**
+ @description : This callback is called when a notificated value of a sink changes.
+ **>
+ broadcast sinkNotification {
+ out {
+
+ <**
+ @description : The sinkID
+ **>
+ am_sinkID_t sinkID
+
+ <**
+ @description : The payload of the notification
+ **>
+ am_NotificationPayload_s notification
+ }
+ }
+
+ <**
+ @description : This callback is called when a notifcated value of a source changes.
+ **>
+ broadcast sourceNotification {
+ out {
+
+ <**
+ @description : The sourceID
+ **>
+ am_sourceID_t sourceID
+
+ <**
+ @description : The payload of the notification
+ **>
+ am_NotificationPayload_s notification
+ }
+ }
+
+ <**
+ @description : This callback is triggered when a mainNotificationConfiguration is changed.
+ **>
+ broadcast mainSinkNotificationConfigurationChanged {
+ out {
+ am_sinkID_t sinkID
+
+ <**
+ @description : The MainNotificationConfiguration that changed
+ **>
+ am_NotificationConfiguration_s mainNotificationConfiguration
+ }
+ }
+
+ <**
+ @description : This callback is triggered when a mainNotificationConfiguration is changed.
+ **>
+ broadcast mainSourceNotificationConfigurationChanged {
+ out {
+ am_sourceID_t sourceID
+
+ <**
+ @description : The MainNotificationConfiguration that changed
+ **>
+ am_NotificationConfiguration_s mainNotificationConfiguration
+ }
+ }
+}
\ No newline at end of file |