summaryrefslogtreecommitdiff
path: root/src/bindings/eo_cxx/eo_ops.hh
blob: 89ed72d25ca252a337b76b10d2bffb6699ec9ca1 (plain) (blame)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137

#ifndef EFL_CXX_DETAIL_EO_OPS_HH
#define EFL_CXX_DETAIL_EO_OPS_HH

extern "C"
{
#include <Eo.h>
}

namespace efl { namespace eo { namespace detail {

inline void
init()
{
   ::eo_init();
}

inline void
shutdown()
{
   ::eo_shutdown();
}

inline Eo*
ref(const Eo *obj)
{
   return ::eo_ref(obj);
}

inline void
unref(const Eo *obj)
{
   ::eo_unref(obj);
}

inline int
ref_get(const Eo *obj)
{
   return ::eo_ref_get(obj);
}

inline void
del(const Eo *obj)
{
   ::eo_del(obj);
}

inline Eina_Bool
isa(const Eo *obj, const Eo_Class *klass)
{
   return eo_isa(obj, klass);
}

inline Eo*
add(const Eo_Class *klass, Eo *parent = NULL)
{
   Eo *eo = eo_add_ref(klass, parent);
   return eo;
}

inline void
dbg_info_get(const Eo *obj, Eo_Dbg_Info *info)
{
   eo_do(obj, eo_dbg_info_get(info));
}

inline void
base_data_set(const Eo *obj, const char *key, const void *data,
              eo_key_data_free_func free_func = NULL)
{
   eo_do(obj, eo_key_data_set(key, data));
}

inline void*
base_data_get(const Eo *obj, const char *key)
{
   void *data;
   eo_do(obj, data = eo_key_data_get(key));
   return data;
}

inline void
base_data_del(const Eo *obj, const char *key)
{
   eo_do(obj, eo_key_data_del(key));
}

inline void
parent_set(const Eo *obj, Eo *parent)
{
   eo_do(obj, eo_parent_set(parent));
}

inline Eo*
parent_get(const Eo *obj)
{
   Eo *parent;
   eo_do(obj, parent = eo_parent_get());
   return parent;
}

inline void
event_freeze(const Eo *obj)
{
   eo_do(obj, eo_event_freeze());
}

inline void
event_thaw(const Eo *obj)
{
   eo_do(obj, eo_event_thaw());
}

inline int
event_freeze_get(const Eo *obj)
{
   int count = -1;
   eo_do(obj, count = eo_event_freeze_count_get());
   return count;
}

inline void
wref_add(const Eo *obj, Eo **wref)
{
   eo_do(obj, eo_wref_add(wref));
}

inline void
wref_del(const Eo *obj, Eo **wref)
{
   eo_do(obj, eo_wref_del(wref));
}

} } }


#endif // EFL_CXX_DETAIL_EO_OPS_HH