From 776186a6f631f628d64662b9be42b9ddc7c4d9d5 Mon Sep 17 00:00:00 2001
From: Jeremie Deray <jeremie.deray@pal-robotics.com>
Date: Mon, 9 Oct 2017 18:44:04 +0200
Subject: [PATCH] add processor logging

---
 src/processor_logging.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 src/processor_logging.h

diff --git a/src/processor_logging.h b/src/processor_logging.h
new file mode 100644
index 000000000..167beb892
--- /dev/null
+++ b/src/processor_logging.h
@@ -0,0 +1,31 @@
+/**
+ * \file processor_logging.h
+ *
+ *  Created on: Oct 5, 2017
+ *  \author: Jeremie Deray
+ */
+
+#ifndef _WOLF_PROCESSOR_LOGGING_H_
+#define _WOLF_PROCESSOR_LOGGING_H_
+
+/// @brief un-comment for IDE highlights.
+//#include "logging.h"
+
+#define __INTERNAL_WOLF_ASSERT_PROCESSOR \
+  static_assert(std::is_base_of<ProcessorBase, \
+   typename std::remove_pointer<decltype(this)>::type>::value, \
+    "This macro can be used only within the body of a " \
+    "non-static " \
+    "ProcessorBase (and derived) function !");
+
+#define WOLF_PROCESSOR_INFO(...)  __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_INFO_NAMED(getType(),  __VA_ARGS__);
+#define WOLF_PROCESSOR_WARN(...)  __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_WARN_NAMED(getType(),  __VA_ARGS__);
+#define WOLF_PROCESSOR_ERROR(...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_ERROR_NAMED(getType(), __VA_ARGS__);
+#define WOLF_PROCESSOR_DEBUG(...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_DEBUG_NAMED(getType(), __VA_ARGS__);
+
+#define WOLF_PROCESSOR_INFO_COND(cond, ...)  __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_INFO_NAMED_COND(getType(),  cond, __VA_ARGS__);
+#define WOLF_PROCESSOR_WARN_COND(cond, ...)  __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_WARN_NAMED_COND(getType(),  cond, __VA_ARGS__);
+#define WOLF_PROCESSOR_ERROR_COND(cond, ...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_ERROR_NAMED_COND(getType(), cond, __VA_ARGS__);
+#define WOLF_PROCESSOR_DEBUG_COND(cond, ...) __INTERNAL_WOLF_ASSERT_PROCESSOR WOLF_DEBUG_NAMED_COND(getType(), cond, __VA_ARGS__);
+
+#endif /* _WOLF_PROCESSOR_LOGGING_H_ */
-- 
GitLab