1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19  
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtkc.gthread;
26 
27 version(Tango)
28 	private import tango.stdc.stdio;
29 else
30 	private import std.stdio;
31 
32 private import gtkc.gthreadtypes;
33 private import gtkc.Loader;
34 private import gtkc.paths;
35 
36 mixin( _shared ~ "static this()
37 {
38 	// gthread.Mutex
39 
40 	Linker.link(g_mutex_new, \"g_mutex_new\", LIBRARY.GTHREAD);
41 	Linker.link(g_mutex_lock, \"g_mutex_lock\", LIBRARY.GTHREAD);
42 	Linker.link(g_mutex_trylock, \"g_mutex_trylock\", LIBRARY.GTHREAD);
43 	Linker.link(g_mutex_unlock, \"g_mutex_unlock\", LIBRARY.GTHREAD);
44 	Linker.link(g_mutex_free, \"g_mutex_free\", LIBRARY.GTHREAD);
45 
46 	// gthread.StaticMutex
47 
48 	Linker.link(g_static_mutex_init, \"g_static_mutex_init\", LIBRARY.GTHREAD);
49 	Linker.link(g_static_mutex_lock, \"g_static_mutex_lock\", LIBRARY.GTHREAD);
50 	Linker.link(g_static_mutex_trylock, \"g_static_mutex_trylock\", LIBRARY.GTHREAD);
51 	Linker.link(g_static_mutex_unlock, \"g_static_mutex_unlock\", LIBRARY.GTHREAD);
52 	Linker.link(g_static_mutex_get_mutex, \"g_static_mutex_get_mutex\", LIBRARY.GTHREAD);
53 	Linker.link(g_static_mutex_free, \"g_static_mutex_free\", LIBRARY.GTHREAD);
54 
55 	// gthread.StaticRecMutex
56 
57 	Linker.link(g_static_rec_mutex_init, \"g_static_rec_mutex_init\", LIBRARY.GTHREAD);
58 	Linker.link(g_static_rec_mutex_lock, \"g_static_rec_mutex_lock\", LIBRARY.GTHREAD);
59 	Linker.link(g_static_rec_mutex_trylock, \"g_static_rec_mutex_trylock\", LIBRARY.GTHREAD);
60 	Linker.link(g_static_rec_mutex_unlock, \"g_static_rec_mutex_unlock\", LIBRARY.GTHREAD);
61 	Linker.link(g_static_rec_mutex_lock_full, \"g_static_rec_mutex_lock_full\", LIBRARY.GTHREAD);
62 	Linker.link(g_static_rec_mutex_unlock_full, \"g_static_rec_mutex_unlock_full\", LIBRARY.GTHREAD);
63 	Linker.link(g_static_rec_mutex_free, \"g_static_rec_mutex_free\", LIBRARY.GTHREAD);
64 
65 	// gthread.RWLock
66 
67 	Linker.link(g_static_rw_lock_init, \"g_static_rw_lock_init\", LIBRARY.GTHREAD);
68 	Linker.link(g_static_rw_lock_reader_lock, \"g_static_rw_lock_reader_lock\", LIBRARY.GTHREAD);
69 	Linker.link(g_static_rw_lock_reader_trylock, \"g_static_rw_lock_reader_trylock\", LIBRARY.GTHREAD);
70 	Linker.link(g_static_rw_lock_reader_unlock, \"g_static_rw_lock_reader_unlock\", LIBRARY.GTHREAD);
71 	Linker.link(g_static_rw_lock_writer_lock, \"g_static_rw_lock_writer_lock\", LIBRARY.GTHREAD);
72 	Linker.link(g_static_rw_lock_writer_trylock, \"g_static_rw_lock_writer_trylock\", LIBRARY.GTHREAD);
73 	Linker.link(g_static_rw_lock_writer_unlock, \"g_static_rw_lock_writer_unlock\", LIBRARY.GTHREAD);
74 	Linker.link(g_static_rw_lock_free, \"g_static_rw_lock_free\", LIBRARY.GTHREAD);
75 
76 	// gthread.Cond
77 
78 	Linker.link(g_cond_new, \"g_cond_new\", LIBRARY.GTHREAD);
79 	Linker.link(g_cond_signal, \"g_cond_signal\", LIBRARY.GTHREAD);
80 	Linker.link(g_cond_broadcast, \"g_cond_broadcast\", LIBRARY.GTHREAD);
81 	Linker.link(g_cond_wait, \"g_cond_wait\", LIBRARY.GTHREAD);
82 	Linker.link(g_cond_timed_wait, \"g_cond_timed_wait\", LIBRARY.GTHREAD);
83 	Linker.link(g_cond_free, \"g_cond_free\", LIBRARY.GTHREAD);
84 
85 	// gthread.Private
86 
87 	Linker.link(g_private_new, \"g_private_new\", LIBRARY.GTHREAD);
88 	Linker.link(g_private_get, \"g_private_get\", LIBRARY.GTHREAD);
89 	Linker.link(g_private_set, \"g_private_set\", LIBRARY.GTHREAD);
90 
91 	// gthread.StaticPrivate
92 
93 	Linker.link(g_static_private_init, \"g_static_private_init\", LIBRARY.GTHREAD);
94 	Linker.link(g_static_private_get, \"g_static_private_get\", LIBRARY.GTHREAD);
95 	Linker.link(g_static_private_set, \"g_static_private_set\", LIBRARY.GTHREAD);
96 	Linker.link(g_static_private_free, \"g_static_private_free\", LIBRARY.GTHREAD);
97 
98 	// gthread.Thread
99 
100 	Linker.link(g_thread_init, \"g_thread_init\", LIBRARY.GTHREAD);
101 	Linker.link(g_thread_supported, \"g_thread_supported\", LIBRARY.GTHREAD);
102 	Linker.link(g_thread_get_initialized, \"g_thread_get_initialized\", LIBRARY.GTHREAD);
103 	Linker.link(g_thread_create, \"g_thread_create\", LIBRARY.GTHREAD);
104 	Linker.link(g_thread_create_full, \"g_thread_create_full\", LIBRARY.GTHREAD);
105 	Linker.link(g_thread_self, \"g_thread_self\", LIBRARY.GTHREAD);
106 	Linker.link(g_thread_join, \"g_thread_join\", LIBRARY.GTHREAD);
107 	Linker.link(g_thread_set_priority, \"g_thread_set_priority\", LIBRARY.GTHREAD);
108 	Linker.link(g_thread_yield, \"g_thread_yield\", LIBRARY.GTHREAD);
109 	Linker.link(g_thread_exit, \"g_thread_exit\", LIBRARY.GTHREAD);
110 	Linker.link(g_thread_foreach, \"g_thread_foreach\", LIBRARY.GTHREAD);
111 	Linker.link(g_once_init_enter, \"g_once_init_enter\", LIBRARY.GTHREAD);
112 	Linker.link(g_once_init_leave, \"g_once_init_leave\", LIBRARY.GTHREAD);
113 	Linker.link(g_bit_lock, \"g_bit_lock\", LIBRARY.GTHREAD);
114 	Linker.link(g_bit_trylock, \"g_bit_trylock\", LIBRARY.GTHREAD);
115 	Linker.link(g_bit_unlock, \"g_bit_unlock\", LIBRARY.GTHREAD);
116 }");
117 
118 mixin( gshared ~"extern(C)
119 {
120 	// gthread.Mutex
121 
122 	GMutex* function() c_g_mutex_new;
123 	void function(GMutex* mutex) c_g_mutex_lock;
124 	gboolean function(GMutex* mutex) c_g_mutex_trylock;
125 	void function(GMutex* mutex) c_g_mutex_unlock;
126 	void function(GMutex* mutex) c_g_mutex_free;
127 
128 	// gthread.StaticMutex
129 
130 	void function(GStaticMutex* mutex) c_g_static_mutex_init;
131 	void function(GStaticMutex* mutex) c_g_static_mutex_lock;
132 	gboolean function(GStaticMutex* mutex) c_g_static_mutex_trylock;
133 	void function(GStaticMutex* mutex) c_g_static_mutex_unlock;
134 	GMutex* function(GStaticMutex* mutex) c_g_static_mutex_get_mutex;
135 	void function(GStaticMutex* mutex) c_g_static_mutex_free;
136 
137 	// gthread.StaticRecMutex
138 
139 	void function(GStaticRecMutex* mutex) c_g_static_rec_mutex_init;
140 	void function(GStaticRecMutex* mutex) c_g_static_rec_mutex_lock;
141 	gboolean function(GStaticRecMutex* mutex) c_g_static_rec_mutex_trylock;
142 	void function(GStaticRecMutex* mutex) c_g_static_rec_mutex_unlock;
143 	void function(GStaticRecMutex* mutex, guint depth) c_g_static_rec_mutex_lock_full;
144 	guint function(GStaticRecMutex* mutex) c_g_static_rec_mutex_unlock_full;
145 	void function(GStaticRecMutex* mutex) c_g_static_rec_mutex_free;
146 
147 	// gthread.RWLock
148 
149 	void function(GStaticRWLock* lock) c_g_static_rw_lock_init;
150 	void function(GStaticRWLock* lock) c_g_static_rw_lock_reader_lock;
151 	gboolean function(GStaticRWLock* lock) c_g_static_rw_lock_reader_trylock;
152 	void function(GStaticRWLock* lock) c_g_static_rw_lock_reader_unlock;
153 	void function(GStaticRWLock* lock) c_g_static_rw_lock_writer_lock;
154 	gboolean function(GStaticRWLock* lock) c_g_static_rw_lock_writer_trylock;
155 	void function(GStaticRWLock* lock) c_g_static_rw_lock_writer_unlock;
156 	void function(GStaticRWLock* lock) c_g_static_rw_lock_free;
157 
158 	// gthread.Cond
159 
160 	GCond* function() c_g_cond_new;
161 	void function(GCond* cond) c_g_cond_signal;
162 	void function(GCond* cond) c_g_cond_broadcast;
163 	void function(GCond* cond, GMutex* mutex) c_g_cond_wait;
164 	gboolean function(GCond* cond, GMutex* mutex, GTimeVal* absTime) c_g_cond_timed_wait;
165 	void function(GCond* cond) c_g_cond_free;
166 
167 	// gthread.Private
168 
169 	GPrivate* function(GDestroyNotify destructor) c_g_private_new;
170 	gpointer function(GPrivate* privateKey) c_g_private_get;
171 	void function(GPrivate* privateKey, void* data) c_g_private_set;
172 
173 	// gthread.StaticPrivate
174 
175 	void function(GStaticPrivate* privateKey) c_g_static_private_init;
176 	gpointer function(GStaticPrivate* privateKey) c_g_static_private_get;
177 	void function(GStaticPrivate* privateKey, void* data, GDestroyNotify notify) c_g_static_private_set;
178 	void function(GStaticPrivate* privateKey) c_g_static_private_free;
179 
180 	// gthread.Thread
181 
182 	void function(GThreadFunctions* vtable) c_g_thread_init;
183 	gboolean function() c_g_thread_supported;
184 	gboolean function() c_g_thread_get_initialized;
185 	GThread* function(GThreadFunc func, void* data, gboolean joinable, GError** error) c_g_thread_create;
186 	GThread* function(GThreadFunc func, void* data, gulong stackSize, gboolean joinable, gboolean bound, GThreadPriority priority, GError** error) c_g_thread_create_full;
187 	GThread* function() c_g_thread_self;
188 	gpointer function(GThread* thread) c_g_thread_join;
189 	void function(GThread* thread, GThreadPriority priority) c_g_thread_set_priority;
190 	void function() c_g_thread_yield;
191 	void function(void* retval) c_g_thread_exit;
192 	void function(GFunc threadFunc, void* userData) c_g_thread_foreach;
193 	gboolean function(gsize* valueLocation) c_g_once_init_enter;
194 	void function(gsize* valueLocation, gsize initializationValue) c_g_once_init_leave;
195 	void function(gint* address, gint lockBit) c_g_bit_lock;
196 	gboolean function(gint* address, gint lockBit) c_g_bit_trylock;
197 	void function(gint* address, gint lockBit) c_g_bit_unlock;
198 }");
199 
200 // gthread.Mutex
201 
202 alias c_g_mutex_new  g_mutex_new;
203 alias c_g_mutex_lock  g_mutex_lock;
204 alias c_g_mutex_trylock  g_mutex_trylock;
205 alias c_g_mutex_unlock  g_mutex_unlock;
206 alias c_g_mutex_free  g_mutex_free;
207 
208 // gthread.StaticMutex
209 
210 alias c_g_static_mutex_init  g_static_mutex_init;
211 alias c_g_static_mutex_lock  g_static_mutex_lock;
212 alias c_g_static_mutex_trylock  g_static_mutex_trylock;
213 alias c_g_static_mutex_unlock  g_static_mutex_unlock;
214 alias c_g_static_mutex_get_mutex  g_static_mutex_get_mutex;
215 alias c_g_static_mutex_free  g_static_mutex_free;
216 
217 // gthread.StaticRecMutex
218 
219 alias c_g_static_rec_mutex_init  g_static_rec_mutex_init;
220 alias c_g_static_rec_mutex_lock  g_static_rec_mutex_lock;
221 alias c_g_static_rec_mutex_trylock  g_static_rec_mutex_trylock;
222 alias c_g_static_rec_mutex_unlock  g_static_rec_mutex_unlock;
223 alias c_g_static_rec_mutex_lock_full  g_static_rec_mutex_lock_full;
224 alias c_g_static_rec_mutex_unlock_full  g_static_rec_mutex_unlock_full;
225 alias c_g_static_rec_mutex_free  g_static_rec_mutex_free;
226 
227 // gthread.RWLock
228 
229 alias c_g_static_rw_lock_init  g_static_rw_lock_init;
230 alias c_g_static_rw_lock_reader_lock  g_static_rw_lock_reader_lock;
231 alias c_g_static_rw_lock_reader_trylock  g_static_rw_lock_reader_trylock;
232 alias c_g_static_rw_lock_reader_unlock  g_static_rw_lock_reader_unlock;
233 alias c_g_static_rw_lock_writer_lock  g_static_rw_lock_writer_lock;
234 alias c_g_static_rw_lock_writer_trylock  g_static_rw_lock_writer_trylock;
235 alias c_g_static_rw_lock_writer_unlock  g_static_rw_lock_writer_unlock;
236 alias c_g_static_rw_lock_free  g_static_rw_lock_free;
237 
238 // gthread.Cond
239 
240 alias c_g_cond_new  g_cond_new;
241 alias c_g_cond_signal  g_cond_signal;
242 alias c_g_cond_broadcast  g_cond_broadcast;
243 alias c_g_cond_wait  g_cond_wait;
244 alias c_g_cond_timed_wait  g_cond_timed_wait;
245 alias c_g_cond_free  g_cond_free;
246 
247 // gthread.Private
248 
249 alias c_g_private_new  g_private_new;
250 alias c_g_private_get  g_private_get;
251 alias c_g_private_set  g_private_set;
252 
253 // gthread.StaticPrivate
254 
255 alias c_g_static_private_init  g_static_private_init;
256 alias c_g_static_private_get  g_static_private_get;
257 alias c_g_static_private_set  g_static_private_set;
258 alias c_g_static_private_free  g_static_private_free;
259 
260 // gthread.Thread
261 
262 alias c_g_thread_init  g_thread_init;
263 alias c_g_thread_supported  g_thread_supported;
264 alias c_g_thread_get_initialized  g_thread_get_initialized;
265 alias c_g_thread_create  g_thread_create;
266 alias c_g_thread_create_full  g_thread_create_full;
267 alias c_g_thread_self  g_thread_self;
268 alias c_g_thread_join  g_thread_join;
269 alias c_g_thread_set_priority  g_thread_set_priority;
270 alias c_g_thread_yield  g_thread_yield;
271 alias c_g_thread_exit  g_thread_exit;
272 alias c_g_thread_foreach  g_thread_foreach;
273 alias c_g_once_init_enter  g_once_init_enter;
274 alias c_g_once_init_leave  g_once_init_leave;
275 alias c_g_bit_lock  g_bit_lock;
276 alias c_g_bit_trylock  g_bit_trylock;
277 alias c_g_bit_unlock  g_bit_unlock;