2 * Copyright (C) 2012, BMW AG
\r
4 * This file is part of GENIVI Project AudioManager.
\r
6 * Contributions are licensed to the GENIVI Alliance under one or more
\r
7 * Contribution License Agreements.
\r
10 * This Source Code Form is subject to the terms of the
\r
11 * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
\r
12 * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
\r
15 * \author Christian Mueller, christian.linke@bmw.de BMW 2011,2012
\r
18 * For further information see http://www.genivi.org/.
\r
20 * THIS CODE HAS BEEN GENERATED BY ENTERPRISE ARCHITECT GENIVI MODEL. PLEASE CHANGE ONLY IN ENTERPRISE ARCHITECT AND GENERATE AGAIN
\r
22 #if !defined(EA_E6597B7D_75F2_4586_A193_B3C4EA5C6548__INCLUDED_)
\r
23 #define EA_E6597B7D_75F2_4586_A193_B3C4EA5C6548__INCLUDED_
\r
31 #include "projecttypes.h"
36 * @author Christian Mueller
37 * @created 17-Jan-2013 10:00:22
39 typedef uint16_t am_domainID_t;
43 * @author Christian Mueller
44 * @created 17-Jan-2013 10:00:22
46 typedef uint16_t am_sourceID_t;
50 * @author Christian Mueller
51 * @created 17-Jan-2013 10:00:22
53 typedef uint16_t am_sinkID_t;
57 * @author Christian Mueller
58 * @created 17-Jan-2013 10:00:22
60 typedef uint16_t am_gatewayID_t;
64 * @author Christian Mueller
65 * @created 17-Jan-2013 10:00:22
67 typedef uint16_t am_crossfaderID_t;
71 * @author Christian Mueller
72 * @created 17-Jan-2013 10:00:22
74 typedef uint16_t am_connectionID_t;
78 * @author Christian Mueller
79 * @created 17-Jan-2013 10:00:22
81 typedef uint16_t am_mainConnectionID_t;
85 * @author Christian Mueller
86 * @created 17-Jan-2013 10:00:22
88 typedef uint16_t am_speed_t;
91 * The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). The minimum and maximum can be limited by actual project.
92 * @author Christian Mueller
93 * @created 17-Jan-2013 10:00:22
95 typedef int16_t am_volume_t;
98 * This is the volume presented on the command interface. It is in the duty of the Controller to change the volumes given
99 * here into meaningful values on the routing interface.
100 * The range of this type is customer specific.
101 * @author Christian Mueller
102 * @created 17-Jan-2013 10:00:22
104 typedef int16_t am_mainVolume_t;
107 * @author Christian Mueller
108 * @created 17-Jan-2013 10:00:22
110 typedef uint16_t am_sourceClass_t;
113 * @author Christian Mueller
114 * @created 17-Jan-2013 10:00:22
116 typedef uint16_t am_sinkClass_t;
120 * @author Christian Mueller
121 * @created 17-Jan-2013 10:00:22
123 typedef uint16_t am_time_t;
126 * offset time that is introduced in milli seconds.
127 * @author Christian Mueller
128 * @created 17-Jan-2013 10:00:22
130 typedef int16_t am_timeSync_t;
133 * describes the active sink of a crossfader.
134 * @author Christian Mueller
135 * @created 17-Jan-2013 10:00:22
152 * the crossfader is in the transition state
159 * with the help of this enum, sinks and sources can report their availability state
160 * @author Christian Mueller
161 * @created 17-Jan-2013 10:00:22
163 enum am_Availability_e
170 * The source / sink is available
174 * the source / sink is not available
181 * represents the connection state
182 * @author Christian Mueller
183 * @created 17-Jan-2013 10:00:22
185 enum am_ConnectionState_e
189 * This means the connection is just building up
193 * the connection is ready to be used
197 * the connection is in the course to be knocked down
199 CS_DISCONNECTING = 3,
201 * only relevant for connectionStatechanged. Is send after the connection was removed
205 * this means the connection is still build up but unused at the moment
212 * @author Christian Mueller
213 * @created 17-Jan-2013 10:00:22
215 enum am_DomainState_e
222 * the domain is controlled by the daemon
226 * the domain is independent starting up
228 DS_INDEPENDENT_STARTUP = 1,
230 * the domain is independent running down
232 DS_INDEPENDENT_RUNDOWN = 2,
237 * This enum characterizes the data of the EarlyData_t
238 * @author Christian Mueller
239 * @created 17-Jan-2013 10:00:22
241 enum am_EarlyDataType_e
250 ED_SOURCE_VOLUME = 1,
258 ED_SOURCE_PROPERTY = 3,
262 ED_SINK_PROPERTY = 4,
267 * the errors of the audiomanager. All possible errors are in here. This enum is used widely as return parameter.
268 * @author Christian Mueller
269 * @created 17-Jan-2013 10:00:22
274 * no error - positive reply
290 * a database error occurred
292 E_DATABASE_ERROR = 4,
294 * the desired object already exists
296 E_ALREADY_EXISTS = 5,
302 * the desired action is not possible
306 * the desired object is non existent
310 * the asynchronous action was aborted
314 * This error is returned in case a connect is issued with a connectionFormat that cannot be selected for the connection.
315 * This could be either due to the capabilities of a source or a sink or gateway compatibilities for example
322 * @author Christian Mueller
323 * @created 17-Jan-2013 10:00:22
332 * the source / sink is muted
336 * the source / sink is unmuted
343 * The source state reflects the state of the source
344 * @author Christian Mueller
345 * @created 17-Jan-2013 10:00:22
347 enum am_SourceState_e
351 * The source can be activly heared
355 * The source cannot be heared
359 * The source is paused. Meaning it cannot be heared but should be prepared to play again soon.
366 * This enumeration is used to define the type of the action that is correlated to a handle.
367 * @author Christian Mueller
368 * @created 17-Jan-2013 10:00:22
375 H_SETSOURCESTATE = 3,
377 H_SETSOURCEVOLUME = 5,
378 H_SETSINKSOUNDPROPERTY = 6,
379 H_SETSOURCESOUNDPROPERTY = 7,
380 H_SETSINKSOUNDPROPERTIES = 8,
381 H_SETSOURCESOUNDPROPERTIES = 9,
384 H_SETSINKNOTIFICATION = 12,
385 H_SETSOURCENOTIFICATION = 13,
390 * @author Christian Mueller
391 * @created 17-Jan-2013 10:00:22
393 enum am_InterruptState_e
400 * the interrupt state is off - no interrupt
404 * the interrupt state is interrupted - the interrupt is active
411 * This datatype determines if a sourceID or a sinkID is used in the union following
414 * @created 17-Jan-2013 10:00:22
420 * the following type is a sink
424 * the following type is a source
433 * @created 17-Jan-2013 10:00:22
435 enum am_NotificationStatus_e
439 * No notification, the function is turned off
443 * Periodic notifications are sent out. The period in ms is given by am_NotificationParameter
447 * The notification is sent out when the minimum given by am_NotificationParameter is reached.
451 * The notification is sent out when the maximum given by am_NotificationParameter is reached.
455 * The notification is sent out when a change happened. The Resolution of the change is defined by
456 * am_NotificationParameter.
463 * this describes the availability of a sink or a source together with the latest change
464 * @author Christian Mueller
465 * @created 17-Jan-2013 10:00:22
467 struct am_Availability_s
472 * the current availability state
474 am_Availability_e availability;
476 * the reason for the last change. This can be used to trigger events that deal with state changes.
478 am_AvailabilityReason_e availabilityReason;
483 * describes class properties
484 * @author Christian Mueller
485 * @created 17-Jan-2013 10:00:22
487 struct am_ClassProperty_s
492 * the property as enum
494 am_ClassProperty_e classProperty;
496 * the value of the property
503 * This struct describes the attribiutes of a crossfader.
504 * @author Christian Mueller
505 * @created 17-Jan-2013 10:00:22
507 struct am_Crossfader_s
512 * This is the ID of the crossfader, it is unique in the system. There are 2 ways, ID can be created: either it is
513 * assigned during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManager daemon),
514 * or it is a fixed (the project has to ensure the uniqueness of the ID).
516 am_crossfaderID_t crossfaderID;
518 * The name of the crossfader. Must be unique in the whole system.
522 * The sinkID of the SinkA. Sinks shall be registered before registering the crossfader.
524 am_sinkID_t sinkID_A;
526 * The sinkID of the SinkB. Sinks shall be registered before registering the crossfader.
528 am_sinkID_t sinkID_B;
530 * The sourceID of the crossfader source. The source shall be registered before the crossfader.
532 am_sourceID_t sourceID;
534 * This enum can have 3 states:
536 * HS_SINKA sinkA is the current hot one, sinkB is not audible
537 * HS_SINKB sinkB is the current hot one, sinkB is not audible
538 * HS_INTERMEDIATE the fader is stuck in between a cross-fading action. This could be due to an abort or an error.
539 * Before using the crossfader, it must be set to either HS_SINKA or HS_SINKB.
541 am_HotSink_e hotSink;
546 * This struct describes the attributes of a gateway.
547 * @author Christian Mueller
548 * @created 17-Jan-2013 10:00:22
555 * This is the ID of the gateway, it is unique in the system. There are 2 ways, ID can be created: either it is assigned
556 * during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is
557 * a fixed (the project has to ensure the uniqueness of the ID).
559 am_gatewayID_t gatewayID;
561 * The name of the gateway. Must be unique in the whole system.
565 * The sinkID of the gateway sink-end. The sink is a full blown sink with connectionFormats, sinkClassIDs etc... It makes
566 * sense to register the sinks of a gateway as non-visible. Care needs to be taken that the connectionsFormats match with
567 * the ones in the conversionMatrix. If the sink is located in the controllingDomain, the ID needs to be retrieved by
568 * registering the sink before registering the gateway. In case the sink is in a different domain, the ID needs to be
569 * retrieved via peeking.
573 * The sourceID of the gateway sink-end. The sink is a full blown source with connectionFormats, sinkClassIDs etc... It
574 * makes sense to register the sources of a gateway as non-visible. Care needs to be taken that the connectionsFormats
575 * match with the ones in the conversionMatrix. If the source is located in the controllingDomain, the ID needs to be
576 * retrieved by registering the source before registering the gateway. In case the source is in a different domain, the ID
577 * needs to be retrieved via peeking.
579 am_sourceID_t sourceID;
581 * The ID of the sink. If the domain is the same like the controlling domain, the ID is known due to registration. If the
582 * domain is different, the ID needs to be retrieved via peeking.
584 am_domainID_t domainSinkID;
586 * The ID of the source. If the domain is the same like the controlling domain, the ID is known due to registration. If
587 * the domain is different, the ID needs to be retrieved via peeking.
589 am_domainID_t domainSourceID;
591 * This is the ID of the domain that registers the gateway.
593 am_domainID_t controlDomainID;
595 * This is the list of available formats on the source side of the gateway. It is not defined during the gateway
596 * registration but copied from the source registration.
598 std::vector<am_ConnectionFormat_e> listSourceFormats;
600 * This is the list of available formats on the sink side of the gateway. It is not defined during the gateway
601 * registration but copied from the sink registration.
603 std::vector<am_ConnectionFormat_e> listSinkFormats;
605 * This is matrix holding information about the conversion capability of the gateway, it's length is defined by the
606 * length(listSinkFormats) x length(listSourceFormats).
607 * If a SinkFormat can be converted into a SourceFormat, the vector will hold a 1, if no conversion is possible, a 0.
608 * The data is stored row orientated, where the rows are related to the sinksFormats and the columns to the sourceFormats.
609 * The first value will hold the conversion information from the first sourceFormat to the first sinkFormat for example
610 * and the seventh value the information about the 3rd sinkFormat to the 1st sourceFormat in case we would have 3
614 * 110 011 000 111 001
619 * *********************
626 std::vector<bool> convertionMatrix;
631 * This represents one "hopp" in a route
632 * @author Christian Mueller
633 * @created 17-Jan-2013 10:00:22
635 struct am_RoutingElement_s
642 am_sourceID_t sourceID;
648 * the domainID the routeElement is in
650 am_domainID_t domainID;
652 * the connectionformat that is used for the route
654 am_ConnectionFormat_e connectionFormat;
659 * a list of routing elements that lead from source to sink
660 * @author Christian Mueller
661 * @created 17-Jan-2013 10:00:22
668 * the sourceID where the route starts
670 am_sourceID_t sourceID;
672 * the sinkID where the route ends
676 * the actual route as list of routing elements
678 std::vector<am_RoutingElement_s> route;
683 * struct describing the sound property
684 * @author Christian Mueller
685 * @created 17-Jan-2013 10:00:22
687 struct am_SoundProperty_s
692 * the type of the property - a project specific enum
694 am_SoundPropertyType_e type;
696 * the actual value of the property
703 * struct describing system properties
704 * @author Christian Mueller
705 * @created 17-Jan-2013 10:00:22
707 struct am_SystemProperty_s
712 * the type that is set
714 am_SystemPropertyType_e type;
723 * struct describing sinkclasses
724 * @author Christian Mueller
725 * @created 17-Jan-2013 10:00:22
727 struct am_SinkClass_s
732 * the ID of the sinkClass
734 am_sinkClass_t sinkClassID;
736 * the name of the sinkClass - must be unique in the system
740 * the list of the class properties. These are pairs of a project specific enum describing the type of the value and an
741 * integer holding the real value.
743 std::vector<am_ClassProperty_s> listClassProperties;
748 * struct describing source classes
749 * @author Christian Mueller
750 * @created 17-Jan-2013 10:00:22
752 struct am_SourceClass_s
759 am_sourceClass_t sourceClassID;
761 * the name of the sourceClass - must be unique in the system
765 * the list of the class properties. These are pairs of a project specific enum describing the type of the value and an
766 * integer holding the real value.
768 std::vector<am_ClassProperty_s> listClassProperties;
773 * this type holds all information of sources relevant to the HMI
774 * @author Christian Mueller
775 * @created 17-Jan-2013 10:00:23
777 struct am_SourceType_s
782 * This is the ID of the source, it is unique in the system. There are 2 ways, ID can be created: either it is assigned
783 * during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is
784 * a fixed (the project has to ensure the uniqueness of the ID).
786 am_sourceID_t sourceID;
788 * The name of the source. Must be unique in the whole system.
792 * the availability of the source
794 am_Availability_s availability;
796 * the sourceClassID, indicates the class the source is in. This information can be used by the Controller to implement
797 * different behaviour for different classes.
799 am_sourceClass_t sourceClassID;
804 * this type holds all information of sinks relevant to the HMI
805 * @author Christian Mueller
806 * @created 17-Jan-2013 10:00:23
813 * 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
814 * during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is
815 * a fixed (the project has to ensure the uniqueness of the ID).
819 * The name of the sink. Must be unique in the whole system.
823 * This attribute reflects the availability of the sink. There are several reasons why a sink could be not available for
824 * the moment: for example the shutdown of a sink because of overtemperature or over- & undervoltage. The availability
825 * consists of two pieces of information:
827 * Availablility: the status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
828 * AvailabilityReason: this informs about the last reason for a change in availability. The reasons itself are product
831 am_Availability_s availability;
833 * This is the representation of the Volume for the commandInterface. It is used by the HMI to set the volume of a sink,
834 * the AudioManagerController has to transform this into real source and sink volumes.
836 am_mainVolume_t volume;
837 am_MuteState_e muteState;
839 * The sinkClassID references to a sinkClass. With the help of classification, rules can be setup to define the system
842 am_sinkClass_t sinkClassID;
847 * a handle is used for asynchronous operations and is uniquely assigned for each of this operations
848 * @author Christian Mueller
849 * @created 17-Jan-2013 10:00:23
858 am_Handle_e handleType:6;
860 * the handle as value
867 * struct describung mainsound property
868 * @author Christian Mueller
869 * @created 17-Jan-2013 10:00:23
871 struct am_MainSoundProperty_s
876 * the type of the property
878 am_MainSoundPropertyType_e type;
887 * this type holds all information of connections relevant to the HMI
888 * @author Christian Mueller
889 * @created 17-Jan-2013 10:00:23
891 struct am_MainConnectionType_s
896 * the ID of the mainconnection
898 am_mainConnectionID_t mainConnectionID;
900 * the sourceID where the connection starts
902 am_sourceID_t sourceID;
904 * the sinkID where the connection ends
908 * the delay of the mainconnection
912 * the current connection state
914 am_ConnectionState_e connectionState;
919 * struct that holds attribiutes of a mainconnection
920 * @author Christian Mueller
921 * @created 17-Jan-2013 10:00:23
923 struct am_MainConnection_s
930 am_mainConnectionID_t mainConnectionID;
932 * the current connection state
934 am_ConnectionState_e connectionState;
942 am_sourceID_t sourceID;
944 * the delay of the connection
948 * the list of sub connection IDs the mainconnection consists of
950 std::vector<am_connectionID_t> listConnectionID;
955 * This struct holds the payload of a notification.
958 * @created 17-Jan-2013 10:00:23
960 struct am_NotificationPayload_s
965 * This defines the notification type
967 am_NotificationType_e type;
969 * This is finally the value of the notification. It's meaning depends on the notificationType
976 * This struct holds information about the configuration for notifications
979 * @created 17-Jan-2013 10:00:23
981 struct am_NotificationConfiguration_s
986 * The notification type of the notification
988 am_NotificationType_e type;
990 * The Notification status. This can be periodic, min/max value based or even off for example
992 am_NotificationStatus_e status;
994 * This gives additional information to the notification status.
995 * Relation between notification status and the value:
996 * NS_PERIODIC - the period in ms
997 * NS_MINIMUM - the minimum value that triggers the notification
998 * NS_MAXIMUM - the maximum value that triggers the notifcation
999 * NS_CHANGE - the resolution of the change value
1006 * This struct describes the attribiutes of a sink
1007 * @author Christian Mueller
1008 * @created 17-Jan-2013 10:00:23
1015 * 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
1016 * during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is
1017 * a fixed (the project has to ensure the uniqueness of the ID).
1021 * The name of the sink. Must be unique in the whole system.
1025 * The domainID is the domain the sink belongs to. A sink can only be in one domain.
1027 am_domainID_t domainID;
1029 * The sinkClassID references to a sinkClass. With the help of classification, rules can be setup to define the system
1032 am_sinkClass_t sinkClassID;
1034 * This is the volume of the sink. It is set by the AudioManagerController.
1038 * This Boolean flag indicates whether a sink is visible to the commandInterface or not. If the User must have the
1039 * possibility to choose the source in the HMI, it must be visible. But there are also good reasons for invisible sinks,
1040 * for example if the sink is part of a crossfader or gateway. HMI relevant changes in visible sinks will be automatically
1041 * reported by the daemon to the commandInterface.
1045 * This attribute reflects the availability of the sink. There are several reasons why a sink could be not available for
1046 * the moment: for example the shutdown of a sink because of overtemperature or over- & undervoltage. The availability
1047 * consists of two pieces of information:
1049 * Availablility: the status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
1050 * AvailabilityReason: this informs about the last reason for a change in availability. The reasons itself are product
1053 am_Availability_s available;
1055 * This attribute reflects the muteState of the sink. The information is not the "real" state of the sink, but the HMI
1056 * representation for he commandInterface controlled by the AudioManagerController.
1058 am_MuteState_e muteState;
1060 * This is the representation of the Volume for the commandInterface. It is used by the HMI to set the volume of a sink,
1061 * the AudioManagerController has to transform this into real source and sink volumes.
1063 am_mainVolume_t mainVolume;
1065 * This is the list of soundProperties, that the sink is capable of. The soundProperties itself are project specific. For
1066 * sinks, a possible soundProperty could be for example settings.
1068 std::vector<am_SoundProperty_s> listSoundProperties;
1070 * This list holds information about the formats that the Source is capable of supporting when delivering audio.
1072 std::vector<am_ConnectionFormat_e> listConnectionFormats;
1074 * This is the list of the available mainSoundProperties. The principle is the same than with soundProperties, but they
1075 * are only visible to the CommandInterface.
1077 std::vector<am_MainSoundProperty_s> listMainSoundProperties;
1079 * This is the list of the MainNotificationConfigurations. These notifications work on the level of command interface.
1081 std::vector<am_NotificationConfiguration_s> listMainNotificationConfigurations;
1083 * This is the list of the NotificationConfigurations. These notifications work on the level of RoutingPlugins.
1085 std::vector<am_NotificationConfiguration_s> listNotificationConfigurations;
1090 * This struct describes the attribiutes of a source
1091 * @author Christian Mueller
1092 * @created 17-Jan-2013 10:00:23
1099 * This is the ID of the source, it is unique in the system. There are 2 ways, ID can be created: either it is assigned
1100 * during the registration process (in a dynamic context, uniqueness will be ensured by the AudioManagerDaemon), or it is
1101 * a fixed (the project has to ensure the uniqueness of the ID).
1103 am_sourceID_t sourceID;
1105 * The domainID is the domain the source belongs to. A source can only be in one domain.
1107 am_domainID_t domainID;
1109 * The name of the source. Must be unique in the whole system.
1113 * the sourceClassID, indicates the class the source is in. This information can be used by the Controller to implement
1114 * different behaviour for different classes.
1116 am_sourceClass_t sourceClassID;
1118 * The source state is an indication towards the source if it is actively heard or not. The source can use this
1119 * information to implement features like automatic spin down of CD's in case the CD is not the active source or AF
1120 * following of a tuner that is not actively heard. The source state is set by the AudioManagerController.There are 3
1123 * SS_ON: the source is active
1124 * SS_OFF: the source is off
1125 * SS_PAUSED: the source is paused and not active.
1127 am_SourceState_e sourceState;
1129 * This is the volume of the source. It is set by the AudioManagerController. It is used to adopt different audiolevels in
1130 * a system and mixing of sources (e.g. navigation hints & music).
1134 * This Boolean flag indicates whether a source is visible to the commandInterface or not. If the User must have the
1135 * possibility to choose the source in the HMI, it must be visible. But there are also good reasons for invisible sources,
1136 * for example if the source is part of a crossfader or gateway. HMI relevant changes in visible sources will be
1137 * automatically reported by the daemon to the commandInterface.
1141 * This attribute reflects the availability of the source. There are several reasons why a source could be not available
1142 * for the moment. For example a CD player which has no CD entered in the slot can be unavailable, or a USB player with no
1143 * or unreadable stick attached. Other scenarios involve the shutdown of a source because of overtemperature or over- &
1144 * undervoltage. The availability consists of two informations:
1146 * Availablility: the status itself, can be A_AVAILABLE, A_UNAVAILABLE or A_UNKNOWN
1147 * AvailabilityReason: this informs about the last reason for a change in availability. The reasons itself are product
1150 am_Availability_s available;
1152 * Some special sources can have special behaviors, the are so called "Low Level Interrupts". Here the current status is
1153 * documented. The information can be used by the AudioManagerController to react to the changes by for example lowering
1154 * the volume of the mainSources. The two states are
1156 * IS_OFF: the interrupt is not active at the moment
1157 * IS_INTERRUPTED: the interrupt is playing at the moment.
1159 am_InterruptState_e interruptState;
1161 * This is the list of soundProperties, that the source is capable of. The soundProperties itself are project specific.
1162 * For sources, a possible soundProperty could be navigation volume offset, for example.
1164 std::vector<am_SoundProperty_s> listSoundProperties;
1166 * This list holds information about the formats that the Source is capable of supporting when delivering audio.
1168 std::vector<am_ConnectionFormat_e> listConnectionFormats;
1170 * This is the list of the available mainSoundProperties. The principle is the same than with soundProperties, but they
1171 * are only visible to the CommandInterface.
1173 std::vector<am_MainSoundProperty_s> listMainSoundProperties;
1175 * The list of MainNotificationConfigurations. These notifications work on the level of CommandInterface.
1177 std::vector<am_NotificationConfiguration_s> listMainNotificationConfigurations;
1179 * The list of MainNotificationConfigurations. These notifications work on the level of RoutingInterface.
1181 std::vector<am_NotificationConfiguration_s> listNotificationConfigurations;
1186 * This struct describes the attribiutes of a domain
1187 * @author Christian Mueller
1188 * @created 17-Jan-2013 10:00:23
1197 am_domainID_t domainID;
1199 * the name of the domain
1203 * the busname. This is equal to a plugin name and is used to dispatch messages to the elements of a plugin
1205 std::string busname;
1207 * the name of the node
1209 std::string nodename;
1211 * indicated if the domain is independent at startup or not
1215 * indicates if the domain registration is complete or not
1219 * the current domain state
1221 am_DomainState_e state;
1227 * @author Christian Mueller
1228 * @created 17-Jan-2013 10:00:23
1230 struct am_Connection_s
1237 am_connectionID_t connectionID;
1239 * the source the audio flows from
1241 am_sourceID_t sourceID;
1243 * the sink the audio flows to
1247 * the delay of the conneciton
1249 am_timeSync_t delay;
1251 * the used connectionformat
1253 am_ConnectionFormat_e connectionFormat;
1258 * data type depends of am_EarlyDataType_e:
1259 * volume_t in case of ED_SOURCE_VOLUME, ED_SINK_VOLUME
1260 * soundProperty_t in case of ED_SOURCE_PROPERTY, ED_SINK_PROPERTY
1261 * @author Christian Mueller
1262 * @created 17-Jan-2013 10:00:23
1264 union am_EarlyData_u
1269 am_SoundProperty_s soundProperty;
1274 * data type depends of am_EarlyDataType_e:
1275 * sourceID in case of ED_SOURCE_VOLUME, ED_SOURCE_PROPERTY
1276 * sinkID in case of ED_SINK_VOLUME, ED_SINK_PROPERTY
1277 * @author Christian Mueller
1278 * @created 17-Jan-2013 10:00:23
1285 am_sourceID_t source;
1290 * @author Christian Mueller
1291 * @created 17-Jan-2013 10:00:23
1293 struct am_EarlyData_s
1297 am_EarlyDataType_e type;
1298 am_DataType_u sinksource;
1299 am_EarlyData_u data;
1304 * This types describe a mixed description for source and sinks volumes.
1307 * @created 17-Jan-2013 10:00:24
1314 * describes the type of the volume: source or sink.
1316 am_VolumeType_e volumeType;
1318 * either sourceID or sinkID
1320 am_DataType_u volumeID;
1326 * the ramp that shall be driven
1330 * the time for the ramp
1336 #endif // !defined(EA_E6597B7D_75F2_4586_A193_B3C4EA5C6548__INCLUDED_)