33 #define __METHOD_NAME__ std::string (std::string("CAmRoutingReceiver::") + __func__)    39         mpDatabaseHandler(iDatabaseHandler), 
    40         mpRoutingSender(iRoutingSender), 
    41         mpControlSender(iControlSender), 
    42         mpSocketHandler(iSocketHandler), 
    44         mListStartupHandles(), 
    45         mListRundownHandles(), 
    49         mLastStartupError(
E_OK), 
    50         mLastRundownError(
E_OK) 
    52     assert(mpDatabaseHandler!=NULL);
    53     assert(mpRoutingSender!=NULL);
    54     assert(mpControlSender!=NULL);
    55     assert(mpSocketHandler!=NULL);
    59         mpDatabaseHandler(iDatabaseHandler), 
    60         mpRoutingSender(iRoutingSender), 
    61         mpControlSender(iControlSender), 
    62         mpSocketHandler(iSocketHandler), 
    63         mpDBusWrapper(iDBusWrapper), 
    64         mListStartupHandles(), 
    65         mListRundownHandles(), 
    69         mLastStartupError(
E_OK), 
    70         mLastRundownError(
E_OK) 
    72     assert(mpDatabaseHandler!=NULL);
    73     assert(mpRoutingSender!=NULL);
    74     assert(mpControlSender!=NULL);
    75     assert(mpSocketHandler!=NULL);
    76     assert(mpDBusWrapper!=NULL);
   166     handleCallback(handle,error);
   173     handleCallback(handle,error);
   180     handleCallback(handle,error);
   187     handleCallback(handle,error);
   194     handleCallback(handle,error);
   201     handleCallback(handle,error);
   219     return (mpDatabaseHandler->
peekDomain(name, domainID));
   254     return (mpDatabaseHandler->
peekSink(name, sinkID));
   269     return (mpDatabaseHandler->
peekSource(name, sourceID));
   343 #ifdef WITH_DBUS_WRAPPER   346     dbusConnectionWrapper = mpDBusWrapper;
   357     socketHandler = mpSocketHandler;
   369         mLastStartupError=error;
   370     mListStartupHandles.erase(std::remove(mListStartupHandles.begin(), mListStartupHandles.end(), handle), mListStartupHandles.end());
   371     if (mWaitStartup && mListStartupHandles.empty())
   378         mLastRundownError=error;
   379     mListRundownHandles.erase(std::remove(mListRundownHandles.begin(), mListRundownHandles.end(), handle), mListRundownHandles.end());
   380     if (mWaitRundown && mListRundownHandles.empty())
   386     uint16_t handle = ++handleCount; 
   387     mListStartupHandles.push_back(handle);
   393     uint16_t handle = ++handleCount; 
   394     mListRundownHandles.push_back(handle);
   400     mWaitStartup = startup;
   401     mLastStartupError=
E_OK;
   407     handleCallback(handle,error);
   414     handleCallback(handle,error);
   420     return (mpControlSender->
hookSystemUpdateGateway(gatewayID,listSourceFormats,listSinkFormats,convertionMatrix));
   430     return (mpControlSender->
hookSystemUpdateSink(sinkID,sinkClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
   435     return (mpControlSender->
hookSystemUpdateSource(sourceID,sourceClassID,listSoundProperties,listConnectionFormats,listMainSoundProperties));
   441     handleCallback(handle,error);
   474     mWaitRundown = rundown;
   475     mLastRundownError=
E_OK;
 Implements the RoutingSendInterface. 
 
virtual am_Error_e changeSourceInterruptState(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)=0
 
am_Error_e getDBusConnectionWrapper(CAmDbusWrapper *&dbusConnectionWrapper) const 
this function is used to retrieve a pointer to the dBusConnectionWrapper 
 
uint16_t am_connectionID_t
a connection ID 
 
void hookSystemSourceAvailablityStateChange(const am_sourceID_t sourceID, const am_Availability_s &availability)
 
am_Error_e hookSystemUpdateGateway(const am_gatewayID_t gatewayID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFromats, const std::vector< bool > &convertionMatrix)
 
A Common-API wrapper class, which loads the common-api runtime and instantiates all necessary objects...
 
void hookSourceNotificationDataChange(const am_sourceID_t sourceID, const am_NotificationPayload_s &payload)
is called whenever a notified value needs to be send 
 
void cbAckSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error)
 
am_Error_e
the errors of the audiomanager. 
 
void ackSetVolumes(const am_Handle_s handle, const std::vector< am_Volumes_s > &listvolumes, const am_Error_e error)
acknowledges a asyncSetSinkVolumes 
 
am_Error_e hookSystemRegisterSink(const am_Sink_s &sinkData, am_sinkID_t &sinkID)
 
am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID)
 
void logInfo(T value, TArgs...args)
logs given values with infolevel with the default context 
 
void confirmRoutingReady(const uint16_t handle, const am_Error_e error)
confirms the setRoutingReady Command 
 
virtual am_Error_e getDomainOfSink(const am_sinkID_t sinkID, am_domainID_t &domainID) const =0
 
void hookTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t delay)
is called when the timinginformation (delay) changed for a connection. 
 
void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)
 
void hookSystemDomainRegistrationComplete(const am_domainID_t domainID)
 
This struct describes the attribiutes of a sink. 
 
This struct holds the payload of a notification. 
 
void cbAckSetSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
 
void confirmRoutingReady(const am_Error_e error)
 
am_Error_e registerSource(const am_Source_s &sourceData, am_sourceID_t &sourceID)
registers a source. 
 
void ackCrossFading(const am_Handle_s handle, const am_HotSink_e hotSink, const am_Error_e error)
acknowledges asyncCrossFade 
 
void hookSinkNotificationDataChanged(const am_sinkID_t sinkID, const am_NotificationPayload_s &payload)
 
am_Error_e registerConverter(const am_Converter_s &converterData, am_converterID_t &converterID)
registers a converter. 
 
am_Error_e hookSystemDeregisterSink(const am_sinkID_t sinkID)
 
void checkVolume(const am_Handle_s handle, const am_volume_t volume)
 
This struct describes the attribiutes of a domain. 
 
void waitOnRundown(bool rundown)
tells the RoutingReceiver to start waiting for all handles to be confirmed 
 
am_Error_e hookSystemUpdateSink(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)
 
uint16_t am_crossfaderID_t
a crossfader ID 
 
The am::CAmSocketHandler implements a mainloop for the AudioManager. 
 
SPDX license identifier: MPL-2.0. 
 
am_Error_e updateSink(const am_sinkID_t sinkID, const am_sinkClass_t sinkClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)
updates data of an gateway. 
 
am_Error_e updateConverter(const am_converterID_t converterID, const std::vector< am_CustomConnectionFormat_t > &listSourceFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkFormats, const std::vector< bool > &convertionMatrix)
updates data of an converter. 
 
void hookSystemSinkAvailablityStateChange(const am_sinkID_t sinkID, const am_Availability_s &availability)
 
int16_t am_timeSync_t
offset time that is introduced in milli seconds. 
 
void confirmRoutingRundown(const uint16_t handle, const am_Error_e error)
confirms the setRoutingRundown Command 
 
void hookSourceNotificationDataChanged(const am_sourceID_t sourceID, const am_NotificationPayload_s &payload)
 
am_Error_e hookSystemRegisterSource(const am_Source_s &sourceData, am_sourceID_t &sourceID)
 
am_Error_e deregisterGateway(const am_gatewayID_t gatewayID)
deregisters a gateway. 
 
SPDX license identifier: MPL-2.0. 
 
am_Error_e updateSource(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)
updates data of an source. 
 
void hookSystemDomainStateChange(const am_domainID_t domainID, const am_DomainState_e state)
 
am_Error_e hookSystemRegisterConverter(const am_Converter_s &converterData, am_converterID_t &converterID)
 
void ackSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)
acknowledges a volume tick. 
 
void cbAckCrossFade(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error)
 
void cbAckSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)
 
am_Error_e getDomainOfSource(const am_sourceID_t sourceID, am_domainID_t &domainID) const 
E_OK in case of success. 
 
am_Error_e peekSourceClassID(const std::string &name, am_sourceClass_t &sourceClassID)
this function peeks a sourceclassID. 
 
am_CustomNotificationType_t type
This defines the notification type. 
 
am_Error_e peekSink(const std::string &name, am_sinkID_t &sinkID)
This function returns the ID to the given sinkName. 
 
void cbAckDisconnect(const am_Handle_s handle, const am_Error_e errorID)
 
void cbAckSetSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
 
virtual am_Error_e peekSinkClassID(const std::string &name, am_sinkClass_t &sinkClassID)=0
 
am_Error_e hookSystemUpdateConverter(const am_converterID_t converterID, const std::vector< am_CustomConnectionFormat_t > &listSourceConnectionFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkConnectionFromats, const std::vector< bool > &convertionMatrix)
 
void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)
 
uint16_t am_converterID_t
a converter ID 
 
int16_t value
This is finally the value of the notification. 
 
void ackSetSourceState(const am_Handle_s handle, const am_Error_e error)
acknowlegde for asyncSetSourceState 
 
am_Error_e registerGateway(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID)
registers a gateway. 
 
SPDX license identifier: MPL-2.0. 
 
void getInterfaceVersion(std::string &version) const 
This function returns the version of the interface. 
 
void cbAckConnect(const am_Handle_s handle, const am_Error_e errorID)
 
am_Error_e peekSinkClassID(const std::string &name, am_sinkClass_t &sinkClassID)
this function peeks a sourceclassID. 
 
void hookInterruptStatusChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState)
is called when a low level interrupt changes it status. 
 
void cbAckSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error)
 
a handle is used for asynchronous operations and is uniquely assigned for each of this operations ...
 
am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID)
 
void ackSetSinkSoundProperty(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSinkSoundProperty 
 
uint16_t am_sourceID_t
a source ID 
 
am_Error_e hookSystemRegisterGateway(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID)
 
void hookSourceAvailablityStatusChange(const am_sourceID_t sourceID, const am_Availability_s &availability)
is called when a source changes its availability 
 
void ackSourceNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
The acknowledge of the SourceNotificationConfiguration. 
 
void ackSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)
acknowledges a asyncsetSourceVolume 
 
void cbAckSetSourceState(const am_Handle_s handle, const am_Error_e error)
 
am_Error_e deregisterConverter(const am_converterID_t converterID)
deregisters a converter. 
 
virtual am_Error_e removeConnection(const am_connectionID_t connectionID)=0
 
uint16_t getStartupHandle()
returns a startup handle 
 
sends data to the commandInterface, takes the file of the library that needs to be loaded ...
 
CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler)
 
This class handles and abstracts the database. 
 
SPDX license identifier: MPL-2.0. 
 
void cbAckSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error)
 
virtual am_Error_e getDomainOfCrossfader(const am_crossfaderID_t crossfader, am_domainID_t &domainID) const =0
 
void ackSetSinkSoundProperties(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSinkSoundProperties 
 
am_Error_e hookSystemDeregisterDomain(const am_domainID_t domainID)
 
void ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error)
acknowledges a asyncsetSinkVolume 
 
This struct describes the attributes of a converter. 
 
void hookDomainRegistrationComplete(const am_domainID_t domainID)
This hook is called when all elements from a domain are registered. 
 
am_Error_e peekSource(const std::string &name, am_sourceID_t &sourceID)
This function returns the ID to the given sourceName. 
 
am_Error_e registerDomain(const am_Domain_s &domainData, am_domainID_t &domainID)
registers a domain 
 
am_Error_e deregisterSink(const am_sinkID_t sinkID)
deregisters a sink. 
 
am_Error_e registerSink(const am_Sink_s &sinkData, am_sinkID_t &sinkID)
Registers a sink. 
 
am_HotSink_e
describes the active sink of a crossfader. 
 
int16_t am_volume_t
The unit is 0.1 db steps,The smallest value -3000 (=AM_MUTE). 
 
This struct describes the attribiutes of a crossfader. 
 
am_Error_e hookSystemUpdateSource(const am_sourceID_t sourceID, const am_sourceClass_t sourceClassID, const std::vector< am_SoundProperty_s > &listSoundProperties, const std::vector< am_CustomConnectionFormat_t > &listConnectionFormats, const std::vector< am_MainSoundProperty_s > &listMainSoundProperties)
 
am_Error_e getSocketHandler(CAmSocketHandler *&socketHandler) const 
This function returns the pointer to the socketHandler. 
 
uint16_t getRundownHandle()
returns a rundown handle 
 
am_Error_e writeToDatabaseAndRemove(const am_Handle_s handle)
write data to Database and remove handle 
 
am_Error_e deregisterSource(const am_sourceID_t sourceID)
deregisters a source 
 
uint16_t am_sourceClass_t
 
SPDX license identifier: MPL-2.0. 
 
void ackSinkNotificationConfiguration(const am_Handle_s handle, const am_Error_e error)
The acknowledge of the SinkNotificationConfiguration. 
 
void cbAckSetVolume(const am_Handle_s handle, const std::vector< am_Volumes_s > &listVolumes, const am_Error_e error)
 
void hookSinkAvailablityStatusChange(const am_sinkID_t sinkID, const am_Availability_s &availability)
is called when a sink changes its availability 
 
void hookSystemSingleTimingInformationChanged(const am_connectionID_t connectionID, const am_timeSync_t time)
 
this describes the availability of a sink or a source together with the latest change ...
 
This struct describes the attributes of a gateway. 
 
am_Error_e getDomainOfSink(const am_sinkID_t sinkID, am_domainID_t &domainID) const 
E_OK in case of success. 
 
the asynchronous action was aborted 
 
am_Error_e removeHandle(const am_Handle_s &handle)
removes a handle from the list 
 
void hookDomainStateChange(const am_domainID_t domainID, const am_DomainState_e domainState)
is called when a domain changes its status. 
 
am_Error_e updateGateway(const am_gatewayID_t gatewayID, const std::vector< am_CustomConnectionFormat_t > &listSourceFormats, const std::vector< am_CustomConnectionFormat_t > &listSinkFormats, const std::vector< bool > &convertionMatrix)
updates data of an gateway. 
 
virtual am_Error_e getDomainOfSource(const am_sourceID_t sourceID, am_domainID_t &domainID) const =0
 
am_Error_e registerCrossfader(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID)
this function registers a crossfader. 
 
am_Error_e hookSystemDeregisterConverter(const am_converterID_t converterID)
 
virtual am_Error_e peekSource(const std::string &name, am_sourceID_t &sourceID)=0
 
am_Error_e deregisterCrossfader(const am_crossfaderID_t crossfaderID)
this function deregisters a crossfader. 
 
This wraps dbus and provides everything needed to anyone who wants to use dbus (including plugins)...
 
virtual am_Error_e changeConnectionTimingInformation(const am_connectionID_t connectionID, const am_timeSync_t delay)=0
 
virtual am_Error_e peekSink(const std::string &name, am_sinkID_t &sinkID)=0
 
void sendChangedData(const std::vector< am_EarlyData_s > &earlyData)
this function is used to send out all data that has been changed in an early state. 
 
am_Error_e hookSystemDeregisterGateway(const am_gatewayID_t gatewayID)
 
uint16_t am_domainID_t
a domain ID 
 
void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume)
 
void ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)
acknowledges a asyncConnect 
 
void cbAckSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error)
 
no error - positive reply 
 
am_Error_e hookSystemDeregisterSource(const am_sourceID_t sourceID)
 
SPDX license identifier: MPL-2.0. 
 
am_Error_e peekDomain(const std::string &name, am_domainID_t &domainID)
This function returns the ID to the given domainName. 
 
void ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)
acknowledges a asyncDisconnect 
 
void confirmRoutingRundown(const am_Error_e error)
 
void waitOnStartup(bool startup)
tells the RoutingReceiver to start waiting for all handles to be confirmed 
 
uint16_t am_gatewayID_t
a gateway ID 
 
This struct describes the attribiutes of a source. 
 
am_Error_e getDomainOfCrossfader(const am_crossfaderID_t crossfader, am_domainID_t &domainID) const 
E_OK in case of success. 
 
uint16_t am_sinkID_t
a sink ID 
 
void cbAckSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error)
 
void ackSetSourceSoundProperties(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSourceSoundProperties 
 
am_Error_e deregisterDomain(const am_domainID_t domainID)
deregisters a domain. 
 
am_Error_e hookSystemRegisterDomain(const am_Domain_s &domainData, am_domainID_t &domainID)
 
void ackSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume)
acknowledges a volume tick. 
 
am_Error_e removeConnectionLookup(const am_connectionID_t connectionID)
 
virtual am_Error_e peekDomain(const std::string &name, am_domainID_t &domainID)=0
 
void hookSinkNotificationDataChange(const am_sinkID_t sinkID, const am_NotificationPayload_s &payload)
is called whenever a notified value needs to be send 
 
void ackSetSourceSoundProperty(const am_Handle_s handle, const am_Error_e error)
acknowledges asyncSetSourceSoundProperty 
 
virtual am_Error_e peekSourceClassID(const std::string &name, am_sourceClass_t &sourceClassID)=0
 
void hookSystemReceiveEarlyData(const std::vector< am_EarlyData_s > &data)