gio2 0.90.3-x86-mingw32

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