Add new macro for handling verbosity
authorJosé Bollo <jose.bollo@iot.bzh>
Wed, 28 Jun 2017 12:44:11 +0000 (14:44 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Wed, 28 Jun 2017 12:44:11 +0000 (14:44 +0200)
It might be interesting to test the verbosity
level before making resource consuming stuff.
Se example below:

  if (afb_verbose_notice()) {
      char *s = compute();
      NOTICE("I got %s", s);
      free(s);
  }

Change-Id: I7be4248a86fc2a2a23820ec822b36d9fccafb203
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
include/afb/afb-binding.h

index 3215c59..69be174 100644 (file)
@@ -179,6 +179,10 @@ typedef struct afb_service_itf          afb_service_itf;
 #if AFB_BINDING_VERSION == 2
 
 # define afb_binding           afb_binding_v2
+# define afb_get_verbosity     afb_get_verbosity_v2
+# define afb_get_daemon                afb_get_daemon_v2
+# define afb_get_service       afb_get_service_v2
+
 
 # define AFB_SESSION_NONE      AFB_SESSION_NONE_V2
 # define AFB_SESSION_CLOSE     AFB_SESSION_CLOSE_V2
@@ -229,6 +233,20 @@ typedef struct afb_service_itf          afb_service_itf;
 
 #endif
 
+/***************************************************************************************************/
+
+#if AFB_BINDING_VERSION >= 2
+
+# define afb_verbose_error()   (afb_get_verbosity() >= 0)
+# define afb_verbose_warning() (afb_get_verbosity() >= 1)
+# define afb_verbose_notice()  (afb_get_verbosity() >= 1)
+# define afb_verbose_info()    (afb_get_verbosity() >= 2)
+# define afb_verbose_debug()   (afb_get_verbosity() >= 3)
+
+#endif
+
+/***************************************************************************************************/
+
 #if !defined(AFB_BINDING_PRAGMA_NO_VERBOSE_UNPREFIX)
 # if !defined(AFB_BINDING_PRAGMA_NO_VERBOSE_MACRO)
 #  define ERROR                        AFB_ERROR