AudioManager  7.5.11
Native Application Runtime Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CAmDatabaseObserver.h
Go to the documentation of this file.
1 
24 #ifndef DATABASEOBSERVER_H_
25 #define DATABASEOBSERVER_H_
26 
27 #include "audiomanagertypes.h"
28 #include <queue>
29 #include "CAmSerializer.h"
30 
31 namespace am
32 {
33 
34 class CAmTelnetServer;
35 class CAmCommandSender;
36 class CAmRoutingSender;
37 class CAmSocketHandler;
38 
43 {
44 public:
45  CAmDatabaseObserver(CAmCommandSender *iCommandSender, CAmRoutingSender *iRoutingSender, CAmSocketHandler *iSocketHandler);
46  CAmDatabaseObserver(CAmCommandSender *iCommandSender, CAmRoutingSender *iRoutingSender, CAmSocketHandler *iSocketHandler, CAmTelnetServer *iTelnetServer);
50  void newSink(const am_Sink_s& sink);
51  void newSource(const am_Source_s& source);
52  void newDomain(const am_Domain_s& domain);
53  void newGateway(const am_Gateway_s& gateway);
54  void newConverter(const am_Converter_s& coverter);
55  void newCrossfader(const am_Crossfader_s& crossfader);
56  void newMainConnection(const am_MainConnectionType_s& mainConnection);
57  void removedMainConnection(const am_mainConnectionID_t mainConnection);
58  void removedSink(const am_sinkID_t sinkID, const bool visible);
59  void removedSource(const am_sourceID_t sourceID, const bool visible);
60  void removeDomain(const am_domainID_t domainID);
61  void removeGateway(const am_gatewayID_t gatewayID);
62  void removeConverter(const am_converterID_t converterID);
63  void removeCrossfader(const am_crossfaderID_t crossfaderID);
64  void mainConnectionStateChanged(const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState);
65  void mainSinkSoundPropertyChanged(const am_sinkID_t sinkID, const am_MainSoundProperty_s& SoundProperty);
66  void mainSourceSoundPropertyChanged(const am_sourceID_t sourceID, const am_MainSoundProperty_s& SoundProperty);
67  void sinkAvailabilityChanged(const am_sinkID_t sinkID, const am_Availability_s& availability);
68  void sourceAvailabilityChanged(const am_sourceID_t sourceID, const am_Availability_s& availability);
69  void volumeChanged(const am_sinkID_t sinkID, const am_mainVolume_t volume);
70  void sinkMuteStateChanged(const am_sinkID_t sinkID, const am_MuteState_e muteState);
71  void systemPropertyChanged(const am_SystemProperty_s& SystemProperty);
72  void timingInformationChanged(const am_mainConnectionID_t mainConnection, const am_timeSync_t time);
73  void sinkUpdated(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector<am_MainSoundProperty_s>& listMainSoundProperties, const bool visible);
74  void sourceUpdated(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector<am_MainSoundProperty_s>& listMainSoundProperties, const bool visible);
75  void sinkMainNotificationConfigurationChanged(const am_sinkID_t sinkID, const am_NotificationConfiguration_s mainNotificationConfiguration);
76  void sourceMainNotificationConfigurationChanged(const am_sourceID_t sourceID, const am_NotificationConfiguration_s mainNotificationConfiguration);
77 
78 private:
79  CAmCommandSender *mCommandSender;
80  CAmRoutingSender* mRoutingSender;
81  CAmTelnetServer* mTelnetServer;
82  CAmSerializer mSerializer;
83 };
84 
85 }
86 
87 #endif /* DATABASEOBSERVER_H_ */
Implements the RoutingSendInterface.
void mainSinkSoundPropertyChanged(const am_sinkID_t sinkID, const am_MainSoundProperty_s &SoundProperty)
magic class that does the serialization of functions calls The constructor must be called within the ...
Definition: CAmSerializer.h:49
uint16_t am_sinkClass_t
This struct holds information about the configuration for notifications.
void sourceMainNotificationConfigurationChanged(const am_sourceID_t sourceID, const am_NotificationConfiguration_s mainNotificationConfiguration)
void newConverter(const am_Converter_s &coverter)
This struct describes the attribiutes of a sink.
void sourceUpdated(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties, const bool visible)
This struct describes the attribiutes of a domain.
void sinkUpdated(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties, const bool visible)
void newSource(const am_Source_s &source)
uint16_t am_crossfaderID_t
a crossfader ID
void removedSink(const am_sinkID_t sinkID, const bool visible)
The am::CAmSocketHandler implements a mainloop for the AudioManager.
int16_t am_timeSync_t
offset time that is introduced in milli seconds.
void sinkMuteStateChanged(const am_sinkID_t sinkID, const am_MuteState_e muteState)
void newDomain(const am_Domain_s &domain)
void sourceAvailabilityChanged(const am_sourceID_t sourceID, const am_Availability_s &availability)
void mainSourceSoundPropertyChanged(const am_sourceID_t sourceID, const am_MainSoundProperty_s &SoundProperty)
struct describing system properties
uint16_t am_converterID_t
a converter ID
void removeGateway(const am_gatewayID_t gatewayID)
struct describung mainsound property
void mainConnectionStateChanged(const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState)
void systemPropertyChanged(const am_SystemProperty_s &SystemProperty)
void removedSource(const am_sourceID_t sourceID, const bool visible)
void removedMainConnection(const am_mainConnectionID_t mainConnection)
uint16_t am_sourceID_t
a source ID
void removeDomain(const am_domainID_t domainID)
void newGateway(const am_Gateway_s &gateway)
void newMainConnection(const am_MainConnectionType_s &mainConnection)
Implements a telnetserver that can be used to connect to the audiomanager, retrieve some information ...
void sinkAvailabilityChanged(const am_sinkID_t sinkID, const am_Availability_s &availability)
am_ConnectionState_e
represents the connection state
This struct describes the attributes of a converter.
This struct describes the attribiutes of a crossfader.
void removeCrossfader(const am_crossfaderID_t crossfaderID)
this type holds all information of connections relevant to the HMI
void timingInformationChanged(const am_mainConnectionID_t mainConnection, const am_timeSync_t time)
Copyright (C) 2012 - 2014, BMW AG.
uint16_t am_sourceClass_t
void volumeChanged(const am_sinkID_t sinkID, const am_mainVolume_t volume)
this describes the availability of a sink or a source together with the latest change ...
This struct describes the attributes of a gateway.
SPDX license identifier: MPL-2.0.
void newSink(const am_Sink_s &sink)
void removeConverter(const am_converterID_t converterID)
CAmDatabaseObserver(CAmCommandSender *iCommandSender, CAmRoutingSender *iRoutingSender, CAmSocketHandler *iSocketHandler)
uint16_t am_domainID_t
a domain ID
int16_t am_mainVolume_t
This is the volume presented on the command interface.
void newCrossfader(const am_Crossfader_s &crossfader)
uint16_t am_gatewayID_t
a gateway ID
This struct describes the attribiutes of a source.
This class is used to send data to the CommandInterface.
uint16_t am_sinkID_t
a sink ID
uint16_t am_mainConnectionID_t
a mainConnection ID
This class observes the Database and notifies other classes about important events, mainly the CommandSender.
void sinkMainNotificationConfigurationChanged(const am_sinkID_t sinkID, const am_NotificationConfiguration_s mainNotificationConfiguration)