diff options
Diffstat (limited to 'AudioManagerDaemon/Router.cpp')
-rw-r--r-- | AudioManagerDaemon/Router.cpp | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/AudioManagerDaemon/Router.cpp b/AudioManagerDaemon/Router.cpp index 1cca6ff..0d426cc 100644 --- a/AudioManagerDaemon/Router.cpp +++ b/AudioManagerDaemon/Router.cpp @@ -188,53 +188,6 @@ RoutingTreeItem* RoutingTree::returnRootItem() { return &m_rootItem; } -template<class T>T* getCreateFunction(std::string libname) { - - // cut off directories - char* fileWithPath = const_cast<char*>(libname.c_str()); - std::string libFileName = basename(fileWithPath); - - // cut off "lib" in front and cut off .so end" - std::string createFunctionName = libFileName.substr(3, libFileName.length() - 6) + "Factory"; - DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("Lib entry point name "),DLT_STRING(createFunctionName.c_str())); - - // open library - void *libraryHandle; - dlerror(); // Clear any existing error - libraryHandle = dlopen(libname.c_str(), RTLD_NOW /*LAZY*/); - const char* dlopen_error = dlerror(); - if (!libraryHandle || dlopen_error) - { - DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("dlopen failed"),DLT_STRING(dlopen_error)); - return 0; - } - - // get entry point from shared lib - dlerror(); // Clear any existing error - DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("loading external function with name"),DLT_STRING(createFunctionName.c_str())); - - union - { - void* voidPointer; - T* typedPointer; - } functionPointer; - - // Note: direct cast is not allowed by ISO C++. e.g. - // T* createFunction = reinterpret_cast<T*>(dlsym(libraryHandle, createFunctionName.c_str())); - // compiler warning: "forbids casting between pointer-to-function and pointer-to-object" - - functionPointer.voidPointer = dlsym(libraryHandle, createFunctionName.c_str()); - T* createFunction = functionPointer.typedPointer; - - const char* dlsym_error = dlerror(); - if (!createFunction || dlsym_error) - { - DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("Failed to load shared lib entry point"),DLT_STRING(dlsym_error)); - } - - return createFunction; -} - void Bushandler::load_Bus_plugins() { std::list<std::string> sharedLibraryNameList; @@ -276,7 +229,7 @@ void Bushandler::load_Bus_plugins() { RoutingPlugin->return_BusName(BusName); newBus.Name=std::string(BusName); newBus.sendInterface=RoutingPlugin; - RoutingPlugin->startup_interface(m_receiver); + RoutingPlugin->startup_interface(m_receiver,m_core->returnDbusHandler()); DLT_LOG( AudioManager, DLT_LOG_INFO, DLT_STRING("Registered Routing Plugin:"), DLT_STRING(BusName)); Busses.push_back(newBus); } |