I've no idea here...
[gtkD.git] / src / lib / gthread.d
blob814eb1e2f005eb7c407d3e222c112ce91a336f83
1 /*
2 * This file is part of duit.
4 * duit is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
9 * duit is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with duit; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // generated automatically - do not change
20 // find conversion definition on APILookup.txt
21 // implement new conversion functionalities on the wrap.utils pakage
23 // Adapted from John Reimer's DUI loader modules
26 module lib.gthread;
28 private import std.stdio;
29 private import gthread.gthreadtypes;
30 private import lib.Loader;
31 private import lib.paths;
33 private Linker gthread_Linker;
35 static this()
37 gthread_Linker = new Linker(libPath ~ importLibs[LIBRARY.GTHREAD] );
38 gthread_Linker.link(gthreadLinks);
39 debug writefln("* Finished static this(): gthread");
42 static ~this()
44 delete gthread_Linker;
45 debug writefln("* Finished static ~this(): gthread");
48 extern(C)
50 // gthread.Mutex
52 GMutex* function()g_mutex_new;
53 void function(GMutex* mutex)g_mutex_lock;
54 gboolean function(GMutex* mutex)g_mutex_trylock;
55 void function(GMutex* mutex)g_mutex_unlock;
56 void function(GMutex* mutex)g_mutex_free;
58 // gthread.StaticRecMutex
60 void function(GStaticRecMutex* mutex)g_static_rec_mutex_init;
61 void function(GStaticRecMutex* mutex)g_static_rec_mutex_lock;
62 gboolean function(GStaticRecMutex* mutex)g_static_rec_mutex_trylock;
63 void function(GStaticRecMutex* mutex)g_static_rec_mutex_unlock;
64 void function(GStaticRecMutex* mutex, guint depth)g_static_rec_mutex_lock_full;
65 guint function(GStaticRecMutex* mutex)g_static_rec_mutex_unlock_full;
66 void function(GStaticRecMutex* mutex)g_static_rec_mutex_free;
68 // gthread.RWLock
70 void function(GStaticRWLock* lock)g_static_rw_lock_init;
71 void function(GStaticRWLock* lock)g_static_rw_lock_reader_lock;
72 gboolean function(GStaticRWLock* lock)g_static_rw_lock_reader_trylock;
73 void function(GStaticRWLock* lock)g_static_rw_lock_reader_unlock;
74 void function(GStaticRWLock* lock)g_static_rw_lock_writer_lock;
75 gboolean function(GStaticRWLock* lock)g_static_rw_lock_writer_trylock;
76 void function(GStaticRWLock* lock)g_static_rw_lock_writer_unlock;
77 void function(GStaticRWLock* lock)g_static_rw_lock_free;
79 // gthread.Cond
81 GCond* function()g_cond_new;
82 void function(GCond* cond)g_cond_signal;
83 void function(GCond* cond)g_cond_broadcast;
84 void function(GCond* cond, GMutex* mutex)g_cond_wait;
85 gboolean function(GCond* cond, GMutex* mutex, GTimeVal* absTime)g_cond_timed_wait;
86 void function(GCond* cond)g_cond_free;
88 // gthread.Private
90 GPrivate* function(GDestroyNotify destructor)g_private_new;
91 gpointer function(GPrivate* privateKey)g_private_get;
92 void function(GPrivate* privateKey, gpointer data)g_private_set;
94 // gthread.StaticPrivate
96 void function(GStaticPrivate* privateKey)g_static_private_init;
97 gpointer function(GStaticPrivate* privateKey)g_static_private_get;
98 void function(GStaticPrivate* privateKey, gpointer data, GDestroyNotify notify)g_static_private_set;
99 void function(GStaticPrivate* privateKey)g_static_private_free;
101 // gthread.Thread
103 void function(GThreadFunctions* vtable)g_thread_init;
104 gboolean function()g_thread_supported;
105 GThread* function(GThreadFunc func, gpointer data, gboolean joinable, GError** error)g_thread_create;
106 GThread* function(GThreadFunc func, gpointer data, gulong stackSize, gboolean joinable, gboolean bound, GThreadPriority priority, GError** error)g_thread_create_full;
107 GThread* function()g_thread_self;
108 gpointer function(GThread* thread)g_thread_join;
109 void function(GThread* thread, GThreadPriority priority)g_thread_set_priority;
110 void function()g_thread_yield;
111 void function(gpointer retval)g_thread_exit;
112 void function(GFunc threadFunc, gpointer userData)g_thread_foreach;
113 void function(GStaticMutex* mutex)g_static_mutex_init;
114 void function(GStaticMutex* mutex)g_static_mutex_lock;
115 gboolean function(GStaticMutex* mutex)g_static_mutex_trylock;
116 void function(GStaticMutex* mutex)g_static_mutex_unlock;
117 GMutex* function(GStaticMutex* mutex)g_static_mutex_get_mutex;
118 void function(GStaticMutex* mutex)g_static_mutex_free;
123 Symbol[] gthreadLinks =
126 { "g_mutex_new", cast(void**)& g_mutex_new},
127 { "g_mutex_lock", cast(void**)& g_mutex_lock},
128 { "g_mutex_trylock", cast(void**)& g_mutex_trylock},
129 { "g_mutex_unlock", cast(void**)& g_mutex_unlock},
130 { "g_mutex_free", cast(void**)& g_mutex_free},
131 { "g_static_rec_mutex_init", cast(void**)& g_static_rec_mutex_init},
132 { "g_static_rec_mutex_lock", cast(void**)& g_static_rec_mutex_lock},
133 { "g_static_rec_mutex_trylock", cast(void**)& g_static_rec_mutex_trylock},
134 { "g_static_rec_mutex_unlock", cast(void**)& g_static_rec_mutex_unlock},
135 { "g_static_rec_mutex_lock_full", cast(void**)& g_static_rec_mutex_lock_full},
136 { "g_static_rec_mutex_unlock_full", cast(void**)& g_static_rec_mutex_unlock_full},
137 { "g_static_rec_mutex_free", cast(void**)& g_static_rec_mutex_free},
138 { "g_static_rw_lock_init", cast(void**)& g_static_rw_lock_init},
139 { "g_static_rw_lock_reader_lock", cast(void**)& g_static_rw_lock_reader_lock},
140 { "g_static_rw_lock_reader_trylock", cast(void**)& g_static_rw_lock_reader_trylock},
141 { "g_static_rw_lock_reader_unlock", cast(void**)& g_static_rw_lock_reader_unlock},
142 { "g_static_rw_lock_writer_lock", cast(void**)& g_static_rw_lock_writer_lock},
143 { "g_static_rw_lock_writer_trylock", cast(void**)& g_static_rw_lock_writer_trylock},
144 { "g_static_rw_lock_writer_unlock", cast(void**)& g_static_rw_lock_writer_unlock},
145 { "g_static_rw_lock_free", cast(void**)& g_static_rw_lock_free},
146 { "g_cond_new", cast(void**)& g_cond_new},
147 { "g_cond_signal", cast(void**)& g_cond_signal},
148 { "g_cond_broadcast", cast(void**)& g_cond_broadcast},
149 { "g_cond_wait", cast(void**)& g_cond_wait},
150 { "g_cond_timed_wait", cast(void**)& g_cond_timed_wait},
151 { "g_cond_free", cast(void**)& g_cond_free},
152 { "g_private_new", cast(void**)& g_private_new},
153 { "g_private_get", cast(void**)& g_private_get},
154 { "g_private_set", cast(void**)& g_private_set},
155 { "g_static_private_init", cast(void**)& g_static_private_init},
156 { "g_static_private_get", cast(void**)& g_static_private_get},
157 { "g_static_private_set", cast(void**)& g_static_private_set},
158 { "g_static_private_free", cast(void**)& g_static_private_free},
159 { "g_thread_init", cast(void**)& g_thread_init},
160 { "g_thread_supported", cast(void**)& g_thread_supported},
161 { "g_thread_create", cast(void**)& g_thread_create},
162 { "g_thread_create_full", cast(void**)& g_thread_create_full},
163 { "g_thread_self", cast(void**)& g_thread_self},
164 { "g_thread_join", cast(void**)& g_thread_join},
165 { "g_thread_set_priority", cast(void**)& g_thread_set_priority},
166 { "g_thread_yield", cast(void**)& g_thread_yield},
167 { "g_thread_exit", cast(void**)& g_thread_exit},
168 { "g_thread_foreach", cast(void**)& g_thread_foreach},
169 { "g_static_mutex_init", cast(void**)& g_static_mutex_init},
170 { "g_static_mutex_lock", cast(void**)& g_static_mutex_lock},
171 { "g_static_mutex_trylock", cast(void**)& g_static_mutex_trylock},
172 { "g_static_mutex_unlock", cast(void**)& g_static_mutex_unlock},
173 { "g_static_mutex_get_mutex", cast(void**)& g_static_mutex_get_mutex},
174 { "g_static_mutex_free", cast(void**)& g_static_mutex_free},