summaryrefslogtreecommitdiff
path: root/src/bindings/cxx/eo_cxx/eo_ops.hh
blob: 6d09a4fa9913a87f826e2323992f6d75acd020ae (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
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*
 * Copyright 2019 by its authors. See AUTHORS.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#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()
{
   ::efl_object_init();
}

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

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

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

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

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

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

inline Eina_Bool
isa(const Eo *obj, const Efl_Class *klass)
{
   return efl_isa(obj, klass);
}

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

inline void
dbg_info_get(Eo *obj, Efl_Dbg_Info *info)
{
   efl_dbg_info_get(obj, info);
}

inline void
base_data_set(Eo *obj, const char *key, const void *data)
{
   efl_key_data_set(obj, key, data);
}

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

inline void
base_data_del(Eo *obj, const char *key)
{
   efl_key_data_set(obj, key, NULL);
}

inline void
parent_set(Eo *obj, Eo *parent)
{
   efl_parent_set(obj, parent);
}

inline Eo*
parent_get(const Eo *obj)
{
   Eo *parent;
   parent = efl_parent_get(obj);
   return parent;
}

inline void
event_freeze(Eo *obj)
{
   efl_event_freeze(obj);
}

inline void
event_thaw(Eo *obj)
{
   efl_event_thaw(obj);
}

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

inline void
wref_add(Eo *obj, Eo **wref)
{
   efl_wref_add(obj, wref);
}

inline void
wref_del(Eo *obj, Eo **wref)
{
   efl_wref_del(obj, wref);
}

} } }


#endif // EFL_CXX_DETAIL_EO_OPS_HH