glib2 0.90.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (875) hide show
  1. data/ChangeLog +3115 -0
  2. data/README +40 -0
  3. data/Rakefile +69 -0
  4. data/ext/glib2/depend +10 -0
  5. data/ext/glib2/extconf.rb +61 -0
  6. data/ext/glib2/glib2.def +89 -0
  7. data/ext/glib2/rbgcompat.h +30 -0
  8. data/ext/glib2/rbglib.c +330 -0
  9. data/ext/glib2/rbglib.h +96 -0
  10. data/ext/glib2/rbglib_bookmarkfile.c +595 -0
  11. data/ext/glib2/rbglib_completion.c +192 -0
  12. data/ext/glib2/rbglib_convert.c +195 -0
  13. data/ext/glib2/rbglib_error.c +95 -0
  14. data/ext/glib2/rbglib_fileutils.c +83 -0
  15. data/ext/glib2/rbglib_i18n.c +44 -0
  16. data/ext/glib2/rbglib_int64.c +157 -0
  17. data/ext/glib2/rbglib_iochannel.c +883 -0
  18. data/ext/glib2/rbglib_keyfile.c +846 -0
  19. data/ext/glib2/rbglib_maincontext.c +915 -0
  20. data/ext/glib2/rbglib_mainloop.c +87 -0
  21. data/ext/glib2/rbglib_messages.c +150 -0
  22. data/ext/glib2/rbglib_pollfd.c +111 -0
  23. data/ext/glib2/rbglib_shell.c +68 -0
  24. data/ext/glib2/rbglib_source.c +190 -0
  25. data/ext/glib2/rbglib_spawn.c +345 -0
  26. data/ext/glib2/rbglib_threads.c +51 -0
  27. data/ext/glib2/rbglib_timer.c +127 -0
  28. data/ext/glib2/rbglib_unicode.c +611 -0
  29. data/ext/glib2/rbglib_utils.c +386 -0
  30. data/ext/glib2/rbglib_win32.c +136 -0
  31. data/ext/glib2/rbgobj_boxed.c +251 -0
  32. data/ext/glib2/rbgobj_closure.c +337 -0
  33. data/ext/glib2/rbgobj_convert.c +167 -0
  34. data/ext/glib2/rbgobj_enums.c +961 -0
  35. data/ext/glib2/rbgobj_fundamental.c +30 -0
  36. data/ext/glib2/rbgobj_object.c +892 -0
  37. data/ext/glib2/rbgobj_param.c +390 -0
  38. data/ext/glib2/rbgobj_paramspecs.c +305 -0
  39. data/ext/glib2/rbgobj_signal.c +963 -0
  40. data/ext/glib2/rbgobj_strv.c +61 -0
  41. data/ext/glib2/rbgobj_type.c +851 -0
  42. data/ext/glib2/rbgobj_typeinstance.c +121 -0
  43. data/ext/glib2/rbgobj_typeinterface.c +148 -0
  44. data/ext/glib2/rbgobj_typemodule.c +66 -0
  45. data/ext/glib2/rbgobj_typeplugin.c +49 -0
  46. data/ext/glib2/rbgobj_value.c +313 -0
  47. data/ext/glib2/rbgobj_valuearray.c +59 -0
  48. data/ext/glib2/rbgobj_valuetypes.c +298 -0
  49. data/ext/glib2/rbgobject.c +406 -0
  50. data/ext/glib2/rbgobject.h +265 -0
  51. data/ext/glib2/rbgprivate.h +88 -0
  52. data/ext/glib2/rbgutil.c +316 -0
  53. data/ext/glib2/rbgutil.h +82 -0
  54. data/ext/glib2/rbgutil_callback.c +231 -0
  55. data/extconf.rb +49 -0
  56. data/lib/1.8/glib2.so +0 -0
  57. data/lib/1.9/glib2.so +0 -0
  58. data/lib/glib-mkenums.rb +199 -0
  59. data/lib/glib2.rb +239 -0
  60. data/lib/gnome2-win32-binary-downloader.rb +92 -0
  61. data/lib/mkmf-gnome2.rb +377 -0
  62. data/sample/bookmarkfile.rb +66 -0
  63. data/sample/completion.rb +45 -0
  64. data/sample/idle.rb +41 -0
  65. data/sample/iochannel.rb +44 -0
  66. data/sample/keyfile.rb +62 -0
  67. data/sample/shell.rb +36 -0
  68. data/sample/spawn.rb +25 -0
  69. data/sample/timeout.rb +28 -0
  70. data/sample/timeout2.rb +35 -0
  71. data/sample/timer.rb +40 -0
  72. data/sample/type-register.rb +103 -0
  73. data/sample/type-register2.rb +104 -0
  74. data/sample/utils.rb +54 -0
  75. data/test/glib-test-init.rb +6 -0
  76. data/test/glib-test-utils.rb +12 -0
  77. data/test/run-test.rb +21 -0
  78. data/test/test_enum.rb +99 -0
  79. data/test/test_file_utils.rb +15 -0
  80. data/test/test_glib2.rb +120 -0
  81. data/test/test_iochannel.rb +275 -0
  82. data/test/test_key_file.rb +38 -0
  83. data/test/test_mkenums.rb +25 -0
  84. data/test/test_signal.rb +20 -0
  85. data/test/test_timeout.rb +28 -0
  86. data/test/test_unicode.rb +369 -0
  87. data/test/test_utils.rb +37 -0
  88. data/test/test_win32.rb +13 -0
  89. data/test-unit/COPYING +56 -0
  90. data/test-unit/GPL +340 -0
  91. data/test-unit/History.txt +232 -0
  92. data/test-unit/Manifest.txt +110 -0
  93. data/test-unit/PSFL +271 -0
  94. data/test-unit/README.txt +75 -0
  95. data/test-unit/Rakefile +53 -0
  96. data/test-unit/TODO +5 -0
  97. data/test-unit/bin/testrb +5 -0
  98. data/test-unit/html/bar.png +0 -0
  99. data/test-unit/html/bar.svg +153 -0
  100. data/test-unit/html/developer.png +0 -0
  101. data/test-unit/html/developer.svg +469 -0
  102. data/test-unit/html/famfamfam-logo.png +0 -0
  103. data/test-unit/html/favicon.ico +0 -0
  104. data/test-unit/html/favicon.png +0 -0
  105. data/test-unit/html/favicon.svg +82 -0
  106. data/test-unit/html/heading-mark.png +0 -0
  107. data/test-unit/html/heading-mark.svg +393 -0
  108. data/test-unit/html/index.html +247 -0
  109. data/test-unit/html/index.html.ja +270 -0
  110. data/test-unit/html/install.png +0 -0
  111. data/test-unit/html/install.svg +636 -0
  112. data/test-unit/html/jp.png +0 -0
  113. data/test-unit/html/kinotan-failure.png +0 -0
  114. data/test-unit/html/kinotan-pass.png +0 -0
  115. data/test-unit/html/logo.png +0 -0
  116. data/test-unit/html/logo.svg +483 -0
  117. data/test-unit/html/reference.png +0 -0
  118. data/test-unit/html/rubyforge.png +0 -0
  119. data/test-unit/html/tango-logo.png +0 -0
  120. data/test-unit/html/test-unit.css +339 -0
  121. data/test-unit/html/tutorial.png +0 -0
  122. data/test-unit/html/tutorial.svg +559 -0
  123. data/test-unit/html/us.png +0 -0
  124. data/test-unit/images/color-diff.png +0 -0
  125. data/test-unit/lib/test/unit/assertionfailederror.rb +25 -0
  126. data/test-unit/lib/test/unit/assertions.rb +1334 -0
  127. data/test-unit/lib/test/unit/attribute.rb +125 -0
  128. data/test-unit/lib/test/unit/autorunner.rb +363 -0
  129. data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
  130. data/test-unit/lib/test/unit/collector/dir.rb +108 -0
  131. data/test-unit/lib/test/unit/collector/load.rb +144 -0
  132. data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
  133. data/test-unit/lib/test/unit/collector.rb +36 -0
  134. data/test-unit/lib/test/unit/color-scheme.rb +106 -0
  135. data/test-unit/lib/test/unit/color.rb +96 -0
  136. data/test-unit/lib/test/unit/diff.rb +740 -0
  137. data/test-unit/lib/test/unit/error.rb +130 -0
  138. data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
  139. data/test-unit/lib/test/unit/failure.rb +136 -0
  140. data/test-unit/lib/test/unit/fixture.rb +176 -0
  141. data/test-unit/lib/test/unit/notification.rb +129 -0
  142. data/test-unit/lib/test/unit/omission.rb +191 -0
  143. data/test-unit/lib/test/unit/pending.rb +150 -0
  144. data/test-unit/lib/test/unit/priority.rb +180 -0
  145. data/test-unit/lib/test/unit/runner/console.rb +52 -0
  146. data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
  147. data/test-unit/lib/test/unit/runner/tap.rb +8 -0
  148. data/test-unit/lib/test/unit/testcase.rb +483 -0
  149. data/test-unit/lib/test/unit/testresult.rb +121 -0
  150. data/test-unit/lib/test/unit/testsuite.rb +110 -0
  151. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
  152. data/test-unit/lib/test/unit/ui/console/testrunner.rb +430 -0
  153. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +63 -0
  154. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +82 -0
  155. data/test-unit/lib/test/unit/ui/testrunner.rb +53 -0
  156. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
  157. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  158. data/test-unit/lib/test/unit/util/backtracefilter.rb +42 -0
  159. data/test-unit/lib/test/unit/util/method-owner-finder.rb +28 -0
  160. data/test-unit/lib/test/unit/util/observable.rb +90 -0
  161. data/test-unit/lib/test/unit/util/output.rb +31 -0
  162. data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
  163. data/test-unit/lib/test/unit/version.rb +7 -0
  164. data/test-unit/lib/test/unit.rb +328 -0
  165. data/test-unit/sample/adder.rb +13 -0
  166. data/test-unit/sample/subtracter.rb +12 -0
  167. data/test-unit/sample/test_adder.rb +20 -0
  168. data/test-unit/sample/test_subtracter.rb +20 -0
  169. data/test-unit/sample/test_user.rb +23 -0
  170. data/test-unit/test/collector/test-descendant.rb +133 -0
  171. data/test-unit/test/collector/test-load.rb +442 -0
  172. data/test-unit/test/collector/test_dir.rb +406 -0
  173. data/test-unit/test/collector/test_objectspace.rb +100 -0
  174. data/test-unit/test/run-test.rb +15 -0
  175. data/test-unit/test/test-attribute.rb +86 -0
  176. data/test-unit/test/test-color-scheme.rb +69 -0
  177. data/test-unit/test/test-color.rb +47 -0
  178. data/test-unit/test/test-diff.rb +518 -0
  179. data/test-unit/test/test-emacs-runner.rb +60 -0
  180. data/test-unit/test/test-fixture.rb +287 -0
  181. data/test-unit/test/test-notification.rb +33 -0
  182. data/test-unit/test/test-omission.rb +81 -0
  183. data/test-unit/test/test-pending.rb +70 -0
  184. data/test-unit/test/test-priority.rb +119 -0
  185. data/test-unit/test/test-testcase.rb +544 -0
  186. data/test-unit/test/test_assertions.rb +1197 -0
  187. data/test-unit/test/test_error.rb +26 -0
  188. data/test-unit/test/test_failure.rb +33 -0
  189. data/test-unit/test/test_testresult.rb +113 -0
  190. data/test-unit/test/test_testsuite.rb +129 -0
  191. data/test-unit/test/testunit-test-util.rb +14 -0
  192. data/test-unit/test/ui/test_tap.rb +33 -0
  193. data/test-unit/test/ui/test_testrunmediator.rb +20 -0
  194. data/test-unit/test/util/test-method-owner-finder.rb +38 -0
  195. data/test-unit/test/util/test-output.rb +11 -0
  196. data/test-unit/test/util/test_backtracefilter.rb +41 -0
  197. data/test-unit/test/util/test_observable.rb +102 -0
  198. data/test-unit/test/util/test_procwrapper.rb +36 -0
  199. data/vendor/local/bin/envsubst.exe +0 -0
  200. data/vendor/local/bin/gettext.exe +0 -0
  201. data/vendor/local/bin/gettext.sh +123 -0
  202. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  203. data/vendor/local/bin/glib-gettextize +188 -0
  204. data/vendor/local/bin/glib-mkenums +511 -0
  205. data/vendor/local/bin/gobject-query.exe +0 -0
  206. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  207. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  208. data/vendor/local/bin/intl.dll +0 -0
  209. data/vendor/local/bin/libasprintf-0.dll +0 -0
  210. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  211. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  212. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  213. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  214. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  215. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  216. data/vendor/local/bin/ngettext.exe +0 -0
  217. data/vendor/local/include/autosprintf.h +66 -0
  218. data/vendor/local/include/glib-2.0/gio/gappinfo.h +237 -0
  219. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
  220. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
  221. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
  222. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +82 -0
  223. data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
  224. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
  225. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
  226. data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
  227. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +80 -0
  228. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +80 -0
  229. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +133 -0
  230. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +116 -0
  231. data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
  232. data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
  233. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
  234. data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
  235. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
  236. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +133 -0
  237. data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
  238. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +951 -0
  239. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
  240. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
  241. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
  242. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
  243. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
  244. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
  245. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
  246. data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
  247. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
  248. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
  249. data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
  250. data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
  251. data/vendor/local/include/glib-2.0/gio/gio.h +101 -0
  252. data/vendor/local/include/glib-2.0/gio/gioenums.h +703 -0
  253. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +79 -0
  254. data/vendor/local/include/glib-2.0/gio/gioerror.h +48 -0
  255. data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
  256. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
  257. data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
  258. data/vendor/local/include/glib-2.0/gio/giotypes.h +339 -0
  259. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
  260. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
  261. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +97 -0
  262. data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
  263. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
  264. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
  265. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +69 -0
  266. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +69 -0
  267. data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
  268. data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
  269. data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
  270. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
  271. data/vendor/local/include/glib-2.0/gio/gsocket.h +176 -0
  272. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
  273. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
  274. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +130 -0
  275. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +68 -0
  276. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
  277. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
  278. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
  279. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
  280. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
  281. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
  282. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
  283. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
  284. data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
  285. data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
  286. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +151 -0
  287. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +55 -0
  288. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +54 -0
  289. data/vendor/local/include/glib-2.0/glib/galloca.h +63 -0
  290. data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
  291. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
  292. data/vendor/local/include/glib-2.0/glib/gatomic.h +85 -0
  293. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
  294. data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
  295. data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
  296. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +191 -0
  297. data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
  298. data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
  299. data/vendor/local/include/glib-2.0/glib/gcompletion.h +77 -0
  300. data/vendor/local/include/glib-2.0/glib/gconvert.h +138 -0
  301. data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
  302. data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
  303. data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
  304. data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
  305. data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
  306. data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
  307. data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
  308. data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
  309. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
  310. data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
  311. data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
  312. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +250 -0
  313. data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
  314. data/vendor/local/include/glib-2.0/glib/gmacros.h +277 -0
  315. data/vendor/local/include/glib-2.0/glib/gmain.h +304 -0
  316. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
  317. data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
  318. data/vendor/local/include/glib-2.0/glib/gmem.h +203 -0
  319. data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
  320. data/vendor/local/include/glib-2.0/glib/gnode.h +288 -0
  321. data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
  322. data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
  323. data/vendor/local/include/glib-2.0/glib/gpoll.h +93 -0
  324. data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
  325. data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
  326. data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
  327. data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
  328. data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
  329. data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
  330. data/vendor/local/include/glib-2.0/glib/gregex.h +243 -0
  331. data/vendor/local/include/glib-2.0/glib/grel.h +97 -0
  332. data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
  333. data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
  334. data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
  335. data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
  336. data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
  337. data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
  338. data/vendor/local/include/glib-2.0/glib/gstdio.h +159 -0
  339. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +267 -0
  340. data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
  341. data/vendor/local/include/glib-2.0/glib/gtestutils.h +292 -0
  342. data/vendor/local/include/glib-2.0/glib/gthread.h +408 -0
  343. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
  344. data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
  345. data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
  346. data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
  347. data/vendor/local/include/glib-2.0/glib/gunicode.h +404 -0
  348. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
  349. data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
  350. data/vendor/local/include/glib-2.0/glib/gvariant.h +224 -0
  351. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +305 -0
  352. data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
  353. data/vendor/local/include/glib-2.0/glib-object.h +41 -0
  354. data/vendor/local/include/glib-2.0/glib.h +97 -0
  355. data/vendor/local/include/glib-2.0/gmodule.h +101 -0
  356. data/vendor/local/include/glib-2.0/gobject/gboxed.h +236 -0
  357. data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
  358. data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
  359. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +169 -0
  360. data/vendor/local/include/glib-2.0/gobject/gobject.h +562 -0
  361. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +166 -0
  362. data/vendor/local/include/glib-2.0/gobject/gparam.h +410 -0
  363. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1083 -0
  364. data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
  365. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
  366. data/vendor/local/include/glib-2.0/gobject/gtype.h +1608 -0
  367. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
  368. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
  369. data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
  370. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
  371. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +222 -0
  372. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +243 -0
  373. data/vendor/local/include/libintl.h +464 -0
  374. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  375. data/vendor/local/lib/gio-2.0.def +800 -0
  376. data/vendor/local/lib/gio-2.0.lib +0 -0
  377. data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
  378. data/vendor/local/lib/glib-2.0.def +1381 -0
  379. data/vendor/local/lib/glib-2.0.lib +0 -0
  380. data/vendor/local/lib/gmodule-2.0.def +11 -0
  381. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  382. data/vendor/local/lib/gobject-2.0.def +349 -0
  383. data/vendor/local/lib/gobject-2.0.lib +0 -0
  384. data/vendor/local/lib/gthread-2.0.def +3 -0
  385. data/vendor/local/lib/gthread-2.0.lib +0 -0
  386. data/vendor/local/lib/intl.lib +0 -0
  387. data/vendor/local/lib/libasprintf.dll.a +0 -0
  388. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  389. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  390. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  391. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  392. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  393. data/vendor/local/lib/libintl.def +31 -0
  394. data/vendor/local/lib/libintl.dll.a +0 -0
  395. data/vendor/local/lib/pkgconfig/gio-2.0.pc +14 -0
  396. data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
  397. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
  398. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
  399. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
  400. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
  401. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
  402. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
  403. data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
  404. data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
  405. data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
  406. data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
  407. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
  408. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
  409. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
  410. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
  411. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
  412. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
  413. data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
  414. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
  415. data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
  416. data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
  417. data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
  418. data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
  419. data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
  420. data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
  421. data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
  422. data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
  423. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
  424. data/vendor/local/share/glib-2.0/gdb/glib.py +252 -0
  425. data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
  426. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
  427. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +277 -0
  428. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1390 -0
  429. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +531 -0
  430. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
  431. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +568 -0
  432. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +295 -0
  433. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
  434. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
  435. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +388 -0
  436. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +993 -0
  437. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +544 -0
  438. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
  439. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
  440. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
  441. data/vendor/local/share/gtk-doc/html/gio/GFile.html +7450 -0
  442. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +115 -0
  443. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +520 -0
  444. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
  445. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
  446. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3116 -0
  447. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
  448. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
  449. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
  450. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
  451. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +182 -0
  452. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +183 -0
  453. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
  454. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
  455. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
  456. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
  457. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +195 -0
  458. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
  459. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
  460. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
  461. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
  462. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +362 -0
  463. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
  464. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
  465. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +263 -0
  466. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +248 -0
  467. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1006 -0
  468. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
  469. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
  470. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +979 -0
  471. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2152 -0
  472. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
  473. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +930 -0
  474. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +428 -0
  475. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +548 -0
  476. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +274 -0
  477. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +741 -0
  478. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
  479. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
  480. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
  481. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +381 -0
  482. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +280 -0
  483. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
  484. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
  485. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +306 -0
  486. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
  487. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
  488. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +709 -0
  489. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +180 -0
  490. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +128 -0
  491. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
  492. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
  493. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1088 -0
  494. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +206 -0
  495. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +97 -0
  496. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +4499 -0
  497. data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
  498. data/vendor/local/share/gtk-doc/html/gio/ch01.html +171 -0
  499. data/vendor/local/share/gtk-doc/html/gio/ch02.html +45 -0
  500. data/vendor/local/share/gtk-doc/html/gio/ch03.html +80 -0
  501. data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
  502. data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
  503. data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
  504. data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
  505. data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
  506. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +96 -0
  507. data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
  508. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
  509. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
  510. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
  511. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
  512. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +465 -0
  513. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +381 -0
  514. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +163 -0
  515. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +163 -0
  516. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +927 -0
  517. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +328 -0
  518. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
  519. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
  520. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +918 -0
  521. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +107 -0
  522. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1235 -0
  523. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +1384 -0
  524. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  525. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +47 -0
  526. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  527. data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
  528. data/vendor/local/share/gtk-doc/html/gio/index.html +318 -0
  529. data/vendor/local/share/gtk-doc/html/gio/index.sgml +1795 -0
  530. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/gio/migrating.html +42 -0
  532. data/vendor/local/share/gtk-doc/html/gio/networking.html +57 -0
  533. data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
  534. data/vendor/local/share/gtk-doc/html/gio/pt02.html +293 -0
  535. data/vendor/local/share/gtk-doc/html/gio/resolver.html +47 -0
  536. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  537. data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
  538. data/vendor/local/share/gtk-doc/html/gio/style.css +257 -0
  539. data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
  540. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  541. data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
  542. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
  543. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
  544. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
  545. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +563 -0
  546. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
  547. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
  548. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
  549. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
  550. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
  551. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +419 -0
  552. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +389 -0
  553. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +413 -0
  554. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
  555. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +340 -0
  556. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +7835 -0
  557. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  558. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
  559. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
  560. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +413 -0
  561. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +430 -0
  562. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
  563. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
  564. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
  565. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2054 -0
  566. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
  567. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
  568. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
  569. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1187 -0
  570. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1665 -0
  571. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
  572. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
  573. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2042 -0
  574. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
  575. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
  576. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
  577. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1023 -0
  578. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1810 -0
  579. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +3798 -0
  580. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1815 -0
  581. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
  582. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
  583. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
  584. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
  585. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +629 -0
  586. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
  587. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2556 -0
  588. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
  589. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
  590. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
  591. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1029 -0
  592. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
  593. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
  594. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
  595. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +703 -0
  596. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1045 -0
  597. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1523 -0
  598. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1466 -0
  599. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +204 -0
  600. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2648 -0
  601. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
  602. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
  603. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
  604. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +483 -0
  605. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
  606. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
  607. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1283 -0
  608. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1212 -0
  609. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
  610. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +466 -0
  611. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
  612. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2947 -0
  613. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1290 -0
  614. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1719 -0
  615. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3379 -0
  616. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
  617. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
  618. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
  619. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
  620. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
  621. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +314 -0
  622. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3356 -0
  623. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +150 -0
  624. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
  625. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
  626. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +438 -0
  627. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
  628. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
  629. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
  630. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
  631. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
  632. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
  633. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
  634. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2395 -0
  635. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
  636. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +302 -0
  637. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +112 -0
  638. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2084 -0
  639. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2556 -0
  640. data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
  641. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
  642. data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
  643. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1171 -0
  644. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  645. data/vendor/local/share/gtk-doc/html/glib/index.html +336 -0
  646. data/vendor/local/share/gtk-doc/html/glib/index.sgml +2717 -0
  647. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  648. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  649. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  650. data/vendor/local/share/gtk-doc/html/glib/style.css +257 -0
  651. data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
  652. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  653. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
  654. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
  655. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
  656. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
  657. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
  658. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
  659. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
  660. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
  661. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +72 -0
  662. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
  663. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
  664. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
  665. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
  666. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2577 -0
  667. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
  668. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
  669. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
  670. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
  671. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
  672. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
  673. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +355 -0
  674. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +295 -0
  675. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  676. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +406 -0
  677. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2355 -0
  678. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
  679. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1423 -0
  680. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
  681. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
  682. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5242 -0
  683. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2609 -0
  684. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4227 -0
  685. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +413 -0
  686. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +230 -0
  687. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
  688. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
  689. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
  690. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +723 -0
  691. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +757 -0
  692. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
  693. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
  694. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
  695. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
  696. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  697. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
  698. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
  699. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
  700. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
  701. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
  702. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
  703. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
  704. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
  705. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
  706. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
  707. data/vendor/local/share/gtk-doc/html/gobject/index.html +187 -0
  708. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +734 -0
  709. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  710. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
  711. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
  712. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
  713. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
  714. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  715. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +82 -0
  716. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
  717. data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
  718. data/vendor/local/share/gtk-doc/html/gobject/style.css +257 -0
  719. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
  720. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
  721. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
  722. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
  723. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
  724. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  725. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  726. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  727. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  729. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  731. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  732. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  733. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  735. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  736. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  737. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  738. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  740. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  741. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  742. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  743. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  744. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  746. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  747. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  748. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  749. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  750. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  751. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  752. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  753. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  754. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  755. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  756. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  757. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  758. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  759. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  760. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  761. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  762. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  763. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  764. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  765. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  766. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  767. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  768. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  769. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  770. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  771. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  772. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  773. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  774. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  775. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  776. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  777. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  778. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  779. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  780. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  781. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  782. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  783. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  784. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  785. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  786. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  787. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  788. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  789. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  790. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  791. data/vendor/local/share/locale/locale.alias +77 -0
  792. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  793. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  794. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  795. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  796. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  797. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  798. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  799. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  800. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  801. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  802. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  803. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  804. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  805. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  806. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  807. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  808. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  809. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  810. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  811. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  812. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  813. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  814. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  816. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  818. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  820. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  821. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  822. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  823. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  824. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  825. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  826. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  827. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  828. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  829. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  830. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  831. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  832. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  833. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  834. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  835. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  836. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  837. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  838. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  839. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  840. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  841. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  842. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  843. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  844. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  845. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  846. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  847. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  848. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  849. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  850. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  851. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  852. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  853. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  854. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  855. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  856. data/vendor/local/share/man/man1/envsubst.1 +54 -0
  857. data/vendor/local/share/man/man1/gettext.1 +69 -0
  858. data/vendor/local/share/man/man1/glib-genmarshal.1 +307 -0
  859. data/vendor/local/share/man/man1/glib-mkenums.1 +234 -0
  860. data/vendor/local/share/man/man1/gobject-query.1 +83 -0
  861. data/vendor/local/share/man/man1/ngettext.1 +68 -0
  862. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
  863. data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
  864. data/vendor/local/share/man/man3/dcgettext.3 +1 -0
  865. data/vendor/local/share/man/man3/dcngettext.3 +1 -0
  866. data/vendor/local/share/man/man3/dgettext.3 +1 -0
  867. data/vendor/local/share/man/man3/dngettext.3 +1 -0
  868. data/vendor/local/share/man/man3/gettext.3 +99 -0
  869. data/vendor/local/share/man/man3/ngettext.3 +60 -0
  870. data/vendor/local/share/man/man3/textdomain.3 +57 -0
  871. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
  872. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
  873. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
  874. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
  875. metadata +940 -0
@@ -0,0 +1,1608 @@
1
+ /* GObject - GLib Type, Object, Parameter and Signal Library
2
+ * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc.
3
+ *
4
+ * This library is free software; you can redistribute it and/or
5
+ * modify it under the terms of the GNU Lesser General Public
6
+ * License as published by the Free Software Foundation; either
7
+ * version 2 of the License, or (at your option) any later version.
8
+ *
9
+ * This library is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ * Lesser General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Lesser General
15
+ * Public License along with this library; if not, write to the
16
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
17
+ * Boston, MA 02111-1307, USA.
18
+ */
19
+ #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
20
+ #error "Only <glib-object.h> can be included directly."
21
+ #endif
22
+
23
+ #ifndef __G_TYPE_H__
24
+ #define __G_TYPE_H__
25
+
26
+ #include <glib.h>
27
+
28
+ G_BEGIN_DECLS
29
+
30
+ /* Basic Type Macros
31
+ */
32
+ /**
33
+ * G_TYPE_FUNDAMENTAL:
34
+ * @type: A #GType value.
35
+ *
36
+ * The fundamental type which is the ancestor of @type.
37
+ * Fundamental types are types that serve as ultimate bases for the derived types,
38
+ * thus they are the roots of distinct inheritance hierarchies.
39
+ */
40
+ #define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type))
41
+ /**
42
+ * G_TYPE_FUNDAMENTAL_MAX:
43
+ *
44
+ * An integer constant that represents the number of identifiers reserved
45
+ * for types that are assigned at compile-time.
46
+ */
47
+ #define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT)
48
+
49
+ /* Constant fundamental types,
50
+ * introduced by g_type_init().
51
+ */
52
+ /**
53
+ * G_TYPE_INVALID:
54
+ *
55
+ * An invalid #GType used as error return value in some functions which return
56
+ * a #GType.
57
+ */
58
+ #define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0)
59
+ /**
60
+ * G_TYPE_NONE:
61
+ *
62
+ * A fundamental type which is used as a replacement for the C
63
+ * <literal>void</literal> return type.
64
+ */
65
+ #define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1)
66
+ /**
67
+ * G_TYPE_INTERFACE:
68
+ *
69
+ * The fundamental type from which all interfaces are derived.
70
+ */
71
+ #define G_TYPE_INTERFACE G_TYPE_MAKE_FUNDAMENTAL (2)
72
+ /**
73
+ * G_TYPE_CHAR:
74
+ *
75
+ * The fundamental type corresponding to #gchar.
76
+ * The type designated by G_TYPE_CHAR is unconditionally an 8-bit signed integer.
77
+ * This may or may not be the same type a the C type "gchar".
78
+ */
79
+ #define G_TYPE_CHAR G_TYPE_MAKE_FUNDAMENTAL (3)
80
+ /**
81
+ * G_TYPE_UCHAR:
82
+ *
83
+ * The fundamental type corresponding to #guchar.
84
+ */
85
+ #define G_TYPE_UCHAR G_TYPE_MAKE_FUNDAMENTAL (4)
86
+ /**
87
+ * G_TYPE_BOOLEAN:
88
+ *
89
+ * The fundamental type corresponding to #gboolean.
90
+ */
91
+ #define G_TYPE_BOOLEAN G_TYPE_MAKE_FUNDAMENTAL (5)
92
+ /**
93
+ * G_TYPE_INT:
94
+ *
95
+ * The fundamental type corresponding to #gint.
96
+ */
97
+ #define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6)
98
+ /**
99
+ * G_TYPE_UINT:
100
+ *
101
+ * The fundamental type corresponding to #guint.
102
+ */
103
+ #define G_TYPE_UINT G_TYPE_MAKE_FUNDAMENTAL (7)
104
+ /**
105
+ * G_TYPE_LONG:
106
+ *
107
+ * The fundamental type corresponding to #glong.
108
+ */
109
+ #define G_TYPE_LONG G_TYPE_MAKE_FUNDAMENTAL (8)
110
+ /**
111
+ * G_TYPE_ULONG:
112
+ *
113
+ * The fundamental type corresponding to #gulong.
114
+ */
115
+ #define G_TYPE_ULONG G_TYPE_MAKE_FUNDAMENTAL (9)
116
+ /**
117
+ * G_TYPE_INT64:
118
+ *
119
+ * The fundamental type corresponding to #gint64.
120
+ */
121
+ #define G_TYPE_INT64 G_TYPE_MAKE_FUNDAMENTAL (10)
122
+ /**
123
+ * G_TYPE_UINT64:
124
+ *
125
+ * The fundamental type corresponding to #guint64.
126
+ */
127
+ #define G_TYPE_UINT64 G_TYPE_MAKE_FUNDAMENTAL (11)
128
+ /**
129
+ * G_TYPE_ENUM:
130
+ *
131
+ * The fundamental type from which all enumeration types are derived.
132
+ */
133
+ #define G_TYPE_ENUM G_TYPE_MAKE_FUNDAMENTAL (12)
134
+ /**
135
+ * G_TYPE_FLAGS:
136
+ *
137
+ * The fundamental type from which all flags types are derived.
138
+ */
139
+ #define G_TYPE_FLAGS G_TYPE_MAKE_FUNDAMENTAL (13)
140
+ /**
141
+ * G_TYPE_FLOAT:
142
+ *
143
+ * The fundamental type corresponding to #gfloat.
144
+ */
145
+ #define G_TYPE_FLOAT G_TYPE_MAKE_FUNDAMENTAL (14)
146
+ /**
147
+ * G_TYPE_DOUBLE:
148
+ *
149
+ * The fundamental type corresponding to #gdouble.
150
+ */
151
+ #define G_TYPE_DOUBLE G_TYPE_MAKE_FUNDAMENTAL (15)
152
+ /**
153
+ * G_TYPE_STRING:
154
+ *
155
+ * The fundamental type corresponding to nul-terminated C strings.
156
+ */
157
+ #define G_TYPE_STRING G_TYPE_MAKE_FUNDAMENTAL (16)
158
+ /**
159
+ * G_TYPE_POINTER:
160
+ *
161
+ * The fundamental type corresponding to #gpointer.
162
+ */
163
+ #define G_TYPE_POINTER G_TYPE_MAKE_FUNDAMENTAL (17)
164
+ /**
165
+ * G_TYPE_BOXED:
166
+ *
167
+ * The fundamental type from which all boxed types are derived.
168
+ */
169
+ #define G_TYPE_BOXED G_TYPE_MAKE_FUNDAMENTAL (18)
170
+ /**
171
+ * G_TYPE_PARAM:
172
+ *
173
+ * The fundamental type from which all #GParamSpec types are derived.
174
+ */
175
+ #define G_TYPE_PARAM G_TYPE_MAKE_FUNDAMENTAL (19)
176
+ /**
177
+ * G_TYPE_OBJECT:
178
+ *
179
+ * The fundamental type for #GObject.
180
+ */
181
+ #define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20)
182
+
183
+
184
+ /* Reserved fundamental type numbers to create new fundamental
185
+ * type IDs with G_TYPE_MAKE_FUNDAMENTAL().
186
+ * Send email to gtk-devel-list@gnome.org for reservations.
187
+ */
188
+ /**
189
+ * G_TYPE_FUNDAMENTAL_SHIFT:
190
+ *
191
+ * Shift value used in converting numbers to type IDs.
192
+ */
193
+ #define G_TYPE_FUNDAMENTAL_SHIFT (2)
194
+ /**
195
+ * G_TYPE_MAKE_FUNDAMENTAL:
196
+ * @x: the fundamental type number.
197
+ *
198
+ * Get the type ID for the fundamental type number @x.
199
+ * Use g_type_fundamental_next() instead of this macro to create new fundamental
200
+ * types.
201
+ *
202
+ * Returns: the GType
203
+ */
204
+ #define G_TYPE_MAKE_FUNDAMENTAL(x) ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
205
+ /**
206
+ * G_TYPE_RESERVED_GLIB_FIRST:
207
+ *
208
+ * First fundamental type number to create a new fundamental type id with
209
+ * G_TYPE_MAKE_FUNDAMENTAL() reserved for GLib.
210
+ */
211
+ #define G_TYPE_RESERVED_GLIB_FIRST (21)
212
+ /**
213
+ * G_TYPE_RESERVED_GLIB_LAST:
214
+ *
215
+ * Last fundamental type number reserved for GLib.
216
+ */
217
+ #define G_TYPE_RESERVED_GLIB_LAST (31)
218
+ /**
219
+ * G_TYPE_RESERVED_BSE_FIRST:
220
+ *
221
+ * First fundamental type number to create a new fundamental type id with
222
+ * G_TYPE_MAKE_FUNDAMENTAL() reserved for BSE.
223
+ */
224
+ #define G_TYPE_RESERVED_BSE_FIRST (32)
225
+ /**
226
+ * G_TYPE_RESERVED_BSE_LAST:
227
+ *
228
+ * Last fundamental type number reserved for BSE.
229
+ */
230
+ #define G_TYPE_RESERVED_BSE_LAST (48)
231
+ /**
232
+ * G_TYPE_RESERVED_USER_FIRST:
233
+ *
234
+ * First available fundamental type number to create new fundamental
235
+ * type id with G_TYPE_MAKE_FUNDAMENTAL().
236
+ */
237
+ #define G_TYPE_RESERVED_USER_FIRST (49)
238
+
239
+
240
+ /* Type Checking Macros
241
+ */
242
+ /**
243
+ * G_TYPE_IS_FUNDAMENTAL:
244
+ * @type: A #GType value.
245
+ *
246
+ * Checks if @type is a fundamental type.
247
+ *
248
+ * Returns: %TRUE on success.
249
+ */
250
+ #define G_TYPE_IS_FUNDAMENTAL(type) ((type) <= G_TYPE_FUNDAMENTAL_MAX)
251
+ /**
252
+ * G_TYPE_IS_DERIVED:
253
+ * @type: A #GType value.
254
+ *
255
+ * Checks if @type is derived (or in object-oriented terminology:
256
+ * inherited) from another type (this holds true for all non-fundamental
257
+ * types).
258
+ *
259
+ * Returns: %TRUE on success.
260
+ */
261
+ #define G_TYPE_IS_DERIVED(type) ((type) > G_TYPE_FUNDAMENTAL_MAX)
262
+ /**
263
+ * G_TYPE_IS_INTERFACE:
264
+ * @type: A #GType value.
265
+ *
266
+ * Checks if @type is an interface type.
267
+ * An interface type provides a pure API, the implementation
268
+ * of which is provided by another type (which is then said to conform
269
+ * to the interface). GLib interfaces are somewhat analogous to Java
270
+ * interfaces and C++ classes containing only pure virtual functions,
271
+ * with the difference that GType interfaces are not derivable (but see
272
+ * g_type_interface_add_prerequisite() for an alternative).
273
+ *
274
+ * Returns: %TRUE on success.
275
+ */
276
+ #define G_TYPE_IS_INTERFACE(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
277
+ /**
278
+ * G_TYPE_IS_CLASSED:
279
+ * @type: A #GType value.
280
+ *
281
+ * Checks if @type is a classed type.
282
+ *
283
+ * Returns: %TRUE on success.
284
+ */
285
+ #define G_TYPE_IS_CLASSED(type) (g_type_test_flags ((type), G_TYPE_FLAG_CLASSED))
286
+ /**
287
+ * G_TYPE_IS_INSTANTIATABLE:
288
+ * @type: A #GType value.
289
+ *
290
+ * Checks if @type can be instantiated. Instantiation is the
291
+ * process of creating an instance (object) of this type.
292
+ *
293
+ * Returns: %TRUE on success.
294
+ */
295
+ #define G_TYPE_IS_INSTANTIATABLE(type) (g_type_test_flags ((type), G_TYPE_FLAG_INSTANTIATABLE))
296
+ /**
297
+ * G_TYPE_IS_DERIVABLE:
298
+ * @type: A #GType value.
299
+ *
300
+ * Checks if @type is a derivable type. A derivable type can
301
+ * be used as the base class of a flat (single-level) class hierarchy.
302
+ *
303
+ * Returns: %TRUE on success.
304
+ */
305
+ #define G_TYPE_IS_DERIVABLE(type) (g_type_test_flags ((type), G_TYPE_FLAG_DERIVABLE))
306
+ /**
307
+ * G_TYPE_IS_DEEP_DERIVABLE:
308
+ * @type: A #GType value.
309
+ *
310
+ * Checks if @type is a deep derivable type. A deep derivable type
311
+ * can be used as the base class of a deep (multi-level) class hierarchy.
312
+ *
313
+ * Returns: %TRUE on success.
314
+ */
315
+ #define G_TYPE_IS_DEEP_DERIVABLE(type) (g_type_test_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE))
316
+ /**
317
+ * G_TYPE_IS_ABSTRACT:
318
+ * @type: A #GType value.
319
+ *
320
+ * Checks if @type is an abstract type. An abstract type can not be
321
+ * instantiated and is normally used as an abstract base class for
322
+ * derived classes.
323
+ *
324
+ * Returns: %TRUE on success.
325
+ */
326
+ #define G_TYPE_IS_ABSTRACT(type) (g_type_test_flags ((type), G_TYPE_FLAG_ABSTRACT))
327
+ /**
328
+ * G_TYPE_IS_VALUE_ABSTRACT:
329
+ * @type: A #GType value.
330
+ *
331
+ * Checks if @type is an abstract value type. An abstract value type introduces
332
+ * a value table, but can't be used for g_value_init() and is normally used as
333
+ * an abstract base type for derived value types.
334
+ *
335
+ * Returns: %TRUE on success.
336
+ */
337
+ #define G_TYPE_IS_VALUE_ABSTRACT(type) (g_type_test_flags ((type), G_TYPE_FLAG_VALUE_ABSTRACT))
338
+ /**
339
+ * G_TYPE_IS_VALUE_TYPE:
340
+ * @type: A #GType value.
341
+ *
342
+ * Checks if @type is a value type and can be used with g_value_init().
343
+ *
344
+ * Returns: %TRUE on success.
345
+ */
346
+ #define G_TYPE_IS_VALUE_TYPE(type) (g_type_check_is_value_type (type))
347
+ /**
348
+ * G_TYPE_HAS_VALUE_TABLE:
349
+ * @type: A #GType value.
350
+ *
351
+ * Checks if @type has a #GTypeValueTable.
352
+ *
353
+ * Returns: %TRUE on success.
354
+ */
355
+ #define G_TYPE_HAS_VALUE_TABLE(type) (g_type_value_table_peek (type) != NULL)
356
+
357
+
358
+ /* Typedefs
359
+ */
360
+ /**
361
+ * GType:
362
+ *
363
+ * A numerical value which represents the unique identifier of a registered
364
+ * type.
365
+ */
366
+ #if GLIB_SIZEOF_SIZE_T != GLIB_SIZEOF_LONG || !defined __cplusplus
367
+ typedef gsize GType;
368
+ #else /* for historic reasons, C++ links against gulong GTypes */
369
+ typedef gulong GType;
370
+ #endif
371
+ typedef struct _GValue GValue;
372
+ typedef union _GTypeCValue GTypeCValue;
373
+ typedef struct _GTypePlugin GTypePlugin;
374
+ typedef struct _GTypeClass GTypeClass;
375
+ typedef struct _GTypeInterface GTypeInterface;
376
+ typedef struct _GTypeInstance GTypeInstance;
377
+ typedef struct _GTypeInfo GTypeInfo;
378
+ typedef struct _GTypeFundamentalInfo GTypeFundamentalInfo;
379
+ typedef struct _GInterfaceInfo GInterfaceInfo;
380
+ typedef struct _GTypeValueTable GTypeValueTable;
381
+ typedef struct _GTypeQuery GTypeQuery;
382
+
383
+
384
+ /* Basic Type Structures
385
+ */
386
+ /**
387
+ * GTypeClass:
388
+ *
389
+ * An opaque structure used as the base of all classes.
390
+ */
391
+ struct _GTypeClass
392
+ {
393
+ /*< private >*/
394
+ GType g_type;
395
+ };
396
+ /**
397
+ * GTypeInstance:
398
+ *
399
+ * An opaque structure used as the base of all type instances.
400
+ */
401
+ struct _GTypeInstance
402
+ {
403
+ /*< private >*/
404
+ GTypeClass *g_class;
405
+ };
406
+ /**
407
+ * GTypeInterface:
408
+ *
409
+ * An opaque structure used as the base of all interface types.
410
+ */
411
+ struct _GTypeInterface
412
+ {
413
+ /*< private >*/
414
+ GType g_type; /* iface type */
415
+ GType g_instance_type;
416
+ };
417
+ /**
418
+ * GTypeQuery:
419
+ * @type: the #GType value of the type.
420
+ * @type_name: the name of the type.
421
+ * @class_size: the size of the class structure.
422
+ * @instance_size: the size of the instance structure.
423
+ *
424
+ * A structure holding information for a specific type. It is
425
+ * filled in by the g_type_query() function.
426
+ */
427
+ struct _GTypeQuery
428
+ {
429
+ GType type;
430
+ const gchar *type_name;
431
+ guint class_size;
432
+ guint instance_size;
433
+ };
434
+
435
+
436
+ /* Casts, checks and accessors for structured types
437
+ * usage of these macros is reserved to type implementations only
438
+ */
439
+ /*< protected >*/
440
+ /**
441
+ * G_TYPE_CHECK_INSTANCE:
442
+ * @instance: Location of a #GTypeInstance structure.
443
+ *
444
+ * Checks if @instance is a valid #GTypeInstance structure,
445
+ * otherwise issues a warning and returns %FALSE.
446
+ *
447
+ * This macro should only be used in type implementations.
448
+ *
449
+ * Returns: %TRUE on success.
450
+ */
451
+ #define G_TYPE_CHECK_INSTANCE(instance) (_G_TYPE_CHI ((GTypeInstance*) (instance)))
452
+ /**
453
+ * G_TYPE_CHECK_INSTANCE_CAST:
454
+ * @instance: Location of a #GTypeInstance structure.
455
+ * @g_type: The type to be returned.
456
+ * @c_type: The corresponding C type of @g_type.
457
+ *
458
+ * Checks that @instance is an instance of the type identified by @g_type
459
+ * and issues a warning if this is not the case. Returns @instance casted
460
+ * to a pointer to @c_type.
461
+ *
462
+ * This macro should only be used in type implementations.
463
+ */
464
+ #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
465
+ /**
466
+ * G_TYPE_CHECK_INSTANCE_TYPE:
467
+ * @instance: Location of a #GTypeInstance structure.
468
+ * @g_type: The type to be checked
469
+ *
470
+ * Checks if @instance is an instance of the type identified by @g_type.
471
+ *
472
+ * This macro should only be used in type implementations.
473
+ *
474
+ * Returns: %TRUE on success.
475
+ */
476
+ #define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type) (_G_TYPE_CIT ((instance), (g_type)))
477
+ /**
478
+ * G_TYPE_INSTANCE_GET_CLASS:
479
+ * @instance: Location of the #GTypeInstance structure.
480
+ * @g_type: The #GType of the class to be returned.
481
+ * @c_type: The C type of the class structure.
482
+ *
483
+ * Get the class structure of a given @instance, casted
484
+ * to a specified ancestor type @g_type of the instance.
485
+ *
486
+ * Note that while calling a GInstanceInitFunc(), the class pointer gets
487
+ * modified, so it might not always return the expected pointer.
488
+ *
489
+ * This macro should only be used in type implementations.
490
+ *
491
+ * Returns: a pointer to the class structure
492
+ */
493
+ #define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type) (_G_TYPE_IGC ((instance), (g_type), c_type))
494
+ /**
495
+ * G_TYPE_INSTANCE_GET_INTERFACE:
496
+ * @instance: Location of the #GTypeInstance structure.
497
+ * @g_type: The #GType of the interface to be returned.
498
+ * @c_type: The C type of the interface structure.
499
+ *
500
+ * Get the interface structure for interface @g_type of a given @instance.
501
+ *
502
+ * This macro should only be used in type implementations.
503
+ *
504
+ * Returns: a pointer to the interface structure
505
+ */
506
+ #define G_TYPE_INSTANCE_GET_INTERFACE(instance, g_type, c_type) (_G_TYPE_IGI ((instance), (g_type), c_type))
507
+ /**
508
+ * G_TYPE_CHECK_CLASS_CAST:
509
+ * @g_class: Location of a #GTypeClass structure.
510
+ * @g_type: The type to be returned.
511
+ * @c_type: The corresponding C type of class structure of @g_type.
512
+ *
513
+ * Checks that @g_class is a class structure of the type identified by @g_type
514
+ * and issues a warning if this is not the case. Returns @g_class casted
515
+ * to a pointer to @c_type.
516
+ *
517
+ * This macro should only be used in type implementations.
518
+ */
519
+ #define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type) (_G_TYPE_CCC ((g_class), (g_type), c_type))
520
+ /**
521
+ * G_TYPE_CHECK_CLASS_TYPE:
522
+ * @g_class: Location of a #GTypeClass structure.
523
+ * @g_type: The type to be checked.
524
+ *
525
+ * Checks if @g_class is a class structure of the type identified by
526
+ * @g_type.
527
+ *
528
+ * This macro should only be used in type implementations.
529
+ *
530
+ * Returns: %TRUE on success.
531
+ */
532
+ #define G_TYPE_CHECK_CLASS_TYPE(g_class, g_type) (_G_TYPE_CCT ((g_class), (g_type)))
533
+ /**
534
+ * G_TYPE_CHECK_VALUE:
535
+ * @value: a #GValue
536
+ *
537
+ * Checks if @value has been initialized to hold values
538
+ * of a value type.
539
+ *
540
+ * This macro should only be used in type implementations.
541
+ *
542
+ * Returns: %TRUE on success.
543
+ */
544
+ #define G_TYPE_CHECK_VALUE(value) (_G_TYPE_CHV ((value)))
545
+ /**
546
+ * G_TYPE_CHECK_VALUE_TYPE:
547
+ * @value: a #GValue
548
+ * @g_type: The type to be checked.
549
+ *
550
+ * Checks if @value has been initialized to hold values
551
+ * of type @g_type.
552
+ *
553
+ * This macro should only be used in type implementations.
554
+ *
555
+ * Returns: %TRUE on success.
556
+ */
557
+ #define G_TYPE_CHECK_VALUE_TYPE(value, g_type) (_G_TYPE_CVH ((value), (g_type)))
558
+ /**
559
+ * G_TYPE_FROM_INSTANCE:
560
+ * @instance: Location of a valid #GTypeInstance structure.
561
+ *
562
+ * Get the type identifier from a given @instance structure.
563
+ *
564
+ * This macro should only be used in type implementations.
565
+ *
566
+ * Returns: the #GType
567
+ */
568
+ #define G_TYPE_FROM_INSTANCE(instance) (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
569
+ /**
570
+ * G_TYPE_FROM_CLASS:
571
+ * @g_class: Location of a valid #GTypeClass structure.
572
+ *
573
+ * Get the type identifier from a given @class structure.
574
+ *
575
+ * This macro should only be used in type implementations.
576
+ *
577
+ * Returns: the #GType
578
+ */
579
+ #define G_TYPE_FROM_CLASS(g_class) (((GTypeClass*) (g_class))->g_type)
580
+ /**
581
+ * G_TYPE_FROM_INTERFACE:
582
+ * @g_iface: Location of a valid #GTypeInterface structure.
583
+ *
584
+ * Get the type identifier from a given @interface structure.
585
+ *
586
+ * This macro should only be used in type implementations.
587
+ *
588
+ * Returns: the #GType
589
+ */
590
+ #define G_TYPE_FROM_INTERFACE(g_iface) (((GTypeInterface*) (g_iface))->g_type)
591
+
592
+ /**
593
+ * G_TYPE_INSTANCE_GET_PRIVATE:
594
+ * @instance: the instance of a type deriving from @private_type.
595
+ * @g_type: the type identifying which private data to retrieve.
596
+ * @c_type: The C type for the private structure.
597
+ *
598
+ * Gets the private structure for a particular type.
599
+ * The private structure must have been registered in the
600
+ * class_init function with g_type_class_add_private().
601
+ *
602
+ * This macro should only be used in type implementations.
603
+ *
604
+ * Since: 2.4
605
+ * Returns: a pointer to the private data structure.
606
+ */
607
+ #define G_TYPE_INSTANCE_GET_PRIVATE(instance, g_type, c_type) ((c_type*) g_type_instance_get_private ((GTypeInstance*) (instance), (g_type)))
608
+
609
+ /**
610
+ * G_TYPE_CLASS_GET_PRIVATE:
611
+ * @klass: the class of a type deriving from @private_type.
612
+ * @g_type: the type identifying which private data to retrieve.
613
+ * @c_type: The C type for the private structure.
614
+ *
615
+ * Gets the private class structure for a particular type.
616
+ * The private structure must have been registered in the
617
+ * get_type() function with g_type_add_class_private().
618
+ *
619
+ * This macro should only be used in type implementations.
620
+ *
621
+ * Since: 2.24
622
+ * Returns: a pointer to the private data structure.
623
+ */
624
+ #define G_TYPE_CLASS_GET_PRIVATE(klass, g_type, c_type) ((c_type*) g_type_class_get_private ((GTypeClass*) (klass), (g_type)))
625
+
626
+ /**
627
+ * GTypeDebugFlags:
628
+ * @G_TYPE_DEBUG_NONE: Print no messages.
629
+ * @G_TYPE_DEBUG_OBJECTS: Print messages about object bookkeeping.
630
+ * @G_TYPE_DEBUG_SIGNALS: Print messages about signal emissions.
631
+ * @G_TYPE_DEBUG_MASK: Mask covering all debug flags.
632
+ *
633
+ * The <type>GTypeDebugFlags</type> enumeration values can be passed to
634
+ * g_type_init_with_debug_flags() to trigger debugging messages during runtime.
635
+ * Note that the messages can also be triggered by setting the
636
+ * <envar>GOBJECT_DEBUG</envar> environment variable to a ':'-separated list of
637
+ * "objects" and "signals".
638
+ */
639
+ typedef enum /*< skip >*/
640
+ {
641
+ G_TYPE_DEBUG_NONE = 0,
642
+ G_TYPE_DEBUG_OBJECTS = 1 << 0,
643
+ G_TYPE_DEBUG_SIGNALS = 1 << 1,
644
+ G_TYPE_DEBUG_MASK = 0x03
645
+ } GTypeDebugFlags;
646
+
647
+
648
+ /* --- prototypes --- */
649
+ void g_type_init (void);
650
+ void g_type_init_with_debug_flags (GTypeDebugFlags debug_flags);
651
+ G_CONST_RETURN gchar* g_type_name (GType type);
652
+ GQuark g_type_qname (GType type);
653
+ GType g_type_from_name (const gchar *name);
654
+ GType g_type_parent (GType type);
655
+ guint g_type_depth (GType type);
656
+ GType g_type_next_base (GType leaf_type,
657
+ GType root_type);
658
+ gboolean g_type_is_a (GType type,
659
+ GType is_a_type);
660
+ gpointer g_type_class_ref (GType type);
661
+ gpointer g_type_class_peek (GType type);
662
+ gpointer g_type_class_peek_static (GType type);
663
+ void g_type_class_unref (gpointer g_class);
664
+ gpointer g_type_class_peek_parent (gpointer g_class);
665
+ gpointer g_type_interface_peek (gpointer instance_class,
666
+ GType iface_type);
667
+ gpointer g_type_interface_peek_parent (gpointer g_iface);
668
+
669
+ gpointer g_type_default_interface_ref (GType g_type);
670
+ gpointer g_type_default_interface_peek (GType g_type);
671
+ void g_type_default_interface_unref (gpointer g_iface);
672
+
673
+ /* g_free() the returned arrays */
674
+ GType* g_type_children (GType type,
675
+ guint *n_children);
676
+ GType* g_type_interfaces (GType type,
677
+ guint *n_interfaces);
678
+
679
+ /* per-type _static_ data */
680
+ void g_type_set_qdata (GType type,
681
+ GQuark quark,
682
+ gpointer data);
683
+ gpointer g_type_get_qdata (GType type,
684
+ GQuark quark);
685
+ void g_type_query (GType type,
686
+ GTypeQuery *query);
687
+
688
+
689
+ /* --- type registration --- */
690
+ /**
691
+ * GBaseInitFunc:
692
+ * @g_class: The #GTypeClass structure to initialize.
693
+ *
694
+ * A callback function used by the type system to do base initialization
695
+ * of the class structures of derived types. It is called as part of the
696
+ * initialization process of all derived classes and should reallocate
697
+ * or reset all dynamic class members copied over from the parent class.
698
+ * For example, class members (such as strings) that are not sufficiently
699
+ * handled by a plain memory copy of the parent class into the derived class
700
+ * have to be altered. See GClassInitFunc() for a discussion of the class
701
+ * intialization process.
702
+ */
703
+ typedef void (*GBaseInitFunc) (gpointer g_class);
704
+ /**
705
+ * GBaseFinalizeFunc:
706
+ * @g_class: The #GTypeClass structure to finalize.
707
+ *
708
+ * A callback function used by the type system to finalize those portions
709
+ * of a derived types class structure that were setup from the corresponding
710
+ * GBaseInitFunc() function. Class finalization basically works the inverse
711
+ * way in which class intialization is performed.
712
+ * See GClassInitFunc() for a discussion of the class intialization process.
713
+ */
714
+ typedef void (*GBaseFinalizeFunc) (gpointer g_class);
715
+ /**
716
+ * GClassInitFunc:
717
+ * @g_class: The #GTypeClass structure to initialize.
718
+ * @class_data: The @class_data member supplied via the #GTypeInfo structure.
719
+ *
720
+ * A callback function used by the type system to initialize the class
721
+ * of a specific type. This function should initialize all static class
722
+ * members.
723
+ * The initialization process of a class involves:
724
+ * <itemizedlist>
725
+ * <listitem><para>
726
+ * 1 - Copying common members from the parent class over to the
727
+ * derived class structure.
728
+ * </para></listitem>
729
+ * <listitem><para>
730
+ * 2 - Zero initialization of the remaining members not copied
731
+ * over from the parent class.
732
+ * </para></listitem>
733
+ * <listitem><para>
734
+ * 3 - Invocation of the GBaseInitFunc() initializers of all parent
735
+ * types and the class' type.
736
+ * </para></listitem>
737
+ * <listitem><para>
738
+ * 4 - Invocation of the class' GClassInitFunc() initializer.
739
+ * </para></listitem>
740
+ * </itemizedlist>
741
+ * Since derived classes are partially initialized through a memory copy
742
+ * of the parent class, the general rule is that GBaseInitFunc() and
743
+ * GBaseFinalizeFunc() should take care of necessary reinitialization
744
+ * and release of those class members that were introduced by the type
745
+ * that specified these GBaseInitFunc()/GBaseFinalizeFunc().
746
+ * GClassInitFunc() should only care about initializing static
747
+ * class members, while dynamic class members (such as allocated strings
748
+ * or reference counted resources) are better handled by a GBaseInitFunc()
749
+ * for this type, so proper initialization of the dynamic class members
750
+ * is performed for class initialization of derived types as well.
751
+ * An example may help to correspond the intend of the different class
752
+ * initializers:
753
+ *
754
+ * |[
755
+ * typedef struct {
756
+ * GObjectClass parent_class;
757
+ * gint static_integer;
758
+ * gchar *dynamic_string;
759
+ * } TypeAClass;
760
+ * static void
761
+ * type_a_base_class_init (TypeAClass *class)
762
+ * {
763
+ * class->dynamic_string = g_strdup ("some string");
764
+ * }
765
+ * static void
766
+ * type_a_base_class_finalize (TypeAClass *class)
767
+ * {
768
+ * g_free (class->dynamic_string);
769
+ * }
770
+ * static void
771
+ * type_a_class_init (TypeAClass *class)
772
+ * {
773
+ * class->static_integer = 42;
774
+ * }
775
+ *
776
+ * typedef struct {
777
+ * TypeAClass parent_class;
778
+ * gfloat static_float;
779
+ * GString *dynamic_gstring;
780
+ * } TypeBClass;
781
+ * static void
782
+ * type_b_base_class_init (TypeBClass *class)
783
+ * {
784
+ * class->dynamic_gstring = g_string_new ("some other string");
785
+ * }
786
+ * static void
787
+ * type_b_base_class_finalize (TypeBClass *class)
788
+ * {
789
+ * g_string_free (class->dynamic_gstring);
790
+ * }
791
+ * static void
792
+ * type_b_class_init (TypeBClass *class)
793
+ * {
794
+ * class->static_float = 3.14159265358979323846;
795
+ * }
796
+ * ]|
797
+ * Initialization of TypeBClass will first cause initialization of
798
+ * TypeAClass (derived classes reference their parent classes, see
799
+ * g_type_class_ref() on this).
800
+ * Initialization of TypeAClass roughly involves zero-initializing its fields,
801
+ * then calling its GBaseInitFunc() type_a_base_class_init() to allocate
802
+ * its dynamic members (dynamic_string), and finally calling its GClassInitFunc()
803
+ * type_a_class_init() to initialize its static members (static_integer).
804
+ * The first step in the initialization process of TypeBClass is then
805
+ * a plain memory copy of the contents of TypeAClass into TypeBClass and
806
+ * zero-initialization of the remaining fields in TypeBClass.
807
+ * The dynamic members of TypeAClass within TypeBClass now need
808
+ * reinitialization which is performed by calling type_a_base_class_init()
809
+ * with an argument of TypeBClass.
810
+ * After that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()
811
+ * is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
812
+ * and finally the GClassInitFunc() of TypeBClass, type_b_class_init(),
813
+ * is called to complete the initialization process with the static members
814
+ * (static_float).
815
+ * Corresponding finalization counter parts to the GBaseInitFunc() functions
816
+ * have to be provided to release allocated resources at class finalization
817
+ * time.
818
+ */
819
+ typedef void (*GClassInitFunc) (gpointer g_class,
820
+ gpointer class_data);
821
+ /**
822
+ * GClassFinalizeFunc:
823
+ * @g_class: The #GTypeClass structure to finalize.
824
+ * @class_data: The @class_data member supplied via the #GTypeInfo structure.
825
+ *
826
+ * A callback function used by the type system to finalize a class.
827
+ * This function is rarely needed, as dynamically allocated class resources
828
+ * should be handled by GBaseInitFunc() and GBaseFinalizeFunc().
829
+ * Also, specification of a GClassFinalizeFunc() in the #GTypeInfo
830
+ * structure of a static type is invalid, because classes of static types
831
+ * will never be finalized (they are artificially kept alive when their
832
+ * reference count drops to zero).
833
+ */
834
+ typedef void (*GClassFinalizeFunc) (gpointer g_class,
835
+ gpointer class_data);
836
+ /**
837
+ * GInstanceInitFunc:
838
+ * @instance: The instance to initialize.
839
+ * @g_class: The class of the type the instance is created for.
840
+ *
841
+ * A callback function used by the type system to initialize a new
842
+ * instance of a type. This function initializes all instance members and
843
+ * allocates any resources required by it.
844
+ * Initialization of a derived instance involves calling all its parent
845
+ * types instance initializers, so the class member of the instance
846
+ * is altered during its initialization to always point to the class that
847
+ * belongs to the type the current initializer was introduced for.
848
+ */
849
+ typedef void (*GInstanceInitFunc) (GTypeInstance *instance,
850
+ gpointer g_class);
851
+ /**
852
+ * GInterfaceInitFunc:
853
+ * @g_iface: The interface structure to initialize.
854
+ * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure.
855
+ *
856
+ * A callback function used by the type system to initialize a new
857
+ * interface. This function should initialize all internal data and
858
+ * allocate any resources required by the interface.
859
+ */
860
+ typedef void (*GInterfaceInitFunc) (gpointer g_iface,
861
+ gpointer iface_data);
862
+ /**
863
+ * GInterfaceFinalizeFunc:
864
+ * @g_iface: The interface structure to finalize.
865
+ * @iface_data: The @interface_data supplied via the #GInterfaceInfo structure.
866
+ *
867
+ * A callback function used by the type system to finalize an interface.
868
+ * This function should destroy any internal data and release any resources
869
+ * allocated by the corresponding GInterfaceInitFunc() function.
870
+ */
871
+ typedef void (*GInterfaceFinalizeFunc) (gpointer g_iface,
872
+ gpointer iface_data);
873
+ /**
874
+ * GTypeClassCacheFunc:
875
+ * @cache_data: data that was given to the g_type_add_class_cache_func() call
876
+ * @g_class: The #GTypeClass structure which is unreferenced
877
+ *
878
+ * A callback function which is called when the reference count of a class
879
+ * drops to zero. It may use g_type_class_ref() to prevent the class from
880
+ * being freed. You should not call g_type_class_unref() from a
881
+ * #GTypeClassCacheFunc function to prevent infinite recursion, use
882
+ * g_type_class_unref_uncached() instead.
883
+ *
884
+ * The functions have to check the class id passed in to figure
885
+ * whether they actually want to cache the class of this type, since all
886
+ * classes are routed through the same #GTypeClassCacheFunc chain.
887
+ *
888
+ * Returns: %TRUE to stop further #GTypeClassCacheFunc<!-- -->s from being
889
+ * called, %FALSE to continue.
890
+ */
891
+ typedef gboolean (*GTypeClassCacheFunc) (gpointer cache_data,
892
+ GTypeClass *g_class);
893
+ /**
894
+ * GTypeInterfaceCheckFunc:
895
+ * @check_data: data passed to g_type_add_interface_check().
896
+ * @g_iface: the interface that has been initialized
897
+ *
898
+ * A callback called after an interface vtable is initialized.
899
+ * See g_type_add_interface_check().
900
+ *
901
+ * Since: 2.4
902
+ */
903
+ typedef void (*GTypeInterfaceCheckFunc) (gpointer check_data,
904
+ gpointer g_iface);
905
+ /**
906
+ * GTypeFundamentalFlags:
907
+ * @G_TYPE_FLAG_CLASSED: Indicates a classed type.
908
+ * @G_TYPE_FLAG_INSTANTIATABLE: Indicates an instantiable type (implies classed).
909
+ * @G_TYPE_FLAG_DERIVABLE: Indicates a flat derivable type.
910
+ * @G_TYPE_FLAG_DEEP_DERIVABLE: Indicates a deep derivable type (implies derivable).
911
+ *
912
+ * Bit masks used to check or determine specific characteristics of a
913
+ * fundamental type.
914
+ */
915
+ typedef enum /*< skip >*/
916
+ {
917
+ G_TYPE_FLAG_CLASSED = (1 << 0),
918
+ G_TYPE_FLAG_INSTANTIATABLE = (1 << 1),
919
+ G_TYPE_FLAG_DERIVABLE = (1 << 2),
920
+ G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3)
921
+ } GTypeFundamentalFlags;
922
+ /**
923
+ * GTypeFlags:
924
+ * @G_TYPE_FLAG_ABSTRACT: Indicates an abstract type. No instances can be
925
+ * created for an abstract type.
926
+ * @G_TYPE_FLAG_VALUE_ABSTRACT: Indicates an abstract value type, i.e. a type
927
+ * that introduces a value table, but can't be used for
928
+ * g_value_init().
929
+ *
930
+ * Bit masks used to check or determine characteristics of a type.
931
+ */
932
+ typedef enum /*< skip >*/
933
+ {
934
+ G_TYPE_FLAG_ABSTRACT = (1 << 4),
935
+ G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5)
936
+ } GTypeFlags;
937
+ /**
938
+ * GTypeInfo:
939
+ * @class_size: Size of the class structure (required for interface, classed and instantiatable types).
940
+ * @base_init: Location of the base initialization function (optional).
941
+ * @base_finalize: Location of the base finalization function (optional).
942
+ * @class_init: Location of the class initialization function for
943
+ * classed and instantiatable types. Location of the default vtable
944
+ * inititalization function for interface types. (optional) This function
945
+ * is used both to fill in virtual functions in the class or default vtable,
946
+ * and to do type-specific setup such as registering signals and object
947
+ * properties.
948
+ * @class_finalize: Location of the class finalization function for
949
+ * classed and instantiatable types. Location fo the default vtable
950
+ * finalization function for interface types. (optional)
951
+ * @class_data: User-supplied data passed to the class init/finalize functions.
952
+ * @instance_size: Size of the instance (object) structure (required for instantiatable types only).
953
+ * @n_preallocs: Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the <link linkend="glib-Memory-Slices">slice allocator</link> now.
954
+ * @instance_init: Location of the instance initialization function (optional, for instantiatable types only).
955
+ * @value_table: A #GTypeValueTable function table for generic handling of GValues of this type (usually only
956
+ * useful for fundamental types).
957
+ *
958
+ * This structure is used to provide the type system with the information
959
+ * required to initialize and destruct (finalize) a type's class and
960
+ * its instances.
961
+ * The initialized structure is passed to the g_type_register_static() function
962
+ * (or is copied into the provided #GTypeInfo structure in the
963
+ * g_type_plugin_complete_type_info()). The type system will perform a deep
964
+ * copy of this structure, so its memory does not need to be persistent
965
+ * across invocation of g_type_register_static().
966
+ */
967
+ struct _GTypeInfo
968
+ {
969
+ /* interface types, classed types, instantiated types */
970
+ guint16 class_size;
971
+
972
+ GBaseInitFunc base_init;
973
+ GBaseFinalizeFunc base_finalize;
974
+
975
+ /* interface types, classed types, instantiated types */
976
+ GClassInitFunc class_init;
977
+ GClassFinalizeFunc class_finalize;
978
+ gconstpointer class_data;
979
+
980
+ /* instantiated types */
981
+ guint16 instance_size;
982
+ guint16 n_preallocs;
983
+ GInstanceInitFunc instance_init;
984
+
985
+ /* value handling */
986
+ const GTypeValueTable *value_table;
987
+ };
988
+ /**
989
+ * GTypeFundamentalInfo:
990
+ * @type_flags: #GTypeFundamentalFlags describing the characteristics of the fundamental type
991
+ *
992
+ * A structure that provides information to the type system which is
993
+ * used specifically for managing fundamental types.
994
+ */
995
+ struct _GTypeFundamentalInfo
996
+ {
997
+ GTypeFundamentalFlags type_flags;
998
+ };
999
+ /**
1000
+ * GInterfaceInfo:
1001
+ * @interface_init: location of the interface initialization function
1002
+ * @interface_finalize: location of the interface finalization function
1003
+ * @interface_data: user-supplied data passed to the interface init/finalize functions
1004
+ *
1005
+ * A structure that provides information to the type system which is
1006
+ * used specifically for managing interface types.
1007
+ */
1008
+ struct _GInterfaceInfo
1009
+ {
1010
+ GInterfaceInitFunc interface_init;
1011
+ GInterfaceFinalizeFunc interface_finalize;
1012
+ gpointer interface_data;
1013
+ };
1014
+ /**
1015
+ * GTypeValueTable:
1016
+ * @value_init: Default initialize @values contents by poking values
1017
+ * directly into the value->data array. The data array of
1018
+ * the #GValue passed into this function was zero-filled
1019
+ * with <function>memset()</function>, so no care has to
1020
+ * be taken to free any
1021
+ * old contents. E.g. for the implementation of a string
1022
+ * value that may never be %NULL, the implementation might
1023
+ * look like:
1024
+ * |[
1025
+ * value->data[0].v_pointer = g_strdup ("");
1026
+ * ]|
1027
+ * @value_free: Free any old contents that might be left in the
1028
+ * data array of the passed in @value. No resources may
1029
+ * remain allocated through the #GValue contents after
1030
+ * this function returns. E.g. for our above string type:
1031
+ * |[
1032
+ * // only free strings without a specific flag for static storage
1033
+ * if (!(value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS))
1034
+ * g_free (value->data[0].v_pointer);
1035
+ * ]|
1036
+ * @value_copy: @dest_value is a #GValue with zero-filled data section
1037
+ * and @src_value is a properly setup #GValue of same or
1038
+ * derived type.
1039
+ * The purpose of this function is to copy the contents of
1040
+ * @src_value into @dest_value in a way, that even after
1041
+ * @src_value has been freed, the contents of @dest_value
1042
+ * remain valid. String type example:
1043
+ * |[
1044
+ * dest_value->data[0].v_pointer = g_strdup (src_value->data[0].v_pointer);
1045
+ * ]|
1046
+ * @value_peek_pointer: If the value contents fit into a pointer, such as objects
1047
+ * or strings, return this pointer, so the caller can peek at
1048
+ * the current contents. To extend on our above string example:
1049
+ * |[
1050
+ * return value->data[0].v_pointer;
1051
+ * ]|
1052
+ * @collect_format: A string format describing how to collect the contents of
1053
+ * this value bit-by-bit. Each character in the format represents
1054
+ * an argument to be collected, and the characters themselves indicate
1055
+ * the type of the argument. Currently supported arguments are:
1056
+ * <variablelist>
1057
+ * <varlistentry><term /><listitem><para>
1058
+ * 'i' - Integers. passed as collect_values[].v_int.
1059
+ * </para></listitem></varlistentry>
1060
+ * <varlistentry><term /><listitem><para>
1061
+ * 'l' - Longs. passed as collect_values[].v_long.
1062
+ * </para></listitem></varlistentry>
1063
+ * <varlistentry><term /><listitem><para>
1064
+ * 'd' - Doubles. passed as collect_values[].v_double.
1065
+ * </para></listitem></varlistentry>
1066
+ * <varlistentry><term /><listitem><para>
1067
+ * 'p' - Pointers. passed as collect_values[].v_pointer.
1068
+ * </para></listitem></varlistentry>
1069
+ * </variablelist>
1070
+ * It should be noted that for variable argument list construction,
1071
+ * ANSI C promotes every type smaller than an integer to an int, and
1072
+ * floats to doubles. So for collection of short int or char, 'i'
1073
+ * needs to be used, and for collection of floats 'd'.
1074
+ * @collect_value: The collect_value() function is responsible for converting the
1075
+ * values collected from a variable argument list into contents
1076
+ * suitable for storage in a GValue. This function should setup
1077
+ * @value similar to value_init(); e.g. for a string value that
1078
+ * does not allow %NULL pointers, it needs to either spew an error,
1079
+ * or do an implicit conversion by storing an empty string.
1080
+ * The @value passed in to this function has a zero-filled data
1081
+ * array, so just like for value_init() it is guaranteed to not
1082
+ * contain any old contents that might need freeing.
1083
+ * @n_collect_values is exactly the string length of @collect_format,
1084
+ * and @collect_values is an array of unions #GTypeCValue with
1085
+ * length @n_collect_values, containing the collected values
1086
+ * according to @collect_format.
1087
+ * @collect_flags is an argument provided as a hint by the caller.
1088
+ * It may contain the flag %G_VALUE_NOCOPY_CONTENTS indicating,
1089
+ * that the collected value contents may be considered "static"
1090
+ * for the duration of the @value lifetime.
1091
+ * Thus an extra copy of the contents stored in @collect_values is
1092
+ * not required for assignment to @value.
1093
+ * For our above string example, we continue with:
1094
+ * |[
1095
+ * if (!collect_values[0].v_pointer)
1096
+ * value->data[0].v_pointer = g_strdup ("");
1097
+ * else if (collect_flags & G_VALUE_NOCOPY_CONTENTS)
1098
+ * {
1099
+ * value->data[0].v_pointer = collect_values[0].v_pointer;
1100
+ * // keep a flag for the value_free() implementation to not free this string
1101
+ * value->data[1].v_uint = G_VALUE_NOCOPY_CONTENTS;
1102
+ * }
1103
+ * else
1104
+ * value->data[0].v_pointer = g_strdup (collect_values[0].v_pointer);
1105
+ * return NULL;
1106
+ * ]|
1107
+ * It should be noted, that it is generally a bad idea to follow the
1108
+ * #G_VALUE_NOCOPY_CONTENTS hint for reference counted types. Due to
1109
+ * reentrancy requirements and reference count assertions performed
1110
+ * by the #GSignal code, reference counts should always be incremented
1111
+ * for reference counted contents stored in the value->data array.
1112
+ * To deviate from our string example for a moment, and taking a look
1113
+ * at an exemplary implementation for collect_value() of #GObject:
1114
+ * |[
1115
+ * if (collect_values[0].v_pointer)
1116
+ * {
1117
+ * GObject *object = G_OBJECT (collect_values[0].v_pointer);
1118
+ * // never honour G_VALUE_NOCOPY_CONTENTS for ref-counted types
1119
+ * value->data[0].v_pointer = g_object_ref (object);
1120
+ * return NULL;
1121
+ * }
1122
+ * else
1123
+ * return g_strdup_printf ("Object passed as invalid NULL pointer");
1124
+ * }
1125
+ * ]|
1126
+ * The reference count for valid objects is always incremented,
1127
+ * regardless of @collect_flags. For invalid objects, the example
1128
+ * returns a newly allocated string without altering @value.
1129
+ * Upon success, collect_value() needs to return %NULL. If, however,
1130
+ * an error condition occurred, collect_value() may spew an
1131
+ * error by returning a newly allocated non-%NULL string, giving
1132
+ * a suitable description of the error condition.
1133
+ * The calling code makes no assumptions about the @value
1134
+ * contents being valid upon error returns, @value
1135
+ * is simply thrown away without further freeing. As such, it is
1136
+ * a good idea to not allocate #GValue contents, prior to returning
1137
+ * an error, however, collect_values() is not obliged to return
1138
+ * a correctly setup @value for error returns, simply because
1139
+ * any non-%NULL return is considered a fatal condition so further
1140
+ * program behaviour is undefined.
1141
+ * @lcopy_format: Format description of the arguments to collect for @lcopy_value,
1142
+ * analogous to @collect_format. Usually, @lcopy_format string consists
1143
+ * only of 'p's to provide lcopy_value() with pointers to storage locations.
1144
+ * @lcopy_value: This function is responsible for storing the @value contents into
1145
+ * arguments passed through a variable argument list which got
1146
+ * collected into @collect_values according to @lcopy_format.
1147
+ * @n_collect_values equals the string length of @lcopy_format,
1148
+ * and @collect_flags may contain %G_VALUE_NOCOPY_CONTENTS.
1149
+ * In contrast to collect_value(), lcopy_value() is obliged to
1150
+ * always properly support %G_VALUE_NOCOPY_CONTENTS.
1151
+ * Similar to collect_value() the function may prematurely abort
1152
+ * by returning a newly allocated string describing an error condition.
1153
+ * To complete the string example:
1154
+ * |[
1155
+ * gchar **string_p = collect_values[0].v_pointer;
1156
+ * if (!string_p)
1157
+ * return g_strdup_printf ("string location passed as NULL");
1158
+ * if (collect_flags & G_VALUE_NOCOPY_CONTENTS)
1159
+ * *string_p = value->data[0].v_pointer;
1160
+ * else
1161
+ * *string_p = g_strdup (value->data[0].v_pointer);
1162
+ * ]|
1163
+ * And an illustrative version of lcopy_value() for
1164
+ * reference-counted types:
1165
+ * |[
1166
+ * GObject **object_p = collect_values[0].v_pointer;
1167
+ * if (!object_p)
1168
+ * return g_strdup_printf ("object location passed as NULL");
1169
+ * if (!value->data[0].v_pointer)
1170
+ * *object_p = NULL;
1171
+ * else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) // always honour
1172
+ * *object_p = value->data[0].v_pointer;
1173
+ * else
1174
+ * *object_p = g_object_ref (value->data[0].v_pointer);
1175
+ * return NULL;
1176
+ * ]|
1177
+ *
1178
+ * The #GTypeValueTable provides the functions required by the #GValue implementation,
1179
+ * to serve as a container for values of a type.
1180
+ */
1181
+
1182
+ struct _GTypeValueTable
1183
+ {
1184
+ void (*value_init) (GValue *value);
1185
+ void (*value_free) (GValue *value);
1186
+ void (*value_copy) (const GValue *src_value,
1187
+ GValue *dest_value);
1188
+ /* varargs functionality (optional) */
1189
+ gpointer (*value_peek_pointer) (const GValue *value);
1190
+ gchar *collect_format;
1191
+ gchar* (*collect_value) (GValue *value,
1192
+ guint n_collect_values,
1193
+ GTypeCValue *collect_values,
1194
+ guint collect_flags);
1195
+ gchar *lcopy_format;
1196
+ gchar* (*lcopy_value) (const GValue *value,
1197
+ guint n_collect_values,
1198
+ GTypeCValue *collect_values,
1199
+ guint collect_flags);
1200
+ };
1201
+ GType g_type_register_static (GType parent_type,
1202
+ const gchar *type_name,
1203
+ const GTypeInfo *info,
1204
+ GTypeFlags flags);
1205
+ GType g_type_register_static_simple (GType parent_type,
1206
+ const gchar *type_name,
1207
+ guint class_size,
1208
+ GClassInitFunc class_init,
1209
+ guint instance_size,
1210
+ GInstanceInitFunc instance_init,
1211
+ GTypeFlags flags);
1212
+
1213
+ GType g_type_register_dynamic (GType parent_type,
1214
+ const gchar *type_name,
1215
+ GTypePlugin *plugin,
1216
+ GTypeFlags flags);
1217
+ GType g_type_register_fundamental (GType type_id,
1218
+ const gchar *type_name,
1219
+ const GTypeInfo *info,
1220
+ const GTypeFundamentalInfo *finfo,
1221
+ GTypeFlags flags);
1222
+ void g_type_add_interface_static (GType instance_type,
1223
+ GType interface_type,
1224
+ const GInterfaceInfo *info);
1225
+ void g_type_add_interface_dynamic (GType instance_type,
1226
+ GType interface_type,
1227
+ GTypePlugin *plugin);
1228
+ void g_type_interface_add_prerequisite (GType interface_type,
1229
+ GType prerequisite_type);
1230
+ GType*g_type_interface_prerequisites (GType interface_type,
1231
+ guint *n_prerequisites);
1232
+ void g_type_class_add_private (gpointer g_class,
1233
+ gsize private_size);
1234
+ gpointer g_type_instance_get_private (GTypeInstance *instance,
1235
+ GType private_type);
1236
+
1237
+ void g_type_add_class_private (GType class_type,
1238
+ gsize private_size);
1239
+ gpointer g_type_class_get_private (GTypeClass *klass,
1240
+ GType private_type);
1241
+
1242
+
1243
+ /* --- GType boilerplate --- */
1244
+ /**
1245
+ * G_DEFINE_TYPE:
1246
+ * @TN: The name of the new type, in Camel case.
1247
+ * @t_n: The name of the new type, in lowercase, with words
1248
+ * separated by '_'.
1249
+ * @T_P: The #GType of the parent type.
1250
+ *
1251
+ * A convenience macro for type implementations, which declares a
1252
+ * class initialization function, an instance initialization function (see #GTypeInfo for information about
1253
+ * these) and a static variable named @t_n<!-- -->_parent_class pointing to the parent class. Furthermore, it defines
1254
+ * a *_get_type() function. See G_DEFINE_TYPE_EXTENDED() for an example.
1255
+ *
1256
+ * Since: 2.4
1257
+ */
1258
+ #define G_DEFINE_TYPE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {})
1259
+ /**
1260
+ * G_DEFINE_TYPE_WITH_CODE:
1261
+ * @TN: The name of the new type, in Camel case.
1262
+ * @t_n: The name of the new type in lowercase, with words separated by '_'.
1263
+ * @T_P: The #GType of the parent type.
1264
+ * @_C_: Custom code that gets inserted in the *_get_type() function.
1265
+ *
1266
+ * A convenience macro for type implementations.
1267
+ * Similar to G_DEFINE_TYPE(), but allows you to insert custom code into the
1268
+ * *_get_type() function, e.g. interface implementations via G_IMPLEMENT_INTERFACE().
1269
+ * See G_DEFINE_TYPE_EXTENDED() for an example.
1270
+ *
1271
+ * Since: 2.4
1272
+ */
1273
+ #define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
1274
+ /**
1275
+ * G_DEFINE_ABSTRACT_TYPE:
1276
+ * @TN: The name of the new type, in Camel case.
1277
+ * @t_n: The name of the new type, in lowercase, with words
1278
+ * separated by '_'.
1279
+ * @T_P: The #GType of the parent type.
1280
+ *
1281
+ * A convenience macro for type implementations.
1282
+ * Similar to G_DEFINE_TYPE(), but defines an abstract type.
1283
+ * See G_DEFINE_TYPE_EXTENDED() for an example.
1284
+ *
1285
+ * Since: 2.4
1286
+ */
1287
+ #define G_DEFINE_ABSTRACT_TYPE(TN, t_n, T_P) G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, {})
1288
+ /**
1289
+ * G_DEFINE_ABSTRACT_TYPE_WITH_CODE:
1290
+ * @TN: The name of the new type, in Camel case.
1291
+ * @t_n: The name of the new type, in lowercase, with words
1292
+ * separated by '_'.
1293
+ * @T_P: The #GType of the parent type.
1294
+ * @_C_: Custom code that gets inserted in the @type_name_get_type() function.
1295
+ *
1296
+ * A convenience macro for type implementations.
1297
+ * Similar to G_DEFINE_TYPE_WITH_CODE(), but defines an abstract type and allows you to
1298
+ * insert custom code into the *_get_type() function, e.g. interface implementations
1299
+ * via G_IMPLEMENT_INTERFACE(). See G_DEFINE_TYPE_EXTENDED() for an example.
1300
+ *
1301
+ * Since: 2.4
1302
+ */
1303
+ #define G_DEFINE_ABSTRACT_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
1304
+ /**
1305
+ * G_DEFINE_TYPE_EXTENDED:
1306
+ * @TN: The name of the new type, in Camel case.
1307
+ * @t_n: The name of the new type, in lowercase, with words
1308
+ * separated by '_'.
1309
+ * @T_P: The #GType of the parent type.
1310
+ * @_f_: #GTypeFlags to pass to g_type_register_static()
1311
+ * @_C_: Custom code that gets inserted in the *_get_type() function.
1312
+ *
1313
+ * The most general convenience macro for type implementations, on which
1314
+ * G_DEFINE_TYPE(), etc are based.
1315
+ *
1316
+ * |[
1317
+ * G_DEFINE_TYPE_EXTENDED (GtkGadget,
1318
+ * gtk_gadget,
1319
+ * GTK_TYPE_WIDGET,
1320
+ * 0,
1321
+ * G_IMPLEMENT_INTERFACE (TYPE_GIZMO,
1322
+ * gtk_gadget_gizmo_init));
1323
+ * ]|
1324
+ * expands to
1325
+ * |[
1326
+ * static void gtk_gadget_init (GtkGadget *self);
1327
+ * static void gtk_gadget_class_init (GtkGadgetClass *klass);
1328
+ * static gpointer gtk_gadget_parent_class = NULL;
1329
+ * static void gtk_gadget_class_intern_init (gpointer klass)
1330
+ * {
1331
+ * gtk_gadget_parent_class = g_type_class_peek_parent (klass);
1332
+ * gtk_gadget_class_init ((GtkGadgetClass*) klass);
1333
+ * }
1334
+ *
1335
+ * GType
1336
+ * gtk_gadget_get_type (void)
1337
+ * {
1338
+ * static volatile gsize g_define_type_id__volatile = 0;
1339
+ * if (g_once_init_enter (&g_define_type_id__volatile))
1340
+ * {
1341
+ * GType g_define_type_id =
1342
+ * g_type_register_static_simple (GTK_TYPE_WIDGET,
1343
+ * g_intern_static_string ("GtkGadget"),
1344
+ * sizeof (GtkGadgetClass),
1345
+ * (GClassInitFunc) gtk_gadget_class_intern_init,
1346
+ * sizeof (GtkGadget),
1347
+ * (GInstanceInitFunc) gtk_gadget_init,
1348
+ * (GTypeFlags) flags);
1349
+ * {
1350
+ * static const GInterfaceInfo g_implement_interface_info = {
1351
+ * (GInterfaceInitFunc) gtk_gadget_gizmo_init
1352
+ * };
1353
+ * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
1354
+ * }
1355
+ * g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
1356
+ * }
1357
+ * return g_define_type_id__volatile;
1358
+ * }
1359
+ * ]|
1360
+ * The only pieces which have to be manually provided are the definitions of
1361
+ * the instance and class structure and the definitions of the instance and
1362
+ * class init functions.
1363
+ *
1364
+ * Since: 2.4
1365
+ */
1366
+ #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
1367
+
1368
+ /**
1369
+ * G_DEFINE_INTERFACE:
1370
+ * @TN: The name of the new type, in Camel case.
1371
+ * @t_n: The name of the new type, in lowercase, with words separated by '_'.
1372
+ * @T_P: The #GType of the prerequisite type for the interface, or 0
1373
+ * (%G_TYPE_INVALID) for no prerequisite type.
1374
+ *
1375
+ * A convenience macro for #GTypeInterface definitions, which declares
1376
+ * a default vtable initialization function and defines a *_get_type()
1377
+ * function.
1378
+ *
1379
+ * The macro expects the interface initialization function to have the
1380
+ * name <literal>t_n ## _default_init</literal>, and the interface
1381
+ * structure to have the name <literal>TN ## Interface</literal>.
1382
+ *
1383
+ * Since: 2.24
1384
+ */
1385
+ #define G_DEFINE_INTERFACE(TN, t_n, T_P) G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, ;)
1386
+
1387
+ /**
1388
+ * G_DEFINE_INTERFACE_WITH_CODE:
1389
+ * @TN: The name of the new type, in Camel case.
1390
+ * @t_n: The name of the new type, in lowercase, with words separated by '_'.
1391
+ * @T_P: The #GType of the prerequisite type for the interface, or 0
1392
+ * (%G_TYPE_INVALID) for no prerequisite type.
1393
+ * @_C_: Custom code that gets inserted in the *_get_type() function.
1394
+ *
1395
+ * A convenience macro for #GTypeInterface definitions. Similar to
1396
+ * G_DEFINE_INTERFACE(), but allows you to insert custom code into the
1397
+ * *_get_type() function, e.g. additional interface implementations
1398
+ * via G_IMPLEMENT_INTERFACE(), or additional prerequisite types. See
1399
+ * G_DEFINE_TYPE_EXTENDED() for a similar example using
1400
+ * G_DEFINE_TYPE_WITH_CODE().
1401
+ *
1402
+ * Since: 2.24
1403
+ */
1404
+ #define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
1405
+
1406
+ /**
1407
+ * G_IMPLEMENT_INTERFACE:
1408
+ * @TYPE_IFACE: The #GType of the interface to add
1409
+ * @iface_init: The interface init function
1410
+ *
1411
+ * A convenience macro to ease interface addition in the @_C_ section
1412
+ * of G_DEFINE_TYPE_WITH_CODE() or G_DEFINE_ABSTRACT_TYPE_WITH_CODE().
1413
+ * See G_DEFINE_TYPE_EXTENDED() for an example.
1414
+ *
1415
+ * Note that this macro can only be used together with the G_DEFINE_TYPE_*
1416
+ * macros, since it depends on variable names from those macros.
1417
+ *
1418
+ * Since: 2.4
1419
+ */
1420
+ #define G_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init) { \
1421
+ const GInterfaceInfo g_implement_interface_info = { \
1422
+ (GInterfaceInitFunc) iface_init, NULL, NULL \
1423
+ }; \
1424
+ g_type_add_interface_static (g_define_type_id, TYPE_IFACE, &g_implement_interface_info); \
1425
+ }
1426
+
1427
+ #define _G_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) \
1428
+ \
1429
+ static void type_name##_init (TypeName *self); \
1430
+ static void type_name##_class_init (TypeName##Class *klass); \
1431
+ static gpointer type_name##_parent_class = NULL; \
1432
+ static void type_name##_class_intern_init (gpointer klass) \
1433
+ { \
1434
+ type_name##_parent_class = g_type_class_peek_parent (klass); \
1435
+ type_name##_class_init ((TypeName##Class*) klass); \
1436
+ } \
1437
+ \
1438
+ GType \
1439
+ type_name##_get_type (void) \
1440
+ { \
1441
+ static volatile gsize g_define_type_id__volatile = 0; \
1442
+ if (g_once_init_enter (&g_define_type_id__volatile)) \
1443
+ { \
1444
+ GType g_define_type_id = \
1445
+ g_type_register_static_simple (TYPE_PARENT, \
1446
+ g_intern_static_string (#TypeName), \
1447
+ sizeof (TypeName##Class), \
1448
+ (GClassInitFunc) type_name##_class_intern_init, \
1449
+ sizeof (TypeName), \
1450
+ (GInstanceInitFunc) type_name##_init, \
1451
+ (GTypeFlags) flags); \
1452
+ { /* custom code follows */
1453
+ #define _G_DEFINE_TYPE_EXTENDED_END() \
1454
+ /* following custom code */ \
1455
+ } \
1456
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
1457
+ } \
1458
+ return g_define_type_id__volatile; \
1459
+ } /* closes type_name##_get_type() */
1460
+
1461
+ #define _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PREREQ) \
1462
+ \
1463
+ static void type_name##_default_init (TypeName##Interface *klass); \
1464
+ \
1465
+ GType \
1466
+ type_name##_get_type (void) \
1467
+ { \
1468
+ static volatile gsize g_define_type_id__volatile = 0; \
1469
+ if (g_once_init_enter (&g_define_type_id__volatile)) \
1470
+ { \
1471
+ GType g_define_type_id = \
1472
+ g_type_register_static_simple (G_TYPE_INTERFACE, \
1473
+ g_intern_static_string (#TypeName), \
1474
+ sizeof (TypeName##Interface), \
1475
+ (GClassInitFunc)type_name##_default_init, \
1476
+ 0, \
1477
+ (GInstanceInitFunc)NULL, \
1478
+ (GTypeFlags) 0); \
1479
+ if (TYPE_PREREQ) \
1480
+ g_type_interface_add_prerequisite (g_define_type_id, TYPE_PREREQ); \
1481
+ { /* custom code follows */
1482
+ #define _G_DEFINE_INTERFACE_EXTENDED_END() \
1483
+ /* following custom code */ \
1484
+ } \
1485
+ g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
1486
+ } \
1487
+ return g_define_type_id__volatile; \
1488
+ } /* closes type_name##_get_type() */
1489
+
1490
+ /* --- protected (for fundamental type implementations) --- */
1491
+ GTypePlugin* g_type_get_plugin (GType type);
1492
+ GTypePlugin* g_type_interface_get_plugin (GType instance_type,
1493
+ GType interface_type);
1494
+ GType g_type_fundamental_next (void);
1495
+ GType g_type_fundamental (GType type_id);
1496
+ GTypeInstance* g_type_create_instance (GType type);
1497
+ void g_type_free_instance (GTypeInstance *instance);
1498
+
1499
+ void g_type_add_class_cache_func (gpointer cache_data,
1500
+ GTypeClassCacheFunc cache_func);
1501
+ void g_type_remove_class_cache_func (gpointer cache_data,
1502
+ GTypeClassCacheFunc cache_func);
1503
+ void g_type_class_unref_uncached (gpointer g_class);
1504
+
1505
+ void g_type_add_interface_check (gpointer check_data,
1506
+ GTypeInterfaceCheckFunc check_func);
1507
+ void g_type_remove_interface_check (gpointer check_data,
1508
+ GTypeInterfaceCheckFunc check_func);
1509
+
1510
+ GTypeValueTable* g_type_value_table_peek (GType type);
1511
+
1512
+
1513
+ /*< private >*/
1514
+ gboolean g_type_check_instance (GTypeInstance *instance) G_GNUC_PURE;
1515
+ GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance,
1516
+ GType iface_type);
1517
+ gboolean g_type_check_instance_is_a (GTypeInstance *instance,
1518
+ GType iface_type) G_GNUC_PURE;
1519
+ GTypeClass* g_type_check_class_cast (GTypeClass *g_class,
1520
+ GType is_a_type);
1521
+ gboolean g_type_check_class_is_a (GTypeClass *g_class,
1522
+ GType is_a_type) G_GNUC_PURE;
1523
+ gboolean g_type_check_is_value_type (GType type) G_GNUC_CONST;
1524
+ gboolean g_type_check_value (GValue *value) G_GNUC_PURE;
1525
+ gboolean g_type_check_value_holds (GValue *value,
1526
+ GType type) G_GNUC_PURE;
1527
+ gboolean g_type_test_flags (GType type,
1528
+ guint flags) G_GNUC_CONST;
1529
+
1530
+
1531
+ /* --- debugging functions --- */
1532
+ G_CONST_RETURN gchar* g_type_name_from_instance (GTypeInstance *instance);
1533
+ G_CONST_RETURN gchar* g_type_name_from_class (GTypeClass *g_class);
1534
+
1535
+
1536
+ /* --- internal functions --- */
1537
+ G_GNUC_INTERNAL void g_value_c_init (void); /* sync with gvalue.c */
1538
+ G_GNUC_INTERNAL void g_value_types_init (void); /* sync with gvaluetypes.c */
1539
+ G_GNUC_INTERNAL void g_enum_types_init (void); /* sync with genums.c */
1540
+ G_GNUC_INTERNAL void g_param_type_init (void); /* sync with gparam.c */
1541
+ G_GNUC_INTERNAL void g_boxed_type_init (void); /* sync with gboxed.c */
1542
+ G_GNUC_INTERNAL void g_object_type_init (void); /* sync with gobject.c */
1543
+ G_GNUC_INTERNAL void g_param_spec_types_init (void); /* sync with gparamspecs.c */
1544
+ G_GNUC_INTERNAL void g_value_transforms_init (void); /* sync with gvaluetransform.c */
1545
+ G_GNUC_INTERNAL void g_signal_init (void); /* sync with gsignal.c */
1546
+
1547
+
1548
+ /* --- implementation bits --- */
1549
+ #ifndef G_DISABLE_CAST_CHECKS
1550
+ # define _G_TYPE_CIC(ip, gt, ct) \
1551
+ ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
1552
+ # define _G_TYPE_CCC(cp, gt, ct) \
1553
+ ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt))
1554
+ #else /* G_DISABLE_CAST_CHECKS */
1555
+ # define _G_TYPE_CIC(ip, gt, ct) ((ct*) ip)
1556
+ # define _G_TYPE_CCC(cp, gt, ct) ((ct*) cp)
1557
+ #endif /* G_DISABLE_CAST_CHECKS */
1558
+ #define _G_TYPE_CHI(ip) (g_type_check_instance ((GTypeInstance*) ip))
1559
+ #define _G_TYPE_CHV(vl) (g_type_check_value ((GValue*) vl))
1560
+ #define _G_TYPE_IGC(ip, gt, ct) ((ct*) (((GTypeInstance*) ip)->g_class))
1561
+ #define _G_TYPE_IGI(ip, gt, ct) ((ct*) g_type_interface_peek (((GTypeInstance*) ip)->g_class, gt))
1562
+ #ifdef __GNUC__
1563
+ # define _G_TYPE_CIT(ip, gt) (G_GNUC_EXTENSION ({ \
1564
+ GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
1565
+ if (!__inst) \
1566
+ __r = FALSE; \
1567
+ else if (__inst->g_class && __inst->g_class->g_type == __t) \
1568
+ __r = TRUE; \
1569
+ else \
1570
+ __r = g_type_check_instance_is_a (__inst, __t); \
1571
+ __r; \
1572
+ }))
1573
+ # define _G_TYPE_CCT(cp, gt) (G_GNUC_EXTENSION ({ \
1574
+ GTypeClass *__class = (GTypeClass*) cp; GType __t = gt; gboolean __r; \
1575
+ if (!__class) \
1576
+ __r = FALSE; \
1577
+ else if (__class->g_type == __t) \
1578
+ __r = TRUE; \
1579
+ else \
1580
+ __r = g_type_check_class_is_a (__class, __t); \
1581
+ __r; \
1582
+ }))
1583
+ # define _G_TYPE_CVH(vl, gt) (G_GNUC_EXTENSION ({ \
1584
+ GValue *__val = (GValue*) vl; GType __t = gt; gboolean __r; \
1585
+ if (!__val) \
1586
+ __r = FALSE; \
1587
+ else if (__val->g_type == __t) \
1588
+ __r = TRUE; \
1589
+ else \
1590
+ __r = g_type_check_value_holds (__val, __t); \
1591
+ __r; \
1592
+ }))
1593
+ #else /* !__GNUC__ */
1594
+ # define _G_TYPE_CIT(ip, gt) (g_type_check_instance_is_a ((GTypeInstance*) ip, gt))
1595
+ # define _G_TYPE_CCT(cp, gt) (g_type_check_class_is_a ((GTypeClass*) cp, gt))
1596
+ # define _G_TYPE_CVH(vl, gt) (g_type_check_value_holds ((GValue*) vl, gt))
1597
+ #endif /* !__GNUC__ */
1598
+ /**
1599
+ * G_TYPE_FLAG_RESERVED_ID_BIT:
1600
+ *
1601
+ * A bit in the type number that's supposed to be left untouched.
1602
+ */
1603
+ #define G_TYPE_FLAG_RESERVED_ID_BIT ((GType) (1 << 0))
1604
+ extern GTypeDebugFlags _g_type_debug_flags;
1605
+
1606
+ G_END_DECLS
1607
+
1608
+ #endif /* __G_TYPE_H__ */