summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDisch, Simon <simon_disch@mentor.com>2016-08-26 16:14:07 +0200
committerDisch, Simon <simon_disch@mentor.com>2016-08-26 16:14:07 +0200
commit8c373435098b67772167b4c80e2c99c67dd16dce (patch)
treee0b07c3572fd5a74a35f8503b841d028f9a9e41d /include
parent534894b27a5e6b86cf8d2bd7b53d55d04f2a1bcc (diff)
downloadgenivi-common-api-runtime-8c373435098b67772167b4c80e2c99c67dd16dce.tar.gz
CommonAPI 3.1.93.1.9
Diffstat (limited to 'include')
-rw-r--r--include/CommonAPI/Event.hpp7
-rw-r--r--include/CommonAPI/Logger.hpp105
-rw-r--r--include/CommonAPI/Types.hpp5
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 {