diff options
Diffstat (limited to 'AudioManagerDaemon/src/ControlSender.cpp')
-rw-r--r-- | AudioManagerDaemon/src/ControlSender.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/AudioManagerDaemon/src/ControlSender.cpp b/AudioManagerDaemon/src/ControlSender.cpp index 57b5974..232c8e7 100644 --- a/AudioManagerDaemon/src/ControlSender.cpp +++ b/AudioManagerDaemon/src/ControlSender.cpp @@ -7,6 +7,7 @@ #include "ControlSender.h" #include "PluginTemplate.h" +#include <dlt/dlt.h> #include <assert.h> @@ -14,15 +15,22 @@ ControlSender::ControlSender(std::string controlPluginFile) :mlibHandle(NULL), mController(NULL) { - ControlSendInterface* (*createFunc)(); - createFunc = getCreateFunction<ControlSendInterface*()>(controlPluginFile,mlibHandle); - assert(createFunc!=NULL); - mController = createFunc(); + if (!controlPluginFile.empty()) + { + ControlSendInterface* (*createFunc)(); + createFunc = getCreateFunction<ControlSendInterface*()>(controlPluginFile,mlibHandle); + assert(createFunc!=NULL); + mController = createFunc(); + } + else + { + DLT_LOG(AudioManager,DLT_LOG_ERROR, DLT_STRING("No controller loaded !")); + } } ControlSender::~ControlSender() { - dlclose(mlibHandle); + if (mlibHandle) dlclose(mlibHandle); } void ControlSender::hookAllPluginsLoaded() |