diff options
author | Frank Herchet <frank.fh.herchet@bmw.de> | 2012-02-29 14:15:19 +0100 |
---|---|---|
committer | Frank Herchet <frank.fh.herchet@bmw.de> | 2012-02-29 14:15:19 +0100 |
commit | 2d5384afc024850758449c884844654c915efa1b (patch) | |
tree | 0277ad3651f8b9d457c36a101044220d97b73944 /PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h | |
parent | 9c703b74e66c33a68f7013f21cf198d242475ba1 (diff) | |
parent | ffccf1e2003cea4230413ccfdfd4cd6515484e4f (diff) | |
download | audiomanager-2d5384afc024850758449c884844654c915efa1b.tar.gz |
Merge branch 'master' of qmuc300924:AudioManager
Diffstat (limited to 'PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h')
-rw-r--r-- | PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h b/PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h index dd88be1..96e1b5c 100644 --- a/PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h +++ b/PluginRoutingInterfaceAsync/include/RoutingSenderAsyn.h @@ -29,6 +29,7 @@ #include <routing/RoutingSendInterface.h> #include "RoutingReceiverAsyncShadow.h" #include <semaphore.h> +#include <memory.h> namespace am { @@ -208,6 +209,12 @@ public: */ void updateDomainstateSafe(am_domainID_t domainID, am_DomainState_e domainState); + void updateDomainListSafe(std::vector<am_Domain_s> listDomains); + + void updateSourceListSafe(std::vector<am_Source_s> listSource); + + void updateSinkListSafe(std::vector<am_Sink_s> listSinks); + private: /** * Extra thread that handles dbus stimulation for interrupt tests @@ -216,12 +223,11 @@ private: * it is used just for testing, not intended to be used otherwise... * @param data */ - static void* InterruptEvents(void* data); std::vector<am_Domain_s> createDomainTable(); std::vector<am_Sink_s> createSinkTable(); std::vector<am_Source_s> createSourceTable(); std::vector<am_Gateway_s> createGatewayTable(); - RoutingReceiverAsyncShadow mShadow; + RoutingReceiverAsyncShadow* mShadow; RoutingReceiveInterface* mReceiveInterface; SocketHandler *mSocketHandler; std::vector<am_Domain_s> mDomains; @@ -372,6 +378,21 @@ private: am_DomainState_e mDomainState; }; +class syncRegisterWorker: public Worker +{ +public: + syncRegisterWorker(AsyncRoutingSender * asyncSender, WorkerThreadPool* pool, RoutingReceiverAsyncShadow* shadow, const std::vector<am_Domain_s> domains, const std::vector<am_Sink_s> sinks, const std::vector<am_Source_s> sources, const uint16_t handle); + void start2work(); + void cancelWork(); +private: + AsyncRoutingSender * mAsyncSender; + RoutingReceiverAsyncShadow *mShadow; + std::vector<am_Domain_s> mListDomains; + std::vector<am_Sink_s> mListSinks; + std::vector<am_Source_s> mListSources; + uint16_t mHandle; +}; + } #endif /* ROUTINGSENDER_H_ */ |