diff options
Diffstat (limited to 'AudioManagerDaemon/src/CommandSender.cpp')
-rw-r--r-- | AudioManagerDaemon/src/CommandSender.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/AudioManagerDaemon/src/CommandSender.cpp b/AudioManagerDaemon/src/CommandSender.cpp index 7ea9ee8..92734c4 100644 --- a/AudioManagerDaemon/src/CommandSender.cpp +++ b/AudioManagerDaemon/src/CommandSender.cpp @@ -24,11 +24,14 @@ #include "CommandSender.h" +#include "command/CommandReceiveInterface.h" #include <dirent.h> #include <dlt/dlt.h> #include "PluginTemplate.h" using namespace am; +#define REQUIRED_INTERFACE_VERSION 1 + DLT_IMPORT_CONTEXT(AudioManager) //!< macro to call all interfaces @@ -67,7 +70,7 @@ CommandSender::CommandSender(const std::vector<std::string>& listOfPluginDirecto unsigned char entryType = itemInDirectory->d_type; std::string entryName = itemInDirectory->d_name; - bool regularFile = (entryType == DT_REG); + bool regularFile = (entryType == DT_REG || entryType== DT_LNK); bool sharedLibExtension = ("so" == entryName.substr(entryName.find_last_of(".") + 1)); if (regularFile && sharedLibExtension) @@ -104,6 +107,13 @@ CommandSender::CommandSender(const std::vector<std::string>& listOfPluginDirecto continue; } + //check libversion + if (commander->getInterfaceVersion()<REQUIRED_INTERFACE_VERSION) + { + DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("RoutingPlugin initialization failed. Version of Interface to old")); + continue; + } + mListInterfaces.push_back(commander); mListLibraryHandles.push_back(tempLibHandle); } @@ -258,6 +268,13 @@ void CommandSender::unloadLibraries(void) mListLibraryHandles.clear(); } +uint16_t CommandSender::getInterfaceVersion() const +{ + return CommandSendVersion; +} + + + |