diff options
author | Aleksandar Donchev <Aleksander.Donchev@partner.bmw.de> | 2015-10-02 13:09:08 +0200 |
---|---|---|
committer | Aleksandar Donchev <Aleksander.Donchev@partner.bmw.de> | 2015-10-02 13:09:08 +0200 |
commit | 6b730d5d2f993a7acddba2ba7ed649ef308a8e8e (patch) | |
tree | 4654ae96abe125990766bc172b566b19520c9205 | |
parent | bd7ec24a2abe47ae4398b23282e8288e00eaec47 (diff) | |
download | audiomanager-6b730d5d2f993a7acddba2ba7ed649ef308a8e8e.tar.gz |
* Settings for commonAPI without binding code.
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r-- | AudioManagerDaemon/CMakeLists.txt | 21 | ||||
-rw-r--r-- | AudioManagerUtilities/include/CAmCommonAPIWrapper.h | 16 | ||||
-rw-r--r-- | AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp | 18 | ||||
-rwxr-xr-x | CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/audiomanagerConfig.cmake.in | 1 | ||||
-rw-r--r-- | cmake/config.cmake.in | 1 |
6 files changed, 24 insertions, 35 deletions
diff --git a/AudioManagerDaemon/CMakeLists.txt b/AudioManagerDaemon/CMakeLists.txt index ff8b70e..c08ca77 100644 --- a/AudioManagerDaemon/CMakeLists.txt +++ b/AudioManagerDaemon/CMakeLists.txt @@ -49,14 +49,18 @@ if(WITH_DBUS_WRAPPER) pkg_check_modules (DBUS "dbus-1 >= 1.4") endif(WITH_DBUS_WRAPPER) -if(WITH_CAPI_WRAPPER) - find_package(CommonAPI REQUIRED) -endif(WITH_CAPI_WRAPPER) - set (AM_LINK_LIBS ${CMAKE_DL_LIBS} rt) +if(WITH_CAPI_WRAPPER) + find_package(CommonAPI 3.1.3 REQUIRED) + string(REPLACE "." "" COMMONAPI_VERSION_NUMBER ${CommonAPI_VERSION}) + SET(COMMONAPI_VERSION_NUMBER ${COMMONAPI_VERSION_NUMBER} CACHE INTERNAL "hide this!" FORCE) + SET(CommonAPI_VERSION ${CommonAPI_VERSION} PARENT_SCOPE) +endif(WITH_CAPI_WRAPPER) + + set(AUDIOMAN_SRCS_CXX src/main.cpp src/CAmCommandReceiver.cpp @@ -102,8 +106,9 @@ if(WITH_DBUS_WRAPPER) endif(WITH_DBUS_WRAPPER) if(WITH_CAPI_WRAPPER) + set(LINK_LIBRARIES -Wl,--as-needed CommonAPI) set (AUDIOMAN_SRCS_CXX ${AUDIOMAN_SRCS_CXX} "${AUDIOMANAGER_UTILITIES_SRC}/CAmCommonAPIWrapper.cpp") - set (AM_LINK_LIBS ${AM_LINK_LIBS} ${CommonAPI_LIBRARY}) + set (AM_LINK_LIBS ${AM_LINK_LIBS} ${LINK_LIBRARIES}) endif(WITH_CAPI_WRAPPER) if(WITH_DATABASE_STORAGE) @@ -130,9 +135,9 @@ INCLUDE_DIRECTORIES( ) if(WITH_CAPI_WRAPPER) - -INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} - ${COMMONAPI_INCLUDE_DIRS}) + INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} + ${COMMONAPI_INCLUDE_DIRS} + ) endif(WITH_CAPI_WRAPPER) if(WITH_DLT) diff --git a/AudioManagerUtilities/include/CAmCommonAPIWrapper.h b/AudioManagerUtilities/include/CAmCommonAPIWrapper.h index fd5a784..f2d701d 100644 --- a/AudioManagerUtilities/include/CAmCommonAPIWrapper.h +++ b/AudioManagerUtilities/include/CAmCommonAPIWrapper.h @@ -26,10 +26,18 @@ #include <memory> #include <cassert> #include <CommonAPI/CommonAPI.hpp> +#ifndef COMMONAPI_INTERNAL_COMPILATION +#define COMMONAPI_INTERNAL_COMPILATION +#include <CommonAPI/MainLoopContext.hpp> +#undef COMMONAPI_INTERNAL_COMPILATION +#endif #include <CommonAPI/Utils.hpp> #include "audiomanagerconfig.h" #include "CAmSocketHandler.h" +#if COMMONAPI_VERSION_NUMBER < 300 +#error "CommonAPI versions < 300 are not supported." +#endif /** * A Common-API wrapper class, which loads the common-api runtime and instantiates all necessary objects. @@ -262,14 +270,6 @@ public: return buildProxy<ProxyClass>(parts[0], parts[2]); } - /**The following code is deprecated and it might be unavailable in future versions! - * Compatibility to versions prior 3.0.0 - */ -private: - std::shared_ptr<CommonAPI::Factory> mFactory; -public: - std::shared_ptr<CommonAPI::Factory> __attribute__((deprecated)) factory() const { return mFactory; }; - std::shared_ptr<CommonAPI::Runtime> __attribute__((deprecated)) runtime() const { return mRuntime; }; }; diff --git a/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp b/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp index 238fa32..6e0cb90 100644 --- a/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp +++ b/AudioManagerUtilities/src/CAmCommonAPIWrapper.cpp @@ -46,12 +46,11 @@ CAmCommonAPIWrapper::CAmCommonAPIWrapper(CAmSocketHandler* socketHandler, const mWatchToCheck(NULL) { assert(NULL!=socketHandler); - - //Get the runtime +//Get the runtime CommonAPI::Runtime::setProperty("LogContext", "AMCAPI"); mRuntime = CommonAPI::Runtime::get(); - logInfo("CommonAPI runtime has been loaded! Default Binding is", mRuntime->getDefaultBinding()); assert(NULL!=mRuntime); + logInfo("CommonAPI runtime has been loaded! Default Binding is", mRuntime->getDefaultBinding()); //Create the context if(applicationName.size()) @@ -61,17 +60,6 @@ CAmCommonAPIWrapper::CAmCommonAPIWrapper(CAmSocketHandler* socketHandler, const assert(NULL!=mContext); logInfo("CommonAPI main loop context with name '", mContext->getName(), "' has been created!"); -// #if COMMONAPI_USED_BINDING > 0 -// mFactory = CommonAPI::SomeIP::Factory::get(); -// assert(mFactory); -// mRuntime->registerFactory("someip", mFactory); -// #else -// mFactory = CommonAPI::DBus::Factory::get(); -// assert(mFactory); -// mRuntime->registerFactory("dbus", mFactory); -// #endif - - //Make subscriptions mDispatchSourceListenerSubscription = mContext->subscribeForDispatchSources( std::bind(&CAmCommonAPIWrapper::registerDispatchSource, this, std::placeholders::_1, std::placeholders::_2), @@ -89,9 +77,7 @@ CAmCommonAPIWrapper::~CAmCommonAPIWrapper() mContext->unsubscribeForDispatchSources(mDispatchSourceListenerSubscription); mContext->unsubscribeForWatches(mWatchListenerSubscription); mContext->unsubscribeForTimeouts(mTimeoutSourceListenerSubscription); - mFactory.reset(); mContext.reset(); - mRuntime.reset(); mpSocketHandler = NULL; mWatchToCheck = NULL; } diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ce1a31..3919a0f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,7 +65,7 @@ option ( WITH_CAPI_WRAPPER "Build with commonapi wrapper" ON) option ( WITH_DBUS_WRAPPER - "Build with Dbus wrapper" ON) + "Build with Dbus wrapper" OFF) set (WITH_COMMON_API_GEN ON CACHE INTERNAL "hide this!" FORCE) diff --git a/cmake/audiomanagerConfig.cmake.in b/cmake/audiomanagerConfig.cmake.in index 5da3b13..4b5daa0 100644 --- a/cmake/audiomanagerConfig.cmake.in +++ b/cmake/audiomanagerConfig.cmake.in @@ -12,7 +12,6 @@ set(WITH_TESTS "@WITH_TESTS@") set(AUDIOMANAGER_DAEMON_FOLDER "@AUDIOMANAGER_DAEMON_FOLDER@") set(WITH_DOCUMENTATION "@WITH_DOCUMENTATION@") set(WITH_DLT "@WITH_DLT@") -set(WITH_ENABLED_IPC "@WITH_ENABLED_IPC@") set(DBUS_SERVICE_PREFIX "@DBUS_SERVICE_PREFIX@") set(DBUS_SERVICE_OBJECT_PATH "@DBUS_SERVICE_OBJECT_PATH@") set(DYNAMIC_ID_BOUNDARY "@DYNAMIC_ID_BOUNDARY@") diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in index 6f26bbc..9334dc1 100644 --- a/cmake/config.cmake.in +++ b/cmake/config.cmake.in @@ -3,7 +3,6 @@ #cmakedefine DAEMONVERSION "@DAEMONVERSION@" -#cmakedefine WITH_ENABLED_IPC #cmakedefine WITH_CAPI_WRAPPER #cmakedefine WITH_DBUS_WRAPPER #cmakedefine WITH_DATABASE_STORAGE |