summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/src/CommandSender.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerDaemon/src/CommandSender.cpp')
-rw-r--r--AudioManagerDaemon/src/CommandSender.cpp19
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;
+}
+
+
+