summaryrefslogtreecommitdiff
path: root/src/lib/ecore_buffer/ecore_buffer_queue_main.c
blob: a1883bb3fef243dcc3ac2bc7f1007fc2fc45d1f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <Ecore_Buffer_Queue.h>
#include "ecore_buffer_private.h"
#include "ecore_buffer_con.h"

int _ecore_buffer_queue_log_dom = -1;
static int _ecore_buffer_queue_init_count = 0;

EAPI int
ecore_buffer_queue_init(void)
{
   if (++_ecore_buffer_queue_init_count != 1)
     return _ecore_buffer_queue_init_count;

   _ecore_buffer_queue_log_dom =
      eina_log_domain_register("ecore_buffer_queue", EINA_COLOR_GREEN);

   if (_ecore_buffer_queue_log_dom < 0)
     {
        EINA_LOG_ERR("Could not register log domain: ecore_buffer_queue");
        goto err;
     }

#ifdef DEBUG
   eina_log_abort_on_critical_level_set(EINA_LOG_LEVEL_ERR);
   eina_log_abort_on_critical_set(EINA_TRUE);
#endif

   DBG("Ecore_Buffer_Queue Init");

   if (!_ecore_buffer_con_init())
     {
        eina_log_domain_unregister(_ecore_buffer_queue_log_dom);
        _ecore_buffer_queue_log_dom = -1;
        goto err;
     }

   return _ecore_buffer_queue_init_count;
err:
   return --_ecore_buffer_queue_init_count;
}

EAPI int
ecore_buffer_queue_shutdown(void)
{
   if (--_ecore_buffer_queue_init_count != 0)
     return _ecore_buffer_queue_init_count;

   DBG("Ecore_Buffer_Queue Shutdown");
   _ecore_buffer_con_shutdown();
   eina_log_domain_unregister(_ecore_buffer_queue_log_dom);
   _ecore_buffer_queue_log_dom = -1;

   return _ecore_buffer_queue_init_count;
}