glib2.pas 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896
  1. { GLIB - Library of useful routines for C programming
  2. Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3. This library is free software; you can redistribute it and/or
  4. modify it under the terms of the GNU Lesser General Public
  5. License as published by the Free Software Foundation; either
  6. version 2 of the License, or (at your option) any later version.
  7. This library is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  10. Lesser General Public License for more details.
  11. You should have received a copy of the GNU Lesser General Public
  12. License along with this library; if not, write to the
  13. Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  14. Boston, MA 02111-1307, USA.
  15. }
  16. {
  17. Modified by the GLib Team and others 1997-2000. See the AUTHORS
  18. file for a list of people on the GLib Team. See the ChangeLog
  19. files for a list of changes. These files are distributed with
  20. GLib at ftp://ftp.gtk.org/pub/gtk/.
  21. }
  22. unit glib2; // keep unit name lowercase for kylix
  23. {$IFDEF FPC}
  24. {$mode objfpc}
  25. {$ENDIF}
  26. {$IFDEF VER140}
  27. {$DEFINE KYLIX}
  28. {$ENDIF}
  29. interface
  30. uses
  31. ctypes,SysUtils;
  32. const
  33. {$ifdef win32}
  34. {$define gtkwin}
  35. gliblib = 'libglib-2.0-0.dll';
  36. gthreadlib = 'libgthread-2.0-0.dll';
  37. gmodulelib = 'libgmodule-2.0-0.dll';
  38. gobjectlib = 'libgobject-2.0-0.dll';
  39. {$IFDEF FPC}
  40. {$smartlink on}
  41. {$ENDIF}
  42. {$else}
  43. {$ifdef UseCustomLibs}
  44. gliblib = '';
  45. gthreadlib = '';
  46. gmodulelib = '';
  47. gobjectlib = '';
  48. {$else}
  49. gliblib = 'libglib-2.0.so';
  50. gthreadlib = 'libgthread-2.0.so';
  51. gmodulelib = 'libgmodule-2.0.so';
  52. gobjectlib = 'libgobject-2.0.so';
  53. {$endif}
  54. {$endif}
  55. {$ifdef FREEBSD}
  56. {$linklib c}
  57. {$linklib pthread}
  58. {$endif}
  59. {$IFNDEF KYLIX}
  60. {$PACKRECORDS C}
  61. {$ELSE}
  62. {$ALIGN 4}
  63. {$WEAKPACKAGEUNIT}
  64. {$WARNINGS OFF}
  65. {$ENDIF}
  66. {$DEFINE read_forward_definitions}
  67. type
  68. // internal types
  69. PGTypePlugin = pointer;
  70. PGParamSpecPool = pointer;
  71. {$include gtypes.inc}
  72. {$include glibconfig.inc}
  73. {$include gquark.inc}
  74. {$include gvaluecollector.inc}
  75. {$include gtype.inc}
  76. {$include genums.inc}
  77. {$include gvalue.inc}
  78. {$include gtypeplugin.inc}
  79. {$include gdataset.inc}
  80. {$include gslist.inc}
  81. {$include glist.inc}
  82. {$include gparam.inc}
  83. {$include gboxed.inc}
  84. {$UNDEF read_forward_definitions}
  85. {$DEFINE read_interface_rest}
  86. {$include gtype.inc}
  87. {$include gvalue.inc}
  88. {$include gvaluearray.inc}
  89. {$include gvaluecollector.inc}
  90. {$include gvaluetypes.inc}
  91. {$include gparam.inc}
  92. {$include gclosure.inc}
  93. {$include gsignal.inc}
  94. {$include gtypeplugin.inc}
  95. {$include gobject.inc}
  96. {$include gmacros.inc}
  97. {$include gtypes.inc}
  98. {$include genums.inc}
  99. {$include glibconfig.inc}
  100. {$include gstrfuncs.inc}
  101. {$include gutils.inc}
  102. {$include galloca.inc}
  103. {$include ghash.inc}
  104. {$include gquark.inc}
  105. {$include gerror.inc}
  106. {$include gbacktrace.inc}
  107. {$include gmem.inc}
  108. {$include garray.inc}
  109. {$include gslist.inc}
  110. {$include glist.inc}
  111. {$include gcache.inc}
  112. {$include gcompletion.inc}
  113. {$include gconvert.inc}
  114. {$include gdataset.inc}
  115. {$include gdate.inc}
  116. {$include gdir.inc}
  117. {$include gfileutils.inc}
  118. {$include ghook.inc}
  119. {$include gthread.inc}
  120. {$include gthreadpool.inc}
  121. {$include gtimer.inc}
  122. {$include gmain.inc}
  123. {$include gasyncqueue.inc}
  124. {$include gunicode.inc}
  125. {$include gstring.inc}
  126. {$include giochannel.inc}
  127. {$include gmessages.inc}
  128. {$include gmarkup.inc}
  129. {$include gnode.inc}
  130. {$include gtree.inc}
  131. {$include gpattern.inc}
  132. {$include gprimes.inc}
  133. {$include gqsort.inc}
  134. {$include gqueue.inc}
  135. {$include grand.inc}
  136. {$include grel.inc}
  137. {$include gscanner.inc}
  138. {$include gshell.inc}
  139. {$include gspawn.inc}
  140. {$include gboxed.inc}
  141. {$include gmodule.inc}
  142. {$include gmarshal.inc}
  143. {$IFDEF win32}
  144. {$include gwin32.inc}
  145. {$ENDIF}
  146. {$UNDEF read_interface_rest}
  147. implementation
  148. {$IFNDEF KYLIX}
  149. { There is a bug in the compiler. If an external variable is not used, it will
  150. create code, that can't be relocated by the linker.
  151. So, use them in this hidden dummy procedure.
  152. }
  153. procedure CheckUnusedVariable; [Public];
  154. begin
  155. if glib_mem_profiler_table=nil then ;
  156. if (glib_interface_age=0) or (glib_binary_age=0)
  157. or (g_thread_use_default_impl) then ;
  158. end;
  159. {$ENDIF}
  160. {************************************
  161. * macro functions
  162. *
  163. ************************************}
  164. {*
  165. * gtypes.inc
  166. *}
  167. function GUINT16_SWAP_LE_BE_CONSTANT(val: guint16): guint16;
  168. begin
  169. Result:=((val and $ff) shl 8) or ((val and $ff00) shr 8);
  170. end;
  171. function GUINT32_SWAP_LE_BE_CONSTANT(val: guint32): guint32;
  172. begin
  173. Result:=
  174. ((val and $000000ff) shl 24) or
  175. ((val and $0000ff00) shl 8) or
  176. ((val and $00ff0000) shr 8) or
  177. ((val and $ff000000) shr 24);
  178. end;
  179. {*
  180. * glibconfig.inc
  181. *}
  182. function GUINT_TO_POINTER(i: guint): pointer;
  183. begin
  184. Result:=Pointer(PtrInt(i));
  185. end;
  186. {*
  187. * garray.inc
  188. *}
  189. function g_array_append_val(a: PGArray; v : gpointer) : PGArray;
  190. begin
  191. g_array_append_val := g_array_append_vals(a,@(v),1);
  192. end;
  193. function g_array_prepend_val(a: PGArray; v : gpointer) : PGArray;
  194. begin
  195. g_array_prepend_val := g_array_prepend_vals(a,@(v),1);
  196. end;
  197. function g_array_insert_val(a: PGArray; i: guint; v : gpointer) : PGArray;
  198. begin
  199. g_array_insert_val := g_array_insert_vals(a,i,@(v),1);
  200. end;
  201. function g_ptr_array_index (parray: PGPtrArray; index: guint): gpointer;
  202. begin
  203. {$IFDEF FPC}
  204. g_ptr_array_index := parray^.pdata[index];
  205. {$ELSE}
  206. g_ptr_array_index := PGPointer(integer(parray^.pdata) + index*SizeOf(GPointer))^;
  207. {$ENDIF}
  208. end;
  209. {*
  210. * gthread.inc
  211. *}
  212. function G_THREAD_ERROR: TGQuark;
  213. begin
  214. G_THREAD_ERROR:=g_thread_error_quark;
  215. end;
  216. procedure g_mutex_lock (mutex: PGMutex);
  217. begin
  218. {$IFNDEF KYLIX}
  219. if g_threads_got_initialized then
  220. g_thread_functions_for_glib_use.mutex_lock (mutex);
  221. {$ENDIF}
  222. end;
  223. function g_mutex_trylock (mutex: PGMutex):gboolean;
  224. begin
  225. {$IFNDEF KYLIX}
  226. if g_threads_got_initialized then
  227. g_mutex_trylock := g_thread_functions_for_glib_use.mutex_trylock (mutex)
  228. else
  229. g_mutex_trylock := true;
  230. {$ENDIF}
  231. end;
  232. procedure g_mutex_unlock (mutex: PGMutex);
  233. begin
  234. {$IFNDEF KYLIX}
  235. if g_threads_got_initialized then
  236. g_thread_functions_for_glib_use.mutex_unlock (mutex);
  237. {$ENDIF}
  238. end;
  239. procedure g_mutex_free (mutex: PGMutex);
  240. begin
  241. {$IFNDEF KYLIX}
  242. if g_threads_got_initialized then
  243. g_thread_functions_for_glib_use.mutex_free (mutex);
  244. {$ENDIF}
  245. end;
  246. procedure g_cond_wait (cond: PGCond; mutex: PGMutex);
  247. begin
  248. {$IFNDEF KYLIX}
  249. if g_threads_got_initialized then
  250. g_thread_functions_for_glib_use.cond_wait (cond, mutex);
  251. {$ENDIF}
  252. end;
  253. function g_cond_timed_wait (cond : PGCond;
  254. mutex : PGMutex;
  255. end_time : PGTimeVal):gboolean;
  256. begin
  257. {$IFNDEF KYLIX}
  258. if g_threads_got_initialized then
  259. g_cond_timed_wait := g_thread_functions_for_glib_use.cond_timed_wait (cond,
  260. mutex,
  261. end_time)
  262. else
  263. g_cond_timed_wait := true;
  264. {$ENDIF}
  265. end;
  266. function g_thread_supported: gboolean;
  267. begin
  268. {$IFNDEF KYLIX}
  269. g_thread_supported := g_threads_got_initialized;
  270. {$ENDIF}
  271. end;
  272. function g_mutex_new : PGMutex;
  273. begin
  274. {$IFNDEF KYLIX}
  275. g_mutex_new := g_thread_functions_for_glib_use.mutex_new;
  276. {$ENDIF}
  277. end;
  278. function g_cond_new : PGCond;
  279. begin
  280. {$IFNDEF KYLIX}
  281. g_cond_new := g_thread_functions_for_glib_use.cond_new;
  282. {$ENDIF}
  283. end;
  284. procedure g_cond_signal (cond: PGCond);
  285. begin
  286. {$IFNDEF KYLIX}
  287. if g_threads_got_initialized then
  288. g_thread_functions_for_glib_use.cond_signal (cond);
  289. {$ENDIF}
  290. end;
  291. procedure g_cond_broadcast (cond: PGCond);
  292. begin
  293. {$IFNDEF KYLIX}
  294. if g_threads_got_initialized then
  295. g_thread_functions_for_glib_use.cond_broadcast (cond);
  296. {$ENDIF}
  297. end;
  298. procedure g_cond_free (cond: PGCond);
  299. begin
  300. {$IFNDEF KYLIX}
  301. if g_threads_got_initialized then
  302. g_thread_functions_for_glib_use.cond_free (cond);
  303. {$ENDIF}
  304. end;
  305. function g_private_new (dest: TGDestroyNotify): PGPrivate;
  306. begin
  307. {$IFNDEF KYLIX}
  308. g_private_new := g_thread_functions_for_glib_use.private_new (dest);
  309. {$ENDIF}
  310. end;
  311. function g_private_get (private_key: PGPrivate): gpointer;
  312. begin
  313. {$IFNDEF KYLIX}
  314. // convert result to gpointer
  315. if g_threads_got_initialized then
  316. g_private_get := g_thread_functions_for_glib_use.private_get (private_key)
  317. else
  318. g_private_get := private_key;
  319. {$ENDIF}
  320. end;
  321. procedure g_private_set (var private_key: PGPrivate; data: gpointer);
  322. begin
  323. {$IFNDEF KYLIX}
  324. if g_threads_got_initialized then
  325. // g_private_set := g_thread_functions_for_glib_use.private_set (private_key, data)
  326. else
  327. private_key := data; // data casted to GPrivate
  328. {$ENDIF}
  329. end;
  330. procedure g_thread_yield;
  331. begin
  332. {$IFNDEF KYLIX}
  333. if g_threads_got_initialized then
  334. g_thread_functions_for_glib_use.thread_yield;
  335. {$ENDIF}
  336. end;
  337. function g_thread_create (func: TGThreadFunc;
  338. data: gpointer;
  339. joinable: gboolean;
  340. error: PPGError): PGThread;
  341. begin
  342. g_thread_create := g_thread_create_full (func, data, 0, joinable, false,
  343. G_THREAD_PRIORITY_NORMAL, error);
  344. end;
  345. function g_static_mutex_get_mutex(mutex: PPGMutex):PGMutex;
  346. begin
  347. g_static_mutex_get_mutex := g_static_mutex_get_mutex_impl (mutex);
  348. end;
  349. procedure g_static_mutex_lock (mutex: PGStaticMutex);
  350. begin
  351. g_mutex_lock (g_static_mutex_get_mutex_impl (PPGMutex(mutex)));
  352. end;
  353. function g_static_mutex_trylock (mutex: PGStaticMutex): gboolean;
  354. begin
  355. g_static_mutex_trylock := g_mutex_trylock (g_static_mutex_get_mutex (PPGMutex(mutex)));
  356. end;
  357. procedure g_static_mutex_unlock (mutex: PGStaticMutex);
  358. begin
  359. g_mutex_unlock (g_static_mutex_get_mutex_impl (PPGMutex(mutex)));
  360. end;
  361. {*
  362. * gmain.inc
  363. *}
  364. function g_main_new(is_running: gboolean): PGMainLoop;
  365. begin
  366. g_main_new := g_main_loop_new (nil, is_running);
  367. end;
  368. function g_main_iteration (may_block: gboolean): gboolean;
  369. begin
  370. g_main_iteration := g_main_context_iteration (nil, may_block);
  371. end;
  372. function g_main_pending: gboolean;
  373. begin
  374. g_main_pending := g_main_context_pending (nil);
  375. end;
  376. procedure g_main_set_poll_func(func: TGPollFunc);
  377. begin
  378. g_main_context_set_poll_func (nil, func);
  379. end;
  380. {*
  381. * gslist.inc
  382. *}
  383. function g_slist_next(slist : PGSList) : PGSList;
  384. begin
  385. if slist <> nil then
  386. g_slist_next := slist^.next
  387. else
  388. g_slist_next := nil;
  389. end;
  390. {*
  391. * gmem.inc
  392. *}
  393. function g_new(bytes_per_struct, n_structs: gsize): gpointer;
  394. begin
  395. g_new:=g_malloc(n_structs*bytes_per_struct);
  396. end;
  397. function g_new0(bytes_per_struct, n_structs: gsize): gpointer;
  398. begin
  399. g_new0:=g_malloc0(n_structs*bytes_per_struct);
  400. end;
  401. function g_renew(struct_size: gsize; OldMem: gpointer; n_structs : gsize) : gpointer;
  402. begin
  403. g_renew:=g_realloc(OldMem,struct_size*n_structs);
  404. end;
  405. function g_chunk_new(chunk : Pointer) : Pointer;
  406. begin
  407. g_chunk_new:=g_mem_chunk_alloc(chunk);
  408. end;
  409. function g_chunk_new0(chunk : Pointer) : Pointer;
  410. begin
  411. g_chunk_new0:=g_mem_chunk_alloc0(chunk);
  412. end;
  413. procedure g_chunk_free(mem_chunk:PGMemChunk; mem:gpointer);
  414. begin
  415. g_mem_chunk_free(mem_chunk,mem);
  416. end;
  417. {*
  418. * glist.inc
  419. *}
  420. function g_list_previous (list : PGList) : PGList;
  421. begin
  422. if list <> nil then
  423. g_list_previous:=(PGList(list))^.prev
  424. else
  425. g_list_previous:=nil;
  426. end;
  427. function g_list_next (list : PGList) : PGList;
  428. begin
  429. if list <> nil then
  430. g_list_next:=(PGList(list))^.next
  431. else
  432. g_list_next:=NULL;
  433. end;
  434. {*
  435. * gconvert,inc
  436. *}
  437. function G_CONVERT_ERROR : TGQuark;
  438. begin
  439. G_CONVERT_ERROR:=g_convert_error_quark;
  440. end;
  441. {*
  442. * gdataset.inc
  443. *}
  444. procedure g_datalist_id_set_data (datalist: PPGData; key_id:TGQuark; data: gpointer);
  445. begin
  446. g_datalist_id_set_data_full (datalist, key_id, data, nil);
  447. end;
  448. procedure g_datalist_id_remove_data (datalist: PPGData; key_id:TGQuark);
  449. begin
  450. g_datalist_id_set_data (datalist, key_id, NULL);
  451. end;
  452. function g_datalist_get_data(datalist: PPGData; key_str:PGChar):PPGData;
  453. begin
  454. g_datalist_get_data := g_datalist_id_get_data (datalist, g_quark_try_string (key_str));
  455. end;
  456. procedure g_datalist_set_data_full(datalist: PPGData; key_str:PGChar; data:gpointer; destroy_func:TGDestroyNotify);
  457. begin
  458. g_datalist_id_set_data_full (datalist, g_quark_from_string (key_str), data, destroy_func);
  459. end;
  460. procedure g_datalist_set_data (datalist: PPGData; key_str:PGChar; data:gpointer);
  461. begin
  462. g_datalist_set_data_full (datalist, key_str, data, nil);
  463. end;
  464. procedure g_datalist_remove_no_notify(datalist: PPGData; key_str:PGChar);
  465. begin
  466. g_datalist_id_remove_no_notify (datalist, g_quark_try_string (key_str) );
  467. end;
  468. procedure g_datalist_remove_data(datalist:PPGData; key_str:PGChar);
  469. begin
  470. g_datalist_id_set_data (datalist, g_quark_try_string (key_str), nil);
  471. end;
  472. procedure g_dataset_id_set_data(location: gconstpointer; key_id:TGQuark; data:gpointer);
  473. begin
  474. g_dataset_id_set_data_full (location, key_id, data, nil);
  475. end;
  476. procedure g_dataset_id_remove_data(location: gconstpointer; key_id:TGQuark);
  477. begin
  478. g_dataset_id_set_data (location, key_id, nil);
  479. end;
  480. function g_dataset_get_data(location: gconstpointer; key_str:PGChar): gpointer;
  481. begin
  482. g_dataset_get_data:= g_dataset_id_get_data (location, g_quark_try_string (key_str));
  483. end;
  484. procedure g_dataset_set_data_full(location: gconstpointer; key_str:PGChar; data:gpointer; destroy_func:TGDestroyNotify);
  485. begin
  486. g_dataset_id_set_data_full (location, g_quark_from_string (key_str), data, destroy_func);
  487. end;
  488. procedure g_dataset_remove_no_notify(location: gconstpointer; key_str:PGChar);
  489. begin
  490. g_dataset_id_remove_no_notify (location, g_quark_try_string (key_str));
  491. end;
  492. procedure g_dataset_set_data(location: gconstpointer; key_str:PGChar; data:gpointer);
  493. begin
  494. g_dataset_set_data_full (location, key_str, data, nil);
  495. end;
  496. procedure g_dataset_remove_data(location:gconstpointer; key_str: PGChar);
  497. begin
  498. g_dataset_id_set_data (location, g_quark_try_string (key_str), nil);
  499. end;
  500. {*
  501. * gfileutils.inc
  502. *}
  503. function G_FILE_ERROR: TGQuark;
  504. begin
  505. G_FILE_ERROR:=g_file_error_quark;
  506. end;
  507. {*
  508. * ghook.inc
  509. *}
  510. function TGHookList_hook_size (var a : TGHookList) : guint;
  511. begin
  512. TGHookList_hook_size:=(a.flag0 and bm_TGHookList_hook_size) shr bp_TGHookList_hook_size;
  513. end;
  514. procedure TGHookList_set_hook_size (var a : TGHookList; __hook_size : guint);
  515. begin
  516. a.flag0:=a.flag0 or ((__hook_size shl bp_TGHookList_hook_size) and bm_TGHookList_hook_size);
  517. end;
  518. function TGHookList_is_setup (var a : TGHookList) : guint;
  519. begin
  520. TGHookList_is_setup:=(a.flag0 and bm_TGHookList_is_setup) shr bp_TGHookList_is_setup;
  521. end;
  522. procedure TGHookList_set_is_setup (var a : TGHookList; __is_setup : guint);
  523. begin
  524. a.flag0:=a.flag0 or ((__is_setup shl bp_TGHookList_is_setup) and bm_TGHookList_is_setup);
  525. end;
  526. function G_HOOK(hook : pointer) : PGHook;
  527. begin
  528. G_HOOK := PGHook(hook);
  529. end;
  530. function G_HOOK_FLAGS(hook : PGHook) : guint;
  531. begin
  532. G_HOOK_FLAGS := hook^.flags;
  533. end;
  534. { from the old glib}
  535. function G_HOOK_ACTIVE(hook : PGHook) : boolean;
  536. begin
  537. G_HOOK_ACTIVE:=(((PGHook(hook))^.flags) and cardinal(G_HOOK_FLAG_ACTIVE)) <> 0;
  538. end;
  539. function G_HOOK_IN_CALL(hook : PGHook) : boolean;
  540. begin
  541. G_HOOK_IN_CALL:=(((PGHook(hook))^.flags) and cardinal(G_HOOK_FLAG_IN_CALL)) <> 0;
  542. end;
  543. function G_HOOK_IS_VALID(hook : PGHook) : boolean;
  544. begin
  545. G_HOOK_IS_VALID:=(hook^.hook_id<>0) and G_HOOK_ACTIVE(hook);
  546. end;
  547. function G_HOOK_IS_UNLINKED(hook : PGHook) : boolean;
  548. begin
  549. G_HOOK_IS_UNLINKED:=(hook^.next=NULL) and (hook^.prev=NULL) and (hook^.hook_id=0) and (hook^.ref_count = 0);
  550. end;
  551. { end of old glib}
  552. procedure g_hook_append (hook_list: PGHookList; hook:PGHook);
  553. begin
  554. g_hook_insert_before (hook_list, nil, hook);
  555. end;
  556. {*
  557. * giochannel.inc
  558. *}
  559. function G_IO_CHANNEL_ERROR : TGQuark;
  560. begin
  561. G_IO_CHANNEL_ERROR:=g_io_channel_error_quark;
  562. end;
  563. function TGIOChannel_use_buffer(var a : TGIOChannel) : guint;
  564. begin
  565. TGIOChannel_use_buffer:=(a.flag0 and bm_TGIOChannel_use_buffer) shr bp_TGIOChannel_use_buffer;
  566. end;
  567. procedure TGIOChannel_set_use_buffer(var a : TGIOChannel; __use_buffer : guint);
  568. begin
  569. a.flag0:=a.flag0 or ((__use_buffer shl bp_TGIOChannel_use_buffer) and bm_TGIOChannel_use_buffer);
  570. end;
  571. function TGIOChannel_do_encode(var a : TGIOChannel) : guint;
  572. begin
  573. TGIOChannel_do_encode:=(a.flag0 and bm_TGIOChannel_do_encode) shr bp_TGIOChannel_do_encode;
  574. end;
  575. procedure TGIOChannel_set_do_encode(var a : TGIOChannel; __do_encode : guint);
  576. begin
  577. a.flag0:=a.flag0 or ((__do_encode shl bp_TGIOChannel_do_encode) and bm_TGIOChannel_do_encode);
  578. end;
  579. function TGIOChannel_close_on_unref(var a : TGIOChannel) : guint;
  580. begin
  581. TGIOChannel_close_on_unref:=(a.flag0 and bm_TGIOChannel_close_on_unref) shr bp_TGIOChannel_close_on_unref;
  582. end;
  583. procedure TGIOChannel_set_close_on_unref(var a : TGIOChannel; __close_on_unref : guint);
  584. begin
  585. a.flag0:=a.flag0 or ((__close_on_unref shl bp_TGIOChannel_close_on_unref) and bm_TGIOChannel_close_on_unref);
  586. end;
  587. function TGIOChannel_is_readable(var a : TGIOChannel) : guint;
  588. begin
  589. TGIOChannel_is_readable:=(a.flag0 and bm_TGIOChannel_is_readable) shr bp_TGIOChannel_is_readable;
  590. end;
  591. procedure TGIOChannel_set_is_readable(var a : TGIOChannel; __is_readable : guint);
  592. begin
  593. a.flag0:=a.flag0 or ((__is_readable shl bp_TGIOChannel_is_readable) and bm_TGIOChannel_is_readable);
  594. end;
  595. function TGIOChannel_is_writeable(var a : TGIOChannel) : guint;
  596. begin
  597. TGIOChannel_is_writeable:=(a.flag0 and bm_TGIOChannel_is_writeable) shr bp_TGIOChannel_is_writeable;
  598. end;
  599. procedure TGIOChannel_set_is_writeable(var a : TGIOChannel; __is_writeable : guint);
  600. begin
  601. a.flag0:=a.flag0 or ((__is_writeable shl bp_TGIOChannel_is_writeable) and bm_TGIOChannel_is_writeable);
  602. end;
  603. function TGIOChannel_is_seekable(var a : TGIOChannel) : guint;
  604. begin
  605. TGIOChannel_is_seekable:=(a.flag0 and bm_TGIOChannel_is_seekable) shr bp_TGIOChannel_is_seekable;
  606. end;
  607. procedure TGIOChannel_set_is_seekable(var a : TGIOChannel; __is_seekable : guint);
  608. begin
  609. a.flag0:=a.flag0 or ((__is_seekable shl bp_TGIOChannel_is_seekable) and bm_TGIOChannel_is_seekable);
  610. end;
  611. {*
  612. * gunicode.inc
  613. *}
  614. function g_utf8_next_char (p: pguchar):pguchar;
  615. begin
  616. {$IFNDEF KYLIX}
  617. g_utf8_next_char := p + ord ((g_utf8_skip + p^ )^); // needs to be tested
  618. {$ENDIF}
  619. end;
  620. {*
  621. * gutils.inc
  622. *}
  623. function GLIB_CHECK_VERSION (major, minor, micro: guint):boolean;
  624. begin
  625. {$IFNDEF KYLIX}
  626. GLIB_CHECK_VERSION := ( (GLIB_MAJOR_VERSION > major) or
  627. ((GLIB_MAJOR_VERSION = major) and (GLIB_MINOR_VERSION > minor)) or
  628. ((GLIB_MAJOR_VERSION = major) and (GLIB_MINOR_VERSION = minor) and (GLIB_MICRO_VERSION >= micro)));
  629. {$ENDIF}
  630. end;
  631. {*
  632. * gmessages.inc
  633. *}
  634. procedure g_error (format:Pgchar; args: array of const);
  635. begin
  636. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, Pgchar(SysUtils.Format(string(format), args)));
  637. end;
  638. procedure g_error (format:Pgchar);
  639. begin
  640. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format);
  641. end;
  642. procedure g_message (format:Pgchar; args: array of const);
  643. begin
  644. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, Pgchar(SysUtils.Format(string(format), args)));
  645. end;
  646. procedure g_message (format:Pgchar);
  647. begin
  648. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format);
  649. end;
  650. procedure g_critical (format:Pgchar; args: array of const);
  651. begin
  652. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, Pgchar(SysUtils.Format(string(format), args)));
  653. end;
  654. procedure g_critical (format:Pgchar);
  655. begin
  656. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format);
  657. end;
  658. procedure g_warning (format:Pgchar; args: array of const);
  659. begin
  660. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, Pgchar(SysUtils.Format(string(format), args)));
  661. end;
  662. procedure g_warning (format:Pgchar);
  663. begin
  664. g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format);
  665. end;
  666. {*
  667. * gmarkup.inc
  668. *}
  669. function G_MARKUP_ERROR : TGQuark;
  670. begin
  671. G_MARKUP_ERROR:=g_markup_error_quark;
  672. end;
  673. {*
  674. * gnode.inc
  675. *}
  676. function G_NODE_IS_ROOT (node: PGNode): boolean;
  677. begin
  678. G_NODE_IS_ROOT := (node^.parent = nil) and (node^.next = nil) and (node^.prev = nil);
  679. end;
  680. function G_NODE_IS_LEAF (node: PGNode): boolean;
  681. begin
  682. G_NODE_IS_LEAF := node^.children = nil;
  683. end;
  684. function g_node_append (parent: PGNode; node: PGNode): PGNode;
  685. begin
  686. g_node_append := g_node_insert_before (parent, nil, node);
  687. end;
  688. function g_node_insert_data (parent: PGNode; position: gint; data: gpointer): PGNode;
  689. begin
  690. g_node_insert_data := g_node_insert (parent, position, g_node_new(data));
  691. end;
  692. function g_node_insert_data_before (parent: PGNode; sibling: PGNode; data: gpointer): PGNode;
  693. begin
  694. g_node_insert_data_before := g_node_insert_before (parent, sibling, g_node_new(data));
  695. end;
  696. function g_node_prepend_data (parent: PGNode; data: gpointer): PGNode;
  697. begin
  698. g_node_prepend_data := g_node_prepend (parent, g_node_new(data));
  699. end;
  700. function g_node_append_data (parent: PGNode; data: gpointer): PGNode;
  701. begin
  702. g_node_append_data := g_node_insert_before (parent, nil, g_node_new(data));
  703. end;
  704. function g_node_prev_sibling (node : PGNode): PGNode;
  705. begin
  706. if node <> nil then
  707. g_node_prev_sibling := node^.prev
  708. else
  709. g_node_prev_sibling := nil;
  710. end;
  711. function g_node_next_sibling (node : PGNode): PGNode;
  712. begin
  713. if node <> nil then
  714. g_node_next_sibling := node^.next
  715. else
  716. g_node_next_sibling := nil;
  717. end;
  718. function g_node_first_child (node : PGNode): PGNode;
  719. begin
  720. if node <> nil then
  721. g_node_first_child := node^.children
  722. else
  723. g_node_first_child := nil;
  724. end;
  725. {*
  726. * grand.inc
  727. *}
  728. function g_rand_boolean(rand : PGRand) : gboolean;
  729. begin
  730. g_rand_boolean:=((g_rand_int(rand)) and (1 shl 15)) <> 0;
  731. end;
  732. {
  733. function g_rand_boolean(rand : PGRand) :gboolean;
  734. begin
  735. if ((g_rand_int(rand)) and (1 shl 15)) <> 0 then
  736. g_rand_boolean := 1
  737. else
  738. g_rand_boolean := 0;
  739. end;
  740. }
  741. function g_random_boolean : gboolean;
  742. begin
  743. g_random_boolean:=((g_random_int) and (1 shl 15)) <> 0;
  744. end;
  745. {
  746. function g_random_boolean : gboolean;
  747. begin
  748. if (((g_random_int) and (1 shl 15))) <> 0 then
  749. g_random_boolean := 1
  750. else
  751. g_random_boolean := 0;
  752. end;
  753. }
  754. {*
  755. * gscanner.inc
  756. *}
  757. function TGScannerConfig_case_sensitive(var a : TGScannerConfig) : guint;
  758. begin
  759. TGScannerConfig_case_sensitive:=(a.flag0 and bm_TGScannerConfig_case_sensitive) shr bp_TGScannerConfig_case_sensitive;
  760. end;
  761. procedure TGScannerConfig_set_case_sensitive(var a : TGScannerConfig; __case_sensitive : guint);
  762. begin
  763. a.flag0:=a.flag0 or ((__case_sensitive shl bp_TGScannerConfig_case_sensitive) and bm_TGScannerConfig_case_sensitive);
  764. end;
  765. function TGScannerConfig_skip_comment_multi(var a : TGScannerConfig) : guint;
  766. begin
  767. TGScannerConfig_skip_comment_multi:=(a.flag0 and bm_TGScannerConfig_skip_comment_multi) shr bp_TGScannerConfig_skip_comment_multi;
  768. end;
  769. procedure TGScannerConfig_set_skip_comment_multi(var a : TGScannerConfig; __skip_comment_multi : guint);
  770. begin
  771. a.flag0:=a.flag0 or ((__skip_comment_multi shl bp_TGScannerConfig_skip_comment_multi) and bm_TGScannerConfig_skip_comment_multi);
  772. end;
  773. function TGScannerConfig_skip_comment_single(var a : TGScannerConfig) : guint;
  774. begin
  775. TGScannerConfig_skip_comment_single:=(a.flag0 and bm_TGScannerConfig_skip_comment_single) shr bp_TGScannerConfig_skip_comment_single;
  776. end;
  777. procedure TGScannerConfig_set_skip_comment_single(var a : TGScannerConfig; __skip_comment_single : guint);
  778. begin
  779. a.flag0:=a.flag0 or ((__skip_comment_single shl bp_TGScannerConfig_skip_comment_single) and bm_TGScannerConfig_skip_comment_single);
  780. end;
  781. function TGScannerConfig_scan_comment_multi(var a : TGScannerConfig) : guint;
  782. begin
  783. TGScannerConfig_scan_comment_multi:=(a.flag0 and bm_TGScannerConfig_scan_comment_multi) shr bp_TGScannerConfig_scan_comment_multi;
  784. end;
  785. procedure TGScannerConfig_set_scan_comment_multi(var a : TGScannerConfig; __scan_comment_multi : guint);
  786. begin
  787. a.flag0:=a.flag0 or ((__scan_comment_multi shl bp_TGScannerConfig_scan_comment_multi) and bm_TGScannerConfig_scan_comment_multi);
  788. end;
  789. function TGScannerConfig_scan_identifier(var a : TGScannerConfig) : guint;
  790. begin
  791. TGScannerConfig_scan_identifier:=(a.flag0 and bm_TGScannerConfig_scan_identifier) shr bp_TGScannerConfig_scan_identifier;
  792. end;
  793. procedure TGScannerConfig_set_scan_identifier(var a : TGScannerConfig; __scan_identifier : guint);
  794. begin
  795. a.flag0:=a.flag0 or ((__scan_identifier shl bp_TGScannerConfig_scan_identifier) and bm_TGScannerConfig_scan_identifier);
  796. end;
  797. function TGScannerConfig_scan_identifier_1char(var a : TGScannerConfig) : guint;
  798. begin
  799. TGScannerConfig_scan_identifier_1char:=(a.flag0 and bm_TGScannerConfig_scan_identifier_1char) shr bp_TGScannerConfig_scan_identifier_1char;
  800. end;
  801. procedure TGScannerConfig_set_scan_identifier_1char(var a : TGScannerConfig; __scan_identifier_1char : guint);
  802. begin
  803. a.flag0:=a.flag0 or ((__scan_identifier_1char shl bp_TGScannerConfig_scan_identifier_1char) and bm_TGScannerConfig_scan_identifier_1char);
  804. end;
  805. function TGScannerConfig_scan_identifier_NULL(var a : TGScannerConfig) : guint;
  806. begin
  807. TGScannerConfig_scan_identifier_NULL:=(a.flag0 and bm_TGScannerConfig_scan_identifier_NULL) shr bp_TGScannerConfig_scan_identifier_NULL;
  808. end;
  809. procedure TGScannerConfig_set_scan_identifier_NULL(var a : TGScannerConfig; __scan_identifier_NULL : guint);
  810. begin
  811. a.flag0:=a.flag0 or ((__scan_identifier_NULL shl bp_TGScannerConfig_scan_identifier_NULL) and bm_TGScannerConfig_scan_identifier_NULL);
  812. end;
  813. function TGScannerConfig_scan_symbols(var a : TGScannerConfig) : guint;
  814. begin
  815. TGScannerConfig_scan_symbols:=(a.flag0 and bm_TGScannerConfig_scan_symbols) shr bp_TGScannerConfig_scan_symbols;
  816. end;
  817. procedure TGScannerConfig_set_scan_symbols(var a : TGScannerConfig; __scan_symbols : guint);
  818. begin
  819. a.flag0:=a.flag0 or ((__scan_symbols shl bp_TGScannerConfig_scan_symbols) and bm_TGScannerConfig_scan_symbols);
  820. end;
  821. function TGScannerConfig_scan_binary(var a : TGScannerConfig) : guint;
  822. begin
  823. TGScannerConfig_scan_binary:=(a.flag0 and bm_TGScannerConfig_scan_binary) shr bp_TGScannerConfig_scan_binary;
  824. end;
  825. procedure TGScannerConfig_set_scan_binary(var a : TGScannerConfig; __scan_binary : guint);
  826. begin
  827. a.flag0:=a.flag0 or ((__scan_binary shl bp_TGScannerConfig_scan_binary) and bm_TGScannerConfig_scan_binary);
  828. end;
  829. function TGScannerConfig_scan_octal(var a : TGScannerConfig) : guint;
  830. begin
  831. TGScannerConfig_scan_octal:=(a.flag0 and bm_TGScannerConfig_scan_octal) shr bp_TGScannerConfig_scan_octal;
  832. end;
  833. procedure TGScannerConfig_set_scan_octal(var a : TGScannerConfig; __scan_octal : guint);
  834. begin
  835. a.flag0:=a.flag0 or ((__scan_octal shl bp_TGScannerConfig_scan_octal) and bm_TGScannerConfig_scan_octal);
  836. end;
  837. function TGScannerConfig_scan_float(var a : TGScannerConfig) : guint;
  838. begin
  839. TGScannerConfig_scan_float:=(a.flag0 and bm_TGScannerConfig_scan_float) shr bp_TGScannerConfig_scan_float;
  840. end;
  841. procedure TGScannerConfig_set_scan_float(var a : TGScannerConfig; __scan_float : guint);
  842. begin
  843. a.flag0:=a.flag0 or ((__scan_float shl bp_TGScannerConfig_scan_float) and bm_TGScannerConfig_scan_float);
  844. end;
  845. function TGScannerConfig_scan_hex(var a : TGScannerConfig) : guint;
  846. begin
  847. TGScannerConfig_scan_hex:=(a.flag0 and bm_TGScannerConfig_scan_hex) shr bp_TGScannerConfig_scan_hex;
  848. end;
  849. procedure TGScannerConfig_set_scan_hex(var a : TGScannerConfig; __scan_hex : guint);
  850. begin
  851. a.flag0:=a.flag0 or ((__scan_hex shl bp_TGScannerConfig_scan_hex) and bm_TGScannerConfig_scan_hex);
  852. end;
  853. function TGScannerConfig_scan_hex_dollar(var a : TGScannerConfig) : guint;
  854. begin
  855. TGScannerConfig_scan_hex_dollar:=(a.flag0 and bm_TGScannerConfig_scan_hex_dollar) shr bp_TGScannerConfig_scan_hex_dollar;
  856. end;
  857. procedure TGScannerConfig_set_scan_hex_dollar(var a : TGScannerConfig; __scan_hex_dollar : guint);
  858. begin
  859. a.flag0:=a.flag0 or ((__scan_hex_dollar shl bp_TGScannerConfig_scan_hex_dollar) and bm_TGScannerConfig_scan_hex_dollar);
  860. end;
  861. function TGScannerConfig_scan_string_sq(var a : TGScannerConfig) : guint;
  862. begin
  863. TGScannerConfig_scan_string_sq:=(a.flag0 and bm_TGScannerConfig_scan_string_sq) shr bp_TGScannerConfig_scan_string_sq;
  864. end;
  865. procedure TGScannerConfig_set_scan_string_sq(var a : TGScannerConfig; __scan_string_sq : guint);
  866. begin
  867. a.flag0:=a.flag0 or ((__scan_string_sq shl bp_TGScannerConfig_scan_string_sq) and bm_TGScannerConfig_scan_string_sq);
  868. end;
  869. function TGScannerConfig_scan_string_dq(var a : TGScannerConfig) : guint;
  870. begin
  871. TGScannerConfig_scan_string_dq:=(a.flag0 and bm_TGScannerConfig_scan_string_dq) shr bp_TGScannerConfig_scan_string_dq;
  872. end;
  873. procedure TGScannerConfig_set_scan_string_dq(var a : TGScannerConfig; __scan_string_dq : guint);
  874. begin
  875. a.flag0:=a.flag0 or ((__scan_string_dq shl bp_TGScannerConfig_scan_string_dq) and bm_TGScannerConfig_scan_string_dq);
  876. end;
  877. function TGScannerConfig_numbers_2_int(var a : TGScannerConfig) : guint;
  878. begin
  879. TGScannerConfig_numbers_2_int:=(a.flag0 and bm_TGScannerConfig_numbers_2_int) shr bp_TGScannerConfig_numbers_2_int;
  880. end;
  881. procedure TGScannerConfig_set_numbers_2_int(var a : TGScannerConfig; __numbers_2_int : guint);
  882. begin
  883. a.flag0:=a.flag0 or ((__numbers_2_int shl bp_TGScannerConfig_numbers_2_int) and bm_TGScannerConfig_numbers_2_int);
  884. end;
  885. function TGScannerConfig_int_2_float(var a : TGScannerConfig) : guint;
  886. begin
  887. TGScannerConfig_int_2_float:=(a.flag0 and bm_TGScannerConfig_int_2_float) shr bp_TGScannerConfig_int_2_float;
  888. end;
  889. procedure TGScannerConfig_set_int_2_float(var a : TGScannerConfig; __int_2_float : guint);
  890. begin
  891. a.flag0:=a.flag0 or ((__int_2_float shl bp_TGScannerConfig_int_2_float) and bm_TGScannerConfig_int_2_float);
  892. end;
  893. function TGScannerConfig_identifier_2_string(var a : TGScannerConfig) : guint;
  894. begin
  895. TGScannerConfig_identifier_2_string:=(a.flag0 and bm_TGScannerConfig_identifier_2_string) shr bp_TGScannerConfig_identifier_2_string;
  896. end;
  897. procedure TGScannerConfig_set_identifier_2_string(var a : TGScannerConfig; __identifier_2_string : guint);
  898. begin
  899. a.flag0:=a.flag0 or ((__identifier_2_string shl bp_TGScannerConfig_identifier_2_string) and bm_TGScannerConfig_identifier_2_string);
  900. end;
  901. function TGScannerConfig_char_2_token(var a : TGScannerConfig) : guint;
  902. begin
  903. TGScannerConfig_char_2_token:=(a.flag0 and bm_TGScannerConfig_char_2_token) shr bp_TGScannerConfig_char_2_token;
  904. end;
  905. procedure TGScannerConfig_set_char_2_token(var a : TGScannerConfig; __char_2_token : guint);
  906. begin
  907. a.flag0:=a.flag0 or ((__char_2_token shl bp_TGScannerConfig_char_2_token) and bm_TGScannerConfig_char_2_token);
  908. end;
  909. function TGScannerConfig_symbol_2_token(var a : TGScannerConfig) : guint;
  910. begin
  911. TGScannerConfig_symbol_2_token:=(a.flag0 and bm_TGScannerConfig_symbol_2_token) shr bp_TGScannerConfig_symbol_2_token;
  912. end;
  913. procedure TGScannerConfig_set_symbol_2_token(var a : TGScannerConfig; __symbol_2_token : guint);
  914. begin
  915. a.flag0:=a.flag0 or ((__symbol_2_token shl bp_TGScannerConfig_symbol_2_token) and bm_TGScannerConfig_symbol_2_token);
  916. end;
  917. function TGScannerConfig_scope_0_fallback(var a : TGScannerConfig) : guint;
  918. begin
  919. TGScannerConfig_scope_0_fallback:=(a.flag0 and bm_TGScannerConfig_scope_0_fallback) shr bp_TGScannerConfig_scope_0_fallback;
  920. end;
  921. procedure TGScannerConfig_set_scope_0_fallback(var a : TGScannerConfig; __scope_0_fallback : guint);
  922. begin
  923. a.flag0:=a.flag0 or ((__scope_0_fallback shl bp_TGScannerConfig_scope_0_fallback) and bm_TGScannerConfig_scope_0_fallback);
  924. end;
  925. procedure g_scanner_freeze_symbol_table(scanner : PGScanner);
  926. begin
  927. { do nothing }
  928. if Scanner=nil then ;
  929. end;
  930. procedure g_scanner_thaw_symbol_table(scanner : PGScanner);
  931. begin
  932. { do nothing }
  933. if Scanner=nil then ;
  934. end;
  935. {*
  936. * gshell.inc
  937. *}
  938. function G_SHELL_ERROR : TGQuark;
  939. begin
  940. G_SHELL_ERROR:=g_shell_error_quark;
  941. end;
  942. {*
  943. * gspawn.inc
  944. *}
  945. function G_SPAWN_ERROR : TGQuark;
  946. begin
  947. G_SPAWN_ERROR:=g_spawn_error_quark;
  948. end;
  949. // from gstrfuncs.inc ----------------------------------------------------------
  950. function g_ascii_isalnum(c : gchar) : boolean;
  951. begin
  952. {$IFNDEF KYLIX}
  953. g_ascii_isalnum:=((g_ascii_table[guchar(c)]) and G_ASCII_ALNUM) <> 0;
  954. {$ENDIF}
  955. end;
  956. function g_ascii_isalpha(c : gchar) : boolean;
  957. begin
  958. {$IFNDEF KYLIX}
  959. g_ascii_isalpha:=((g_ascii_table[guchar(c)]) and G_ASCII_ALPHA) <> 0;
  960. {$ENDIF}
  961. end;
  962. function g_ascii_iscntrl(c : gchar) : boolean;
  963. begin
  964. {$IFNDEF KYLIX}
  965. g_ascii_iscntrl:=((g_ascii_table[guchar(c)]) and G_ASCII_CNTRL) <> 0;
  966. {$ENDIF}
  967. end;
  968. function g_ascii_isdigit(c : gchar) : boolean;
  969. begin
  970. {$IFNDEF KYLIX}
  971. g_ascii_isdigit:=((g_ascii_table[guchar(c)]) and G_ASCII_DIGIT) <> 0;
  972. {$ENDIF}
  973. end;
  974. function g_ascii_isgraph(c : gchar) : boolean;
  975. begin
  976. {$IFNDEF KYLIX}
  977. g_ascii_isgraph:=((g_ascii_table[guchar(c)]) and G_ASCII_GRAPH) <> 0;
  978. {$ENDIF}
  979. end;
  980. function g_ascii_islower(c : gchar) : boolean;
  981. begin
  982. {$IFNDEF KYLIX}
  983. g_ascii_islower:=((g_ascii_table[guchar(c)]) and G_ASCII_LOWER) <> 0;
  984. {$ENDIF}
  985. end;
  986. function g_ascii_isprint(c : gchar) : boolean;
  987. begin
  988. {$IFNDEF KYLIX}
  989. g_ascii_isprint:=((g_ascii_table[guchar(c)]) and G_ASCII_PRINT) <> 0;
  990. {$ENDIF}
  991. end;
  992. function g_ascii_ispunct(c : gchar) : boolean;
  993. begin
  994. {$IFNDEF KYLIX}
  995. g_ascii_ispunct:=((g_ascii_table[guchar(c)]) and G_ASCII_PUNCT) <> 0;
  996. {$ENDIF}
  997. end;
  998. function g_ascii_isspace(c : gchar) : boolean;
  999. begin
  1000. {$IFNDEF KYLIX}
  1001. g_ascii_isspace:=((g_ascii_table[guchar(c)]) and G_ASCII_SPACE) <> 0;
  1002. {$ENDIF}
  1003. end;
  1004. function g_ascii_isupper(c : gchar) : boolean;
  1005. begin
  1006. {$IFNDEF KYLIX}
  1007. g_ascii_isupper:=((g_ascii_table[guchar(c)]) and G_ASCII_UPPER) <> 0;
  1008. {$ENDIF}
  1009. end;
  1010. function g_ascii_isxdigit(c : gchar) : boolean;
  1011. begin
  1012. {$IFNDEF KYLIX}
  1013. g_ascii_isxdigit:=((g_ascii_table[guchar(c)]) and G_ASCII_XDIGIT) <> 0;
  1014. {$ENDIF}
  1015. end;
  1016. function g_strstrip(_string : PGChar) : PGChar;
  1017. begin
  1018. g_strstrip:=g_strchomp(g_strchug(_string));
  1019. end;
  1020. // gtype.inc -------------------------------------------------------------------
  1021. function G_TYPE_MAKE_FUNDAMENTAL(x : longint) : GType;
  1022. begin
  1023. G_TYPE_MAKE_FUNDAMENTAL:=GType(x shl G_TYPE_FUNDAMENTAL_SHIFT);
  1024. end;
  1025. function G_TYPE_IS_FUNDAMENTAL(_type : GType) : boolean;
  1026. begin
  1027. G_TYPE_IS_FUNDAMENTAL:=_type <= G_TYPE_FUNDAMENTAL_MAX;
  1028. end;
  1029. function G_TYPE_IS_DERIVED(_type : GType) : boolean;
  1030. begin
  1031. G_TYPE_IS_DERIVED:=_type > G_TYPE_FUNDAMENTAL_MAX;
  1032. end;
  1033. function G_TYPE_IS_INTERFACE(_type : GType) : boolean;
  1034. begin
  1035. G_TYPE_IS_INTERFACE:=(G_TYPE_FUNDAMENTAL(_type)) = G_TYPE_INTERFACE;
  1036. end;
  1037. function G_TYPE_IS_CLASSED(_type : GType) : gboolean;
  1038. begin
  1039. G_TYPE_IS_CLASSED:=private_g_type_test_flags(_type,G_TYPE_FLAG_CLASSED);
  1040. end;
  1041. function G_TYPE_IS_INSTANTIATABLE(_type : GType) : boolean;
  1042. begin
  1043. G_TYPE_IS_INSTANTIATABLE:=private_g_type_test_flags(_type,
  1044. G_TYPE_FLAG_INSTANTIATABLE);
  1045. end;
  1046. function G_TYPE_IS_DERIVABLE(_type : GType) : boolean;
  1047. begin
  1048. G_TYPE_IS_DERIVABLE:=private_g_type_test_flags(_type,G_TYPE_FLAG_DERIVABLE);
  1049. end;
  1050. function G_TYPE_IS_DEEP_DERIVABLE(_type : GType) : boolean;
  1051. begin
  1052. G_TYPE_IS_DEEP_DERIVABLE:=private_g_type_test_flags(_type,G_TYPE_FLAG_DEEP_DERIVABLE);
  1053. end;
  1054. function G_TYPE_IS_ABSTRACT(_type : GType) : boolean;
  1055. begin
  1056. G_TYPE_IS_ABSTRACT:=private_g_type_test_flags(_type,G_TYPE_FLAG_ABSTRACT);
  1057. end;
  1058. function G_TYPE_IS_VALUE_ABSTRACT(_type : GType) : boolean;
  1059. begin
  1060. G_TYPE_IS_VALUE_ABSTRACT:=private_g_type_test_flags(_type,G_TYPE_FLAG_VALUE_ABSTRACT);
  1061. end;
  1062. function G_TYPE_IS_VALUE_TYPE(_type : GType) : boolean;
  1063. begin
  1064. G_TYPE_IS_VALUE_TYPE:=private_g_type_check_is_value_type(_type);
  1065. end;
  1066. function G_TYPE_HAS_VALUE_TABLE(_type : GType) : boolean;
  1067. begin
  1068. G_TYPE_HAS_VALUE_TABLE:=(g_type_value_table_peek(_type)) <> NULL;
  1069. end;
  1070. function G_TYPE_CHECK_INSTANCE(instance : Pointer) : gboolean;
  1071. begin
  1072. G_TYPE_CHECK_INSTANCE:=private_g_type_check_instance(PGTypeInstance(instance));
  1073. end;
  1074. function G_TYPE_CHECK_INSTANCE_CAST(instance: Pointer; g_type: GType) : PGTypeInstance;
  1075. begin
  1076. G_TYPE_CHECK_INSTANCE_CAST:=private_g_type_check_instance_cast(instance,g_type);
  1077. end;
  1078. function G_TYPE_CHECK_INSTANCE_TYPE(instance: Pointer; g_type: GType) : boolean;
  1079. begin
  1080. G_TYPE_CHECK_INSTANCE_TYPE:=private_g_type_check_instance_is_a(instance,g_type);
  1081. end;
  1082. function G_TYPE_INSTANCE_GET_CLASS(instance: Pointer; g_type: GType) : PGTypeClass;
  1083. // #define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type) (_G_TYPE_IGC ((instance), (g_type), c_type))
  1084. // #define _G_TYPE_IGC(ip, gt, ct) ((ct*) (((GTypeInstance*) ip)->g_class))
  1085. begin
  1086. Result:=PGTypeInstance(Instance)^.g_class;
  1087. Result:=private_g_type_check_class_cast(Result,g_type);
  1088. end;
  1089. function G_TYPE_INSTANCE_GET_INTERFACE(instance: Pointer; g_type: GType) : Pointer;
  1090. begin
  1091. G_TYPE_INSTANCE_GET_INTERFACE:=
  1092. g_type_interface_peek((PGTypeInstance(instance))^.g_class,g_type);
  1093. end;
  1094. function G_TYPE_CHECK_CLASS_CAST(g_class: pointer; g_type: GType) : Pointer;
  1095. begin
  1096. G_TYPE_CHECK_CLASS_CAST:=
  1097. private_g_type_check_class_cast(PGTypeClass(g_class),g_type);
  1098. end;
  1099. function G_TYPE_CHECK_CLASS_TYPE(g_class: pointer; g_type : GType) : boolean;
  1100. begin
  1101. G_TYPE_CHECK_CLASS_TYPE:=private_g_type_check_class_is_a(PGTypeClass(g_class),g_type);
  1102. end;
  1103. function G_TYPE_CHECK_VALUE(value : Pointer) : boolean;
  1104. begin
  1105. G_TYPE_CHECK_VALUE:=private_g_type_check_value(PGValue(Value));
  1106. end;
  1107. function G_TYPE_CHECK_VALUE_TYPE(value: pointer; g_type : GType) : boolean;
  1108. begin
  1109. G_TYPE_CHECK_VALUE_TYPE:=private_g_type_check_value_holds(PGValue(value),g_type);
  1110. end;
  1111. function G_TYPE_FROM_INSTANCE(instance : Pointer) : GType;
  1112. begin
  1113. G_TYPE_FROM_INSTANCE:=G_TYPE_FROM_CLASS((PGTypeInstance(instance))^.g_class);
  1114. end;
  1115. function G_TYPE_FROM_CLASS(g_class : Pointer) : GType;
  1116. begin
  1117. G_TYPE_FROM_CLASS:=(PGTypeClass(g_class))^.g_type;
  1118. end;
  1119. function G_TYPE_FROM_INTERFACE(g_iface : Pointer) : GType;
  1120. begin
  1121. G_TYPE_FROM_INTERFACE:=(PGTypeInterface(g_iface))^.g_type;
  1122. end;
  1123. // gvalue.inc ------------------------------------------------------------------
  1124. function G_TYPE_IS_VALUE(_type : GType) : boolean;
  1125. begin
  1126. G_TYPE_IS_VALUE:=private_g_type_check_is_value_type(_type);
  1127. end;
  1128. function G_IS_VALUE(value : Pointer) : boolean;
  1129. begin
  1130. G_IS_VALUE:=G_TYPE_CHECK_VALUE(value);
  1131. end;
  1132. function G_VALUE_TYPE(value : Pointer) : GType;
  1133. begin
  1134. G_VALUE_TYPE:=(PGValue(value))^.g_type;
  1135. end;
  1136. function G_VALUE_TYPE_NAME(value : Pointer) : PGChar;
  1137. begin
  1138. G_VALUE_TYPE_NAME:=g_type_name(G_VALUE_TYPE(value));
  1139. end;
  1140. function G_VALUE_HOLDS(value: pointer; g_type : GType) : boolean;
  1141. begin
  1142. G_VALUE_HOLDS:=G_TYPE_CHECK_VALUE_TYPE(value,g_type);
  1143. end;
  1144. // gparam.inc ------------------------------------------------------------------
  1145. function G_TYPE_IS_PARAM(_type : GType) : boolean;
  1146. begin
  1147. G_TYPE_IS_PARAM:=(G_TYPE_FUNDAMENTAL(_type)) = G_TYPE_PARAM;
  1148. end;
  1149. function G_PARAM_SPEC(pspec : Pointer) : PGParamSpec;
  1150. begin
  1151. G_PARAM_SPEC:=PGParamSpec(G_TYPE_CHECK_INSTANCE_CAST(pspec,G_TYPE_PARAM));
  1152. end;
  1153. function G_IS_PARAM_SPEC(pspec : Pointer) : boolean;
  1154. begin
  1155. G_IS_PARAM_SPEC:=G_TYPE_CHECK_INSTANCE_TYPE(pspec,G_TYPE_PARAM);
  1156. end;
  1157. function G_PARAM_SPEC_CLASS(pclass : Pointer) : PGParamSpecClass;
  1158. begin
  1159. G_PARAM_SPEC_CLASS:=PGParamSpecClass(G_TYPE_CHECK_CLASS_CAST(pclass,G_TYPE_PARAM));
  1160. end;
  1161. function G_IS_PARAM_SPEC_CLASS(pclass : Pointer) : boolean;
  1162. begin
  1163. G_IS_PARAM_SPEC_CLASS:=G_TYPE_CHECK_CLASS_TYPE(pclass,G_TYPE_PARAM);
  1164. end;
  1165. function G_PARAM_SPEC_GET_CLASS(pspec : Pointer) : PGParamSpecClass;
  1166. begin
  1167. G_PARAM_SPEC_GET_CLASS:=PGParamSpecClass(G_TYPE_INSTANCE_GET_CLASS(pspec,G_TYPE_PARAM));
  1168. end;
  1169. function G_PARAM_SPEC_TYPE(pspec : Pointer) : GType;
  1170. begin
  1171. G_PARAM_SPEC_TYPE:=G_TYPE_FROM_INSTANCE(pspec);
  1172. end;
  1173. function G_PARAM_SPEC_TYPE_NAME(pspec : Pointer) : PGChar;
  1174. begin
  1175. G_PARAM_SPEC_TYPE_NAME:=g_type_name(G_PARAM_SPEC_TYPE(pspec));
  1176. end;
  1177. function G_PARAM_SPEC_VALUE_TYPE(pspec : Pointer) : GType;
  1178. begin
  1179. G_PARAM_SPEC_VALUE_TYPE:=(G_PARAM_SPEC(pspec))^.value_type;
  1180. end;
  1181. function G_VALUE_HOLDS_PARAM(value : Pointer) : boolean;
  1182. begin
  1183. G_VALUE_HOLDS_PARAM:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_PARAM);
  1184. end;
  1185. // gclosure.inc ----------------------------------------------------------------
  1186. function G_CLOSURE_NEEDS_MARSHAL(closure : Pointer) : boolean;
  1187. begin
  1188. G_CLOSURE_NEEDS_MARSHAL := not Assigned((PGClosure(closure))^.marshal);
  1189. end;
  1190. function G_CLOSURE_N_NOTIFIERS(cl : PGClosure) : longint;
  1191. begin
  1192. G_CLOSURE_N_NOTIFIERS:=((meta_marshal(cl) + ((n_guards(cl)) shl 1))
  1193. + (n_fnotifiers(cl))) + (n_inotifiers(cl));
  1194. end;
  1195. function G_CCLOSURE_SWAP_DATA(cclosure : PGClosure) : longint;
  1196. begin
  1197. G_CCLOSURE_SWAP_DATA:=derivative_flag(cclosure);
  1198. end;
  1199. function G_CALLBACK(f : pointer) : TGCallback;
  1200. begin
  1201. G_CALLBACK:=TGCallback(f);
  1202. end;
  1203. function ref_count(var a : TGClosure) : guint;
  1204. begin
  1205. ref_count:=(a.flag0 and bm_TGClosure_ref_count) shr bp_TGClosure_ref_count;
  1206. end;
  1207. procedure set_ref_count(var a : TGClosure; __ref_count : guint);
  1208. begin
  1209. a.flag0:=a.flag0 or ((__ref_count shl bp_TGClosure_ref_count) and bm_TGClosure_ref_count);
  1210. end;
  1211. function meta_marshal(a : PGClosure) : guint;
  1212. begin
  1213. meta_marshal:=(a^.flag0 and bm_TGClosure_meta_marshal) shr bp_TGClosure_meta_marshal;
  1214. end;
  1215. procedure set_meta_marshal(var a : TGClosure; __meta_marshal : guint);
  1216. begin
  1217. a.flag0:=a.flag0 or ((__meta_marshal shl bp_TGClosure_meta_marshal) and bm_TGClosure_meta_marshal);
  1218. end;
  1219. function n_guards(a : PGClosure) : guint;
  1220. begin
  1221. n_guards:=(a^.flag0 and bm_TGClosure_n_guards) shr bp_TGClosure_n_guards;
  1222. end;
  1223. procedure set_n_guards(var a : TGClosure; __n_guards : guint);
  1224. begin
  1225. a.flag0:=a.flag0 or ((__n_guards shl bp_TGClosure_n_guards) and bm_TGClosure_n_guards);
  1226. end;
  1227. function n_fnotifiers(a : PGClosure) : guint;
  1228. begin
  1229. n_fnotifiers:=(a^.flag0 and bm_TGClosure_n_fnotifiers) shr bp_TGClosure_n_fnotifiers;
  1230. end;
  1231. procedure set_n_fnotifiers(var a : TGClosure; __n_fnotifiers : guint);
  1232. begin
  1233. a.flag0:=a.flag0 or ((__n_fnotifiers shl bp_TGClosure_n_fnotifiers) and bm_TGClosure_n_fnotifiers);
  1234. end;
  1235. function n_inotifiers(a : PGClosure) : guint;
  1236. begin
  1237. n_inotifiers:=(a^.flag0 and bm_TGClosure_n_inotifiers) shr bp_TGClosure_n_inotifiers;
  1238. end;
  1239. procedure set_n_inotifiers(var a : TGClosure; __n_inotifiers : guint);
  1240. begin
  1241. a.flag0:=a.flag0 or ((__n_inotifiers shl bp_TGClosure_n_inotifiers) and bm_TGClosure_n_inotifiers);
  1242. end;
  1243. function in_inotify(var a : TGClosure) : guint;
  1244. begin
  1245. in_inotify:=(a.flag0 and bm_TGClosure_in_inotify) shr bp_TGClosure_in_inotify;
  1246. end;
  1247. procedure set_in_inotify(var a : TGClosure; __in_inotify : guint);
  1248. begin
  1249. a.flag0:=a.flag0 or ((__in_inotify shl bp_TGClosure_in_inotify) and bm_TGClosure_in_inotify);
  1250. end;
  1251. function floating(var a : TGClosure) : guint;
  1252. begin
  1253. floating:=(a.flag0 and bm_TGClosure_floating) shr bp_TGClosure_floating;
  1254. end;
  1255. procedure set_floating(var a : TGClosure; __floating : guint);
  1256. begin
  1257. a.flag0:=a.flag0 or ((__floating shl bp_TGClosure_floating) and bm_TGClosure_floating);
  1258. end;
  1259. function derivative_flag(a : PGClosure) : guint;
  1260. begin
  1261. derivative_flag:=(a^.flag0 and bm_TGClosure_derivative_flag) shr bp_TGClosure_derivative_flag;
  1262. end;
  1263. procedure set_derivative_flag(var a : TGClosure; __derivative_flag : guint);
  1264. begin
  1265. a.flag0:=a.flag0 or ((__derivative_flag shl bp_TGClosure_derivative_flag) and bm_TGClosure_derivative_flag);
  1266. end;
  1267. function in_marshal(var a : TGClosure) : guint;
  1268. begin
  1269. in_marshal:=(a.flag0 and bm_TGClosure_in_marshal) shr bp_TGClosure_in_marshal;
  1270. end;
  1271. procedure set_in_marshal(var a : TGClosure; __in_marshal : guint);
  1272. begin
  1273. a.flag0:=a.flag0 or ((__in_marshal shl bp_TGClosure_in_marshal) and bm_TGClosure_in_marshal);
  1274. end;
  1275. function is_invalid(var a : TGClosure) : guint;
  1276. begin
  1277. is_invalid:=(a.flag0 and bm_TGClosure_is_invalid) shr bp_TGClosure_is_invalid;
  1278. end;
  1279. procedure set_is_invalid(var a : TGClosure; __is_invalid : guint);
  1280. begin
  1281. a.flag0:=a.flag0 or ((__is_invalid shl bp_TGClosure_is_invalid) and bm_TGClosure_is_invalid);
  1282. end;
  1283. // gsignal.inc -----------------------------------------------------------------
  1284. function g_signal_connect(instance:gpointer; detailed_signal:Pgchar;
  1285. c_handler:TGCallback; data:gpointer) : gulong;
  1286. begin
  1287. g_signal_connect:=g_signal_connect_data(instance,detailed_signal,c_handler,
  1288. data,NULL,TGConnectFlags(0));
  1289. end;
  1290. function g_signal_connect_after(instance:gpointer; detailed_signal:Pgchar;
  1291. c_handler:TGCallback; data:gpointer) : gulong;
  1292. begin
  1293. g_signal_connect_after:=g_signal_connect_data(instance,detailed_signal,
  1294. c_handler,data,NULL,G_CONNECT_AFTER);
  1295. end;
  1296. function g_signal_connect_swapped(instance:gpointer; detailed_signal:Pgchar;
  1297. c_handler:TGCallback; data:gpointer) : gulong;
  1298. begin
  1299. g_signal_connect_swapped:=g_signal_connect_data(instance,detailed_signal,
  1300. c_handler,data,NULL,G_CONNECT_SWAPPED);
  1301. end;
  1302. function g_signal_handlers_disconnect_by_func(instance:gpointer;
  1303. func, data: gpointer) : guint;
  1304. begin
  1305. g_signal_handlers_disconnect_by_func:=g_signal_handlers_disconnect_matched(
  1306. instance,TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA),0,0,
  1307. NULL,func,data);
  1308. end;
  1309. procedure g_signal_handlers_block_by_func(instance: gpointer; func, data: gpointer);
  1310. begin
  1311. g_signal_handlers_block_matched(instance,
  1312. TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA),
  1313. 0, 0, nil, func, data);
  1314. end;
  1315. procedure g_signal_handlers_unblock_by_func(instance: gpointer; func, data: gpointer);
  1316. begin
  1317. g_signal_handlers_unblock_matched(instance,
  1318. TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA),
  1319. 0, 0, nil, func, data);
  1320. end;
  1321. // gobject.inc -----------------------------------------------------------------
  1322. function G_TYPE_IS_OBJECT(_type : GType) : boolean;
  1323. begin
  1324. G_TYPE_IS_OBJECT:=(G_TYPE_FUNDAMENTAL(_type)) = G_TYPE_OBJECT;
  1325. end;
  1326. function G_OBJECT(anObject: pointer) : PGObject;
  1327. begin
  1328. G_OBJECT:=PGObject(G_TYPE_CHECK_INSTANCE_CAST(anObject,G_TYPE_OBJECT));
  1329. end;
  1330. function G_OBJECT_CLASS(_class : Pointer) : PGObjectClass;
  1331. begin
  1332. G_OBJECT_CLASS:=PGObjectClass(G_TYPE_CHECK_CLASS_CAST(_class,G_TYPE_OBJECT));
  1333. end;
  1334. function G_IS_OBJECT(anObject: pointer) : boolean;
  1335. begin
  1336. G_IS_OBJECT:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,G_TYPE_OBJECT);
  1337. end;
  1338. function G_IS_OBJECT_CLASS(_class : Pointer) : boolean;
  1339. begin
  1340. G_IS_OBJECT_CLASS:=G_TYPE_CHECK_CLASS_TYPE(_class,G_TYPE_OBJECT);
  1341. end;
  1342. function G_OBJECT_GET_CLASS(anObject: pointer) : PGObjectClass;
  1343. begin
  1344. G_OBJECT_GET_CLASS:=PGObjectClass(G_TYPE_INSTANCE_GET_CLASS(anObject,G_TYPE_OBJECT));
  1345. end;
  1346. function G_OBJECT_TYPE(anObject: pointer) : GType;
  1347. begin
  1348. G_OBJECT_TYPE:=G_TYPE_FROM_INSTANCE(anObject);
  1349. end;
  1350. function G_OBJECT_TYPE_NAME(anObject: pointer) : Pgchar;
  1351. begin
  1352. G_OBJECT_TYPE_NAME:=g_type_name(G_OBJECT_TYPE(anObject));
  1353. end;
  1354. function G_OBJECT_CLASS_TYPE(_class : Pointer) : GType;
  1355. begin
  1356. G_OBJECT_CLASS_TYPE:=G_TYPE_FROM_CLASS(_class);
  1357. end;
  1358. function G_OBJECT_CLASS_NAME(_class : Pointer) : Pgchar;
  1359. begin
  1360. G_OBJECT_CLASS_NAME:=g_type_name(G_OBJECT_CLASS_TYPE(_class));
  1361. end;
  1362. function G_VALUE_HOLDS_OBJECT(value : Pointer) : boolean;
  1363. begin
  1364. G_VALUE_HOLDS_OBJECT:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_OBJECT);
  1365. end;
  1366. procedure G_OBJECT_WARN_INVALID_PROPERTY_ID(anObject: gpointer;
  1367. property_id: gint; pspec : gpointer);
  1368. begin
  1369. G_OBJECT_WARN_INVALID_PSPEC(anObject,'property',property_id,pspec);
  1370. end;
  1371. procedure G_OBJECT_WARN_INVALID_PSPEC(anObject: gpointer; pname: PGChar;
  1372. property_id: gint; pspec: gpointer);
  1373. var
  1374. _object: PGObject;
  1375. _pspec: PGParamSpec;
  1376. _property_id: guint;
  1377. begin
  1378. _object := PGObject (anObject);
  1379. _pspec := PGParamSpec (pspec);
  1380. _property_id := (property_id);
  1381. g_warning ('%s: invalid %s id %u for "%s" of type `%s'' in `%s''',
  1382. ['',
  1383. pname,
  1384. _property_id,
  1385. _pspec^.name,
  1386. g_type_name (G_PARAM_SPEC_TYPE (_pspec)),
  1387. G_OBJECT_TYPE_NAME (_object)]);
  1388. end;
  1389. // gtypeplugin.inc -------------------------------------------------------------
  1390. function G_TYPE_TYPE_PLUGIN : GType;
  1391. begin
  1392. G_TYPE_TYPE_PLUGIN:=g_type_plugin_get_type;
  1393. end;
  1394. function G_TYPE_PLUGIN(inst : Pointer) : PGTypePlugin;
  1395. begin
  1396. G_TYPE_PLUGIN:=PGTypePlugin(G_TYPE_CHECK_INSTANCE_CAST(inst,G_TYPE_TYPE_PLUGIN));
  1397. end;
  1398. function G_TYPE_PLUGIN_CLASS(vtable : Pointer) : PGTypePluginClass;
  1399. begin
  1400. G_TYPE_PLUGIN_CLASS:=PGTypePluginClass(G_TYPE_CHECK_CLASS_CAST(vtable,G_TYPE_TYPE_PLUGIN));
  1401. end;
  1402. function G_IS_TYPE_PLUGIN(inst : Pointer) : boolean;
  1403. begin
  1404. G_IS_TYPE_PLUGIN:=G_TYPE_CHECK_INSTANCE_TYPE(inst,G_TYPE_TYPE_PLUGIN);
  1405. end;
  1406. function G_IS_TYPE_PLUGIN_CLASS(vtable : Pointer) : boolean;
  1407. begin
  1408. G_IS_TYPE_PLUGIN_CLASS:=G_TYPE_CHECK_CLASS_TYPE(vtable,G_TYPE_TYPE_PLUGIN);
  1409. end;
  1410. function G_TYPE_PLUGIN_GET_CLASS(inst : Pointer) : PGTypePluginClass;
  1411. begin
  1412. G_TYPE_PLUGIN_GET_CLASS:=PGTypePluginClass(G_TYPE_INSTANCE_GET_INTERFACE(inst,G_TYPE_TYPE_PLUGIN));
  1413. end;
  1414. // genums.inc ------------------------------------------------------------------
  1415. function G_TYPE_IS_ENUM(_type : GType) : gboolean;
  1416. begin
  1417. G_TYPE_IS_ENUM:=(G_TYPE_FUNDAMENTAL(_type) = G_TYPE_ENUM);
  1418. end;
  1419. function G_ENUM_CLASS(_class : pointer) : PGEnumClass;
  1420. begin
  1421. G_ENUM_CLASS:=PGEnumClass(G_TYPE_CHECK_CLASS_CAST(_class,G_TYPE_ENUM));
  1422. end;
  1423. function G_IS_ENUM_CLASS(_class : pointer) : gboolean;
  1424. begin
  1425. G_IS_ENUM_CLASS:=G_TYPE_CHECK_CLASS_TYPE(_class,G_TYPE_ENUM);
  1426. end;
  1427. function G_ENUM_CLASS_TYPE(_class : pointer) : GType;
  1428. begin
  1429. G_ENUM_CLASS_TYPE:=G_TYPE_FROM_CLASS(_class);
  1430. end;
  1431. function G_ENUM_CLASS_TYPE_NAME(_class : pointer) : PGChar;
  1432. begin
  1433. G_ENUM_CLASS_TYPE_NAME:=g_type_name(G_ENUM_CLASS_TYPE(_class));
  1434. end;
  1435. function G_TYPE_IS_FLAGS(_type : GType) : gboolean;
  1436. begin
  1437. G_TYPE_IS_FLAGS:=(G_TYPE_FUNDAMENTAL(_type)) = G_TYPE_FLAGS;
  1438. end;
  1439. function G_FLAGS_CLASS(_class : pointer) : PGFlagsClass;
  1440. begin
  1441. G_FLAGS_CLASS:=PGFlagsClass(G_TYPE_CHECK_CLASS_CAST(_class,G_TYPE_FLAGS));
  1442. end;
  1443. function G_IS_FLAGS_CLASS(_class : pointer) : gboolean;
  1444. begin
  1445. G_IS_FLAGS_CLASS:=G_TYPE_CHECK_CLASS_TYPE(_class,G_TYPE_FLAGS);
  1446. end;
  1447. function G_FLAGS_CLASS_TYPE(_class : pointer) : GType;
  1448. begin
  1449. G_FLAGS_CLASS_TYPE:=G_TYPE_FROM_CLASS(_class);
  1450. end;
  1451. function G_FLAGS_CLASS_TYPE_NAME(_class : pointer) : PGChar;
  1452. begin
  1453. G_FLAGS_CLASS_TYPE_NAME:=g_type_name(G_FLAGS_TYPE(PtrInt(_class)));
  1454. end;
  1455. function G_VALUE_HOLDS_ENUM(value : pointer) : gboolean;
  1456. begin
  1457. G_VALUE_HOLDS_ENUM:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_ENUM);
  1458. end;
  1459. function G_VALUE_HOLDS_FLAGS(value : pointer) : gboolean;
  1460. begin
  1461. G_VALUE_HOLDS_FLAGS:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_FLAGS);
  1462. end;
  1463. // gmacros.inc -----------------------------------------------------------------
  1464. function CLAMP(x, MinX, MaxX: integer): integer;
  1465. begin
  1466. if x<MinX then
  1467. Result:=MinX
  1468. else if x>MaxX then
  1469. Result:=MaxX
  1470. else
  1471. Result:=x;
  1472. end;
  1473. function GPOINTER_TO_SIZE(p: GPointer): GSize;
  1474. begin
  1475. Result:=GSize(PtrInt(p));
  1476. end;
  1477. function GSIZE_TO_POINTER(s: GSize): GPointer;
  1478. begin
  1479. Result:=GPointer(PtrInt(s));
  1480. end;
  1481. // gvaluetypes.inc -------------------------------------------------------------
  1482. function G_VALUE_HOLDS_CHAR(value : PGValue) : boolean;
  1483. begin
  1484. G_VALUE_HOLDS_CHAR:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_CHAR);
  1485. end;
  1486. function G_VALUE_HOLDS_UCHAR(value : PGValue) : boolean;
  1487. begin
  1488. G_VALUE_HOLDS_UCHAR:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_UCHAR);
  1489. end;
  1490. function G_VALUE_HOLDS_BOOLEAN(value : PGValue) : boolean;
  1491. begin
  1492. G_VALUE_HOLDS_BOOLEAN:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_BOOLEAN);
  1493. end;
  1494. function G_VALUE_HOLDS_INT(value : PGValue) : boolean;
  1495. begin
  1496. G_VALUE_HOLDS_INT:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_INT);
  1497. end;
  1498. function G_VALUE_HOLDS_UINT(value : PGValue) : boolean;
  1499. begin
  1500. G_VALUE_HOLDS_UINT:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_UINT);
  1501. end;
  1502. function G_VALUE_HOLDS_LONG(value : PGValue) : boolean;
  1503. begin
  1504. G_VALUE_HOLDS_LONG:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_LONG);
  1505. end;
  1506. function G_VALUE_HOLDS_ULONG(value : PGValue) : boolean;
  1507. begin
  1508. G_VALUE_HOLDS_ULONG:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_ULONG);
  1509. end;
  1510. function G_VALUE_HOLDS_INT64(value : PGValue) : boolean;
  1511. begin
  1512. G_VALUE_HOLDS_INT64:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_INT64);
  1513. end;
  1514. function G_VALUE_HOLDS_UINT64(value : PGValue) : boolean;
  1515. begin
  1516. G_VALUE_HOLDS_UINT64:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_UINT64);
  1517. end;
  1518. function G_VALUE_HOLDS_FLOAT(value : PGValue) : boolean;
  1519. begin
  1520. G_VALUE_HOLDS_FLOAT:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_FLOAT);
  1521. end;
  1522. function G_VALUE_HOLDS_DOUBLE(value : PGValue) : boolean;
  1523. begin
  1524. G_VALUE_HOLDS_DOUBLE:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_DOUBLE);
  1525. end;
  1526. function G_VALUE_HOLDS_STRING(value : PGValue) : boolean;
  1527. begin
  1528. G_VALUE_HOLDS_STRING:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_STRING);
  1529. end;
  1530. function G_VALUE_HOLDS_POINTER(value : PGValue) : boolean;
  1531. begin
  1532. G_VALUE_HOLDS_POINTER:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_POINTER);
  1533. end;
  1534. // gboxed.inc ------------------------------------------------------------------
  1535. function G_TYPE_IS_BOXED(_type : GType) : gboolean;
  1536. begin
  1537. G_TYPE_IS_BOXED:=(G_TYPE_FUNDAMENTAL(_type)) = G_TYPE_BOXED;
  1538. end;
  1539. function G_VALUE_HOLDS_BOXED(value : PGValue) : gboolean;
  1540. begin
  1541. G_VALUE_HOLDS_BOXED:=G_TYPE_CHECK_VALUE_TYPE(value,G_TYPE_BOXED);
  1542. end;
  1543. function G_TYPE_CLOSURE : GType;
  1544. begin
  1545. G_TYPE_CLOSURE:=g_closure_get_type;
  1546. end;
  1547. function G_TYPE_VALUE : GType;
  1548. begin
  1549. G_TYPE_VALUE:=g_value_get_type;
  1550. end;
  1551. function G_TYPE_VALUE_ARRAY : GType;
  1552. begin
  1553. G_TYPE_VALUE_ARRAY:=g_value_array_get_type;
  1554. end;
  1555. function G_TYPE_GSTRING : GType;
  1556. begin
  1557. G_TYPE_GSTRING:=g_gstring_get_type;
  1558. end;
  1559. end.