glib2.pas 52 KB

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