diff options
author | Disch, Simon <simon_disch@mentor.com> | 2016-08-26 16:14:07 +0200 |
---|---|---|
committer | Disch, Simon <simon_disch@mentor.com> | 2016-08-26 16:14:07 +0200 |
commit | 8c373435098b67772167b4c80e2c99c67dd16dce (patch) | |
tree | e0b07c3572fd5a74a35f8503b841d028f9a9e41d /include | |
parent | 534894b27a5e6b86cf8d2bd7b53d55d04f2a1bcc (diff) | |
download | genivi-common-api-runtime-8c373435098b67772167b4c80e2c99c67dd16dce.tar.gz |
CommonAPI 3.1.93.1.9
Diffstat (limited to 'include')
-rw-r--r-- | include/CommonAPI/Event.hpp | 7 | ||||
-rw-r--r-- | include/CommonAPI/Logger.hpp | 105 | ||||
-rw-r--r-- | include/CommonAPI/Types.hpp | 5 |
3 files changed, 42 insertions, 75 deletions
diff --git a/include/CommonAPI/Event.hpp b/include/CommonAPI/Event.hpp index 91da3d6..470146f 100644 --- a/include/CommonAPI/Event.hpp +++ b/include/CommonAPI/Event.hpp @@ -81,8 +81,9 @@ protected: (void)_subscription; } - virtual void onListenerRemoved(const Listener &_listener) { + virtual void onListenerRemoved(const Listener &_listener, const Subscription _subscription) { (void)_listener; + (void) _subscription; } virtual void onLastListenerRemoved(const Listener &_listener) { (void)_listener; @@ -121,7 +122,7 @@ typename Event<Arguments_...>::Subscription Event<Arguments_...>::subscribe(List } template<typename ... Arguments_> -void Event<Arguments_...>::unsubscribe(Subscription subscription) { +void Event<Arguments_...>::unsubscribe(const Subscription subscription) { bool isLastListener(false); bool hasUnsubscribed(false); Listener listener; @@ -152,7 +153,7 @@ void Event<Arguments_...>::unsubscribe(Subscription subscription) { subscriptionMutex_.unlock(); if (hasUnsubscribed) { - onListenerRemoved(listener); + onListenerRemoved(listener, subscription); if (isLastListener) { onLastListenerRemoved(listener); } diff --git a/include/CommonAPI/Logger.hpp b/include/CommonAPI/Logger.hpp index b4047ac..d1b86fa 100644 --- a/include/CommonAPI/Logger.hpp +++ b/include/CommonAPI/Logger.hpp @@ -20,96 +20,67 @@ #define COMMONAPI_LOGLEVEL COMMONAPI_LOGLEVEL_NONE #endif -#ifdef WIN32 +#define COMMONAPI_FATAL CommonAPI::Logger::fatal +#define COMMONAPI_ERROR CommonAPI::Logger::error +#define COMMONAPI_WARNING CommonAPI::Logger::warning +#define COMMONAPI_INFO CommonAPI::Logger::info +#define COMMONAPI_DEBUG CommonAPI::Logger::debug +#define COMMONAPI_VERBOSE CommonAPI::Logger::verbose -#if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_FATAL -#define COMMONAPI_FATAL(...) \ - do { Logger::log(LoggerImpl::Level::LL_FATAL, __VA_ARGS__); } while (false); -#else -#define COMMONAPI_FATAL(...) -#endif - -#if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_ERROR -#define COMMONAPI_ERROR(...) \ - do { Logger::log(LoggerImpl::Level::LL_ERROR, __VA_ARGS__); } while (false); -#else -#define COMMONAPI_ERROR(...) -#endif - -#if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_WARNING -#define COMMONAPI_WARNING(...) \ - do { Logger::log(LoggerImpl::Level::LL_WARNING, __VA_ARGS__); } while (false); -#else -#define COMMONAPI_WARNING(...) -#endif - -#if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_INFO -#define COMMONAPI_INFO(...) \ - do { Logger::log(LoggerImpl::Level::LL_INFO, __VA_ARGS__); } while (false); -#else -#define COMMONAPI_INFO(...) -#endif - -#if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_DEBUG -#define COMMONAPI_DEBUG(...) \ - do { Logger::log(LoggerImpl::Level::LL_DEBUG, __VA_ARGS__); } while (false); -#else -#define COMMONAPI_DEBUG(...) -#endif - -#if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_VERBOSE -#define COMMONAPI_VERBOSE(...) \ - do { Logger::log(LoggerImpl::Level::LL_VERBOSE, __VA_ARGS__); } while (false); -#else -#define COMMONAPI_VERBOSE(...) -#endif +namespace CommonAPI { -#else // !WIN32 +class Logger { +public: -#define COMMONAPI_FATAL(params...) \ - do { Logger::log(LoggerImpl::Level::LL_FATAL, params); } while (false); + template<typename... LogEntries_> + COMMONAPI_EXPORT static void fatal(LogEntries_... _entries) { + log(LoggerImpl::Level::LL_FATAL, _entries...); + } + template<typename... LogEntries_> + COMMONAPI_EXPORT static void error(LogEntries_... _entries) { #if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_ERROR - #define COMMONAPI_ERROR(params...) \ - do { Logger::log(LoggerImpl::Level::LL_ERROR, params); } while (false); + log(LoggerImpl::Level::LL_ERROR, _entries...); #else - #define COMMONAPI_ERROR(params...) + std::tuple<LogEntries_...> args(_entries...); #endif + } + template<typename... LogEntries_> + COMMONAPI_EXPORT static void warning(LogEntries_... _entries) { #if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_WARNING - #define COMMONAPI_WARNING(params...) \ - do { Logger::log(LoggerImpl::Level::LL_WARNING, params); } while (false); + log(LoggerImpl::Level::LL_WARNING, _entries...); #else - #define COMMONAPI_WARNING(params...) + std::tuple<LogEntries_...> args(_entries...); #endif + } + template<typename... LogEntries_> + COMMONAPI_EXPORT static void info(LogEntries_... _entries) { #if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_INFO - #define COMMONAPI_INFO(params...) \ - do { Logger::log(LoggerImpl::Level::LL_INFO, params); } while (false); + log(LoggerImpl::Level::LL_INFO, _entries...); #else - #define COMMONAPI_INFO(params...) + std::tuple<LogEntries_...> args(_entries...); #endif + } + template<typename... LogEntries_> + COMMONAPI_EXPORT static void debug(LogEntries_... _entries) { #if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_DEBUG - #define COMMONAPI_DEBUG(params...) \ - do { Logger::log(LoggerImpl::Level::LL_DEBUG, params); } while (false); + log(LoggerImpl::Level::LL_DEBUG, _entries...); #else - #define COMMONAPI_DEBUG(params...) + std::tuple<LogEntries_...> args(_entries...); #endif + } + template<typename... LogEntries_> + COMMONAPI_EXPORT static void verbose(LogEntries_... _entries) { #if COMMONAPI_LOGLEVEL >= COMMONAPI_LOGLEVEL_VERBOSE - #define COMMONAPI_VERBOSE(params...) \ - do { Logger::log(LoggerImpl::Level::LL_VERBOSE, params); } while (false); + log(LoggerImpl::Level::LL_VERBOSE, _entries...); #else - #define COMMONAPI_VERBOSE(params...) + std::tuple<LogEntries_...> args(_entries...); #endif - -#endif // WIN32 - -namespace CommonAPI { - -class Logger { -public: + } template<typename... LogEntries_> COMMONAPI_EXPORT static void log(LoggerImpl::Level _level, LogEntries_... _entries) { diff --git a/include/CommonAPI/Types.hpp b/include/CommonAPI/Types.hpp index 9cf62c3..6f6801d 100644 --- a/include/CommonAPI/Types.hpp +++ b/include/CommonAPI/Types.hpp @@ -60,11 +60,6 @@ namespace CommonAPI { static void f(void) #endif -#ifdef WIN32 -#define usleep(micSec) \ - std::this_thread::sleep_for(std::chrono::microseconds(micSec)) -#endif - namespace CommonAPI { enum class AvailabilityStatus { |