diff options
Diffstat (limited to 'AudioManagerCore/include')
-rw-r--r-- | AudioManagerCore/include/CAmControlReceiver.h | 3 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmControlSender.h | 3 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmDatabaseHandlerMap.h | 5 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmRoutingReceiver.h | 3 | ||||
-rw-r--r-- | AudioManagerCore/include/CAmRoutingSender.h | 20 | ||||
-rw-r--r-- | AudioManagerCore/include/IAmDatabaseHandler.h | 5 |
6 files changed, 35 insertions, 4 deletions
diff --git a/AudioManagerCore/include/CAmControlReceiver.h b/AudioManagerCore/include/CAmControlReceiver.h index bd897de..d4a75b1 100644 --- a/AudioManagerCore/include/CAmControlReceiver.h +++ b/AudioManagerCore/include/CAmControlReceiver.h @@ -103,6 +103,7 @@ public: am_Error_e getGatewayInfoDB(const am_gatewayID_t gatewayID, am_Gateway_s &gatewayData) const; am_Error_e getConverterInfoDB(const am_converterID_t converterID, am_Converter_s &converterData) const; am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const; + am_Error_e getConnectionInfoDB(const am_connectionID_t connectionID, am_Connection_s &connectionData) const; am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const; am_Error_e getListSinksOfDomain(const am_domainID_t domainID, std::vector<am_sinkID_t> &listSinkID) const; am_Error_e getListSourcesOfDomain(const am_domainID_t domainID, std::vector<am_sourceID_t> &listSourceID) const; @@ -127,6 +128,8 @@ public: void setRoutingRundown(); void confirmControllerReady(const am_Error_e error); void confirmControllerRundown(const am_Error_e error); + am_Error_e transferConnection(am_Handle_s &handle, am_mainConnectionID_t mainConnectionID + , am_domainID_t domainID) override; am_Error_e getSocketHandler(CAmSocketHandler * &socketHandler); void getInterfaceVersion(std::string &version) const; am_Error_e changeSourceDB(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); diff --git a/AudioManagerCore/include/CAmControlSender.h b/AudioManagerCore/include/CAmControlSender.h index 77e8e2c..71220d5 100644 --- a/AudioManagerCore/include/CAmControlSender.h +++ b/AudioManagerCore/include/CAmControlSender.h @@ -71,6 +71,8 @@ public: am_Error_e hookSystemDeregisterConverter(const am_converterID_t converterID); am_Error_e hookSystemRegisterCrossfader(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID); am_Error_e hookSystemDeregisterCrossfader(const am_crossfaderID_t crossfaderID); + am_Error_e hookSystemRegisterEarlyConnection(am_domainID_t domainID + , const am_MainConnection_s &mainConnectionData, const am_Route_s &route); void hookSystemSinkVolumeTick(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume); void hookSystemSourceVolumeTick(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume); void hookSystemInterruptStateChange(const am_sourceID_t sourceID, const am_InterruptState_e interruptState); @@ -82,6 +84,7 @@ public: void hookSystemTimingInformationChanged(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time); void cbAckConnect(const am_Handle_s handle, const am_Error_e errorID); void cbAckDisconnect(const am_Handle_s handle, const am_Error_e errorID); + void cbAckTransferConnection(const am_Handle_s handle, const am_Error_e errorID); 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); void cbAckSetSourceVolumeChange(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error); diff --git a/AudioManagerCore/include/CAmDatabaseHandlerMap.h b/AudioManagerCore/include/CAmDatabaseHandlerMap.h index 46da560..7c3f17d 100644 --- a/AudioManagerCore/include/CAmDatabaseHandlerMap.h +++ b/AudioManagerCore/include/CAmDatabaseHandlerMap.h @@ -123,13 +123,13 @@ public: }; am_Error_e enterDomainDB(const am_Domain_s &domainData, am_domainID_t &domainID); - am_Error_e enterMainConnectionDB(const am_MainConnection_s &mainConnectionData, am_mainConnectionID_t &connectionID); + am_Error_e enterMainConnectionDB(const am_MainConnection_s &mainConnectionData, am_mainConnectionID_t &connectionID, bool allowReserved = false) override; am_Error_e enterSinkDB(const am_Sink_s &sinkData, am_sinkID_t &sinkID); am_Error_e enterCrossfaderDB(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID); am_Error_e enterGatewayDB(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID); am_Error_e enterConverterDB(const am_Converter_s &converterData, am_converterID_t &converterID); am_Error_e enterSourceDB(const am_Source_s &sourceData, am_sourceID_t &sourceID); - am_Error_e enterConnectionDB(const am_Connection_s &connection, am_connectionID_t &connectionID); + am_Error_e enterConnectionDB(const am_Connection_s &connection, am_connectionID_t &connectionID, bool allowReserved = false) override; am_Error_e enterSinkClassDB(const am_SinkClass_s &sinkClass, am_sinkClass_t &sinkClassID); am_Error_e enterSourceClassDB(am_sourceClass_t &sourceClassID, const am_SourceClass_s &sourceClass); am_Error_e enterSystemProperties(const std::vector<am_SystemProperty_s> &listSystemProperties); @@ -175,6 +175,7 @@ public: am_Error_e getSinkInfoDB(const am_sinkID_t sinkID, am_Sink_s &sinkData) const; am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s &sourceData) const; am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const; + am_Error_e getConnectionInfoDB(const am_connectionID_t connectionID, am_Connection_s &connectionData) const; am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const; am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t &mainVolume) const; am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t &volume) const; diff --git a/AudioManagerCore/include/CAmRoutingReceiver.h b/AudioManagerCore/include/CAmRoutingReceiver.h index 42f3e89..fe12ccd 100644 --- a/AudioManagerCore/include/CAmRoutingReceiver.h +++ b/AudioManagerCore/include/CAmRoutingReceiver.h @@ -44,6 +44,7 @@ public: CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler); CAmRoutingReceiver(IAmDatabaseHandler *iDatabaseHandler, CAmRoutingSender *iRoutingSender, CAmControlSender *iControlSender, CAmSocketHandler *iSocketHandler, CAmDbusWrapper *iDBusWrapper); ~CAmRoutingReceiver(); + void ackTransferConnection(const am_Handle_s handle, const am_Error_e errorID); void ackConnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error); void ackDisconnect(const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error); void ackSetSinkVolumeChange(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error); @@ -59,6 +60,8 @@ public: am_Error_e peekDomain(const std::string &name, am_domainID_t &domainID); am_Error_e registerDomain(const am_Domain_s &domainData, am_domainID_t &domainID); am_Error_e deregisterDomain(const am_domainID_t domainID); + am_Error_e registerEarlyConnection(am_domainID_t domainID, const am_Route_s &route + , am_ConnectionState_e state); am_Error_e registerGateway(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID); am_Error_e registerConverter(const am_Converter_s &converterData, am_converterID_t &converterID); am_Error_e deregisterGateway(const am_gatewayID_t gatewayID); diff --git a/AudioManagerCore/include/CAmRoutingSender.h b/AudioManagerCore/include/CAmRoutingSender.h index 39b5c23..cbaddae 100644 --- a/AudioManagerCore/include/CAmRoutingSender.h +++ b/AudioManagerCore/include/CAmRoutingSender.h @@ -62,6 +62,8 @@ public: am_Error_e startupInterfaces(CAmRoutingReceiver *iRoutingReceiver); void setRoutingReady(); void setRoutingRundown(); + am_Error_e asyncTransferConnection(am_Handle_s &handle, am_domainID_t domainID + , const std::vector<std::pair<std::string, std::string>> &route, am_ConnectionState_e state); am_Error_e asyncAbort(const am_Handle_s &handle); am_Error_e asyncConnect(am_Handle_s &handle, am_connectionID_t &connectionID, const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_CustomConnectionFormat_t connectionFormat); am_Error_e asyncDisconnect(am_Handle_s &handle, const am_connectionID_t connectionID); @@ -262,6 +264,24 @@ public: CAmRoutingSender *mRoutingSender; }; + class handleTransfer : public handleDataBase + { + public: + handleTransfer(IAmRoutingSend *interface, const std::vector<std::pair<std::string, std::string>> &route + , am_ConnectionState_e state, IAmDatabaseHandler *databaseHandler) + : handleDataBase(interface, databaseHandler) + , mRoute(route) + , mState(state) + , mTransferPending(true) {} + ~handleTransfer() { }; + am_Error_e writeDataToDatabase() { return E_OK; }; + + private: + const std::vector<std::pair<std::string, std::string>> mRoute; + am_ConnectionState_e mState; + bool mTransferPending; + }; + class handleSetVolumes : public handleDataBase { public: diff --git a/AudioManagerCore/include/IAmDatabaseHandler.h b/AudioManagerCore/include/IAmDatabaseHandler.h index 8e4118e..281a93b 100644 --- a/AudioManagerCore/include/IAmDatabaseHandler.h +++ b/AudioManagerCore/include/IAmDatabaseHandler.h @@ -62,13 +62,13 @@ public: * The following interface methods must be implemented by the subclass. */ virtual am_Error_e enterDomainDB(const am_Domain_s &domainData, am_domainID_t &domainID) = 0; - virtual am_Error_e enterMainConnectionDB(const am_MainConnection_s &mainConnectionData, am_mainConnectionID_t &connectionID) = 0; + virtual am_Error_e enterMainConnectionDB(const am_MainConnection_s &mainConnectionData, am_mainConnectionID_t &connectionID, bool allowReserved) = 0; virtual am_Error_e enterSinkDB(const am_Sink_s &sinkData, am_sinkID_t &sinkID) = 0; virtual am_Error_e enterCrossfaderDB(const am_Crossfader_s &crossfaderData, am_crossfaderID_t &crossfaderID) = 0; virtual am_Error_e enterGatewayDB(const am_Gateway_s &gatewayData, am_gatewayID_t &gatewayID) = 0; virtual am_Error_e enterConverterDB(const am_Converter_s &converteData, am_converterID_t &converterID) = 0; virtual am_Error_e enterSourceDB(const am_Source_s &sourceData, am_sourceID_t &sourceID) = 0; - virtual am_Error_e enterConnectionDB(const am_Connection_s &connection, am_connectionID_t &connectionID) = 0; + virtual am_Error_e enterConnectionDB(const am_Connection_s &connection, am_connectionID_t &connectionID, bool allowReserved) = 0; virtual am_Error_e enterSinkClassDB(const am_SinkClass_s &sinkClass, am_sinkClass_t &sinkClassID) = 0; virtual am_Error_e enterSourceClassDB(am_sourceClass_t &sourceClassID, const am_SourceClass_s &sourceClass) = 0; virtual am_Error_e enterSystemProperties(const std::vector<am_SystemProperty_s> &listSystemProperties) = 0; @@ -114,6 +114,7 @@ public: virtual am_Error_e getSinkInfoDB(const am_sinkID_t sinkID, am_Sink_s &sinkData) const = 0; virtual am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s &sourceData) const = 0; virtual am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s &crossfaderData) const = 0; + virtual am_Error_e getConnectionInfoDB(const am_connectionID_t connectionID, am_Connection_s &connectionData) const = 0; virtual am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s &mainConnectionData) const = 0; virtual am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t &mainVolume) const = 0; virtual am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t &volume) const = 0; |