embryo: add eina_log 00/58200/1
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Wed, 30 Dec 2015 00:14:36 +0000 (09:14 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Thu, 28 Jan 2016 08:53:10 +0000 (17:53 +0900)
Summary: add eina_log

Test Plan: use DBG, ERR ... in embryo code

Reviewers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3507

Change-Id: I75a66292d4634492c0b3995c22c9c1d2c408ac91

src/lib/embryo/embryo_main.c
src/lib/embryo/embryo_private.h

index 3c57ec7..e80834c 100644 (file)
@@ -13,6 +13,7 @@ static Embryo_Version _version = { VMAJ, VMIN, VMIC, VREV };
 EAPI Embryo_Version *embryo_version = &_version;
 
 static int _embryo_init_count = 0;
+int _embryo_default_log_dom = -1;
 
 /*** EXPORTED CALLS ***/
 
@@ -24,7 +25,26 @@ embryo_init(void)
 
    srand(time(NULL));
 
+   if (!eina_init())
+     return --_embryo_init_count;
+
+   _embryo_default_log_dom = eina_log_domain_register
+       ("embryo", EMBRYO_DEFAULT_LOG_COLOR);
+   if (_embryo_default_log_dom < 0)
+     {
+        EINA_LOG_ERR("Embryo Can not create a general log domain.");
+        goto shutdown_eina;
+     }
+
+   eina_log_timing(_embryo_default_log_dom,
+                   EINA_LOG_STATE_STOP,
+                   EINA_LOG_STATE_INIT);
+
    return _embryo_init_count;
+
+shutdown_eina:
+   eina_shutdown();
+   return --_embryo_init_count;
 }
 
 EAPI int
@@ -38,5 +58,12 @@ embryo_shutdown(void)
    if (--_embryo_init_count != 0)
      return _embryo_init_count;
 
+   eina_log_timing(_embryo_default_log_dom,
+                   EINA_LOG_STATE_START,
+                   EINA_LOG_STATE_SHUTDOWN);
+
+   eina_log_domain_unregister(_embryo_default_log_dom);
+   _embryo_default_log_dom = -1;
+
    return _embryo_init_count;
 }
index c65a1ab..b63dbbd 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _EMBRYO_PRIVATE_H
 #define _EMBRYO_PRIVATE_H
 
+#include <Eina.h>
+
 typedef enum _Embryo_Opcode Embryo_Opcode;
 
 enum _Embryo_Opcode
@@ -146,6 +148,33 @@ enum _Embryo_Opcode
      EMBRYO_OP_NUM_OPCODES
 };
 
+EAPI extern int _embryo_default_log_dom ;
+
+#ifdef EMBRYO_DEFAULT_LOG_COLOR
+# undef EMBRYO_DEFAULT_LOG_COLOR
+#endif
+#define EMBRYO_DEFAULT_LOG_COLOR EINA_COLOR_CYAN
+#ifdef ERR
+# undef ERR
+#endif
+#define ERR(...) EINA_LOG_DOM_ERR(_embryo_default_log_dom, __VA_ARGS__)
+#ifdef INF
+# undef INF
+#endif
+#define INF(...) EINA_LOG_DOM_INFO(_embryo_default_log_dom, __VA_ARGS__)
+#ifdef WRN
+# undef WRN
+#endif
+#define WRN(...) EINA_LOG_DOM_WARN(_embryo_default_log_dom, __VA_ARGS__)
+#ifdef CRI
+# undef CRI
+#endif
+#define CRI(...) EINA_LOG_DOM_CRIT(_embryo_default_log_dom, __VA_ARGS__)
+#ifdef DBG
+# undef DBG
+#endif
+#define DBG(...) EINA_LOG_DOM_DBG(_embryo_default_log_dom, __VA_ARGS__)
+
 #define NUMENTRIES(hdr, field, nextfield) \
 (int)(((hdr)->nextfield - (hdr)->field) / (hdr)->defsize)
 #define GETENTRY(hdr, table, index) \