gobject-introspection 2.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. data/Rakefile +118 -0
  2. data/ext/gobject-introspection/depend +10 -0
  3. data/ext/gobject-introspection/extconf.rb +97 -0
  4. data/ext/gobject-introspection/gobject_introspection.def +5 -0
  5. data/ext/gobject-introspection/rb-gi-arg-info.c +151 -0
  6. data/ext/gobject-introspection/rb-gi-argument.c +1015 -0
  7. data/ext/gobject-introspection/rb-gi-base-info.c +218 -0
  8. data/ext/gobject-introspection/rb-gi-boxed-info.c +48 -0
  9. data/ext/gobject-introspection/rb-gi-callable-info.c +104 -0
  10. data/ext/gobject-introspection/rb-gi-callback-info.c +48 -0
  11. data/ext/gobject-introspection/rb-gi-constant-info.c +77 -0
  12. data/ext/gobject-introspection/rb-gi-constructor-info.c +120 -0
  13. data/ext/gobject-introspection/rb-gi-conversions.h +116 -0
  14. data/ext/gobject-introspection/rb-gi-enum-info.c +145 -0
  15. data/ext/gobject-introspection/rb-gi-field-info.c +153 -0
  16. data/ext/gobject-introspection/rb-gi-flags-info.c +48 -0
  17. data/ext/gobject-introspection/rb-gi-function-info.c +658 -0
  18. data/ext/gobject-introspection/rb-gi-interface-info.c +222 -0
  19. data/ext/gobject-introspection/rb-gi-loader.c +162 -0
  20. data/ext/gobject-introspection/rb-gi-method-info.c +109 -0
  21. data/ext/gobject-introspection/rb-gi-object-info.c +345 -0
  22. data/ext/gobject-introspection/rb-gi-private.h +110 -0
  23. data/ext/gobject-introspection/rb-gi-property-info.c +77 -0
  24. data/ext/gobject-introspection/rb-gi-registered-type-info.c +86 -0
  25. data/ext/gobject-introspection/rb-gi-repository.c +164 -0
  26. data/ext/gobject-introspection/rb-gi-signal-info.c +77 -0
  27. data/ext/gobject-introspection/rb-gi-struct-info.c +190 -0
  28. data/ext/gobject-introspection/rb-gi-type-info.c +143 -0
  29. data/ext/gobject-introspection/rb-gi-type-tag.c +43 -0
  30. data/ext/gobject-introspection/rb-gi-types.h +71 -0
  31. data/ext/gobject-introspection/rb-gi-union-info.c +206 -0
  32. data/ext/gobject-introspection/rb-gi-unresolved-info.c +48 -0
  33. data/ext/gobject-introspection/rb-gi-value-info.c +57 -0
  34. data/ext/gobject-introspection/rb-gi-vfunc-info.c +91 -0
  35. data/ext/gobject-introspection/rb-gobject-introspection.c +44 -0
  36. data/ext/gobject-introspection/rb-gobject-introspection.h +57 -0
  37. data/extconf.rb +71 -0
  38. data/lib/1.9/gobject_introspection.so +0 -0
  39. data/lib/2.0/gobject_introspection.so +0 -0
  40. data/lib/gobject-introspection.rb +52 -0
  41. data/lib/gobject-introspection/callable-info.rb +91 -0
  42. data/lib/gobject-introspection/collection-reader.rb +34 -0
  43. data/lib/gobject-introspection/interface-info.rb +32 -0
  44. data/lib/gobject-introspection/loader.rb +328 -0
  45. data/lib/gobject-introspection/object-info.rb +33 -0
  46. data/lib/gobject-introspection/repository.rb +32 -0
  47. data/lib/gobject-introspection/struct-info.rb +28 -0
  48. data/lib/gobject-introspection/union-info.rb +28 -0
  49. data/test/gobject-introspection-test-utils.rb +26 -0
  50. data/test/run-test.rb +45 -0
  51. data/test/test-arg-info.rb +68 -0
  52. data/test/test-base-info.rb +31 -0
  53. data/test/test-boxed-info.rb +21 -0
  54. data/test/test-callable-info.rb +49 -0
  55. data/test/test-callback-info.rb +29 -0
  56. data/test/test-constant-info.rb +24 -0
  57. data/test/test-enum-info.rb +56 -0
  58. data/test/test-field-type.rb +42 -0
  59. data/test/test-flags-info.rb +27 -0
  60. data/test/test-function-info.rb +37 -0
  61. data/test/test-interface-info.rb +97 -0
  62. data/test/test-loader.rb +30 -0
  63. data/test/test-object-info.rb +131 -0
  64. data/test/test-property-info.rb +38 -0
  65. data/test/test-registered-type-info.rb +35 -0
  66. data/test/test-repository.rb +59 -0
  67. data/test/test-signal-info.rb +37 -0
  68. data/test/test-struct-info.rb +57 -0
  69. data/test/test-type-info.rb +62 -0
  70. data/test/test-type-tag.rb +29 -0
  71. data/test/test-union-info.rb +21 -0
  72. data/test/test-value-info.rb +28 -0
  73. data/test/test-vfunc-info.rb +42 -0
  74. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  75. data/vendor/local/bin/g-ir-generate.exe +0 -0
  76. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  77. data/vendor/local/include/gobject-introspection-1.0/giarginfo.h +52 -0
  78. data/vendor/local/include/gobject-introspection-1.0/gibaseinfo.h +89 -0
  79. data/vendor/local/include/gobject-introspection-1.0/gicallableinfo.h +74 -0
  80. data/vendor/local/include/gobject-introspection-1.0/giconstantinfo.h +46 -0
  81. data/vendor/local/include/gobject-introspection-1.0/gienuminfo.h +56 -0
  82. data/vendor/local/include/gobject-introspection-1.0/gifieldinfo.h +52 -0
  83. data/vendor/local/include/gobject-introspection-1.0/gifunctioninfo.h +77 -0
  84. data/vendor/local/include/gobject-introspection-1.0/giinterfaceinfo.h +68 -0
  85. data/vendor/local/include/gobject-introspection-1.0/giobjectinfo.h +137 -0
  86. data/vendor/local/include/gobject-introspection-1.0/gipropertyinfo.h +44 -0
  87. data/vendor/local/include/gobject-introspection-1.0/giregisteredtypeinfo.h +53 -0
  88. data/vendor/local/include/gobject-introspection-1.0/girepository.h +179 -0
  89. data/vendor/local/include/gobject-introspection-1.0/girffi.h +80 -0
  90. data/vendor/local/include/gobject-introspection-1.0/gisignalinfo.h +45 -0
  91. data/vendor/local/include/gobject-introspection-1.0/gistructinfo.h +53 -0
  92. data/vendor/local/include/gobject-introspection-1.0/gitypeinfo.h +56 -0
  93. data/vendor/local/include/gobject-introspection-1.0/gitypelib.h +55 -0
  94. data/vendor/local/include/gobject-introspection-1.0/gitypes.h +453 -0
  95. data/vendor/local/include/gobject-introspection-1.0/giunioninfo.h +57 -0
  96. data/vendor/local/include/gobject-introspection-1.0/givfuncinfo.h +56 -0
  97. data/vendor/local/lib/girepository-1.0/DBus-1.0.typelib +0 -0
  98. data/vendor/local/lib/girepository-1.0/DBusGLib-1.0.typelib +0 -0
  99. data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
  100. data/vendor/local/lib/girepository-1.0/GL-1.0.typelib +0 -0
  101. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  102. data/vendor/local/lib/girepository-1.0/GModule-2.0.typelib +0 -0
  103. data/vendor/local/lib/girepository-1.0/GObject-2.0.typelib +0 -0
  104. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  105. data/vendor/local/lib/girepository-1.0/cairo-1.0.typelib +0 -0
  106. data/vendor/local/lib/girepository-1.0/fontconfig-2.0.typelib +0 -0
  107. data/vendor/local/lib/girepository-1.0/freetype2-2.0.typelib +0 -0
  108. data/vendor/local/lib/girepository-1.0/libxml2-2.0.typelib +0 -0
  109. data/vendor/local/lib/girepository-1.0/xfixes-4.0.typelib +0 -0
  110. data/vendor/local/lib/girepository-1.0/xft-2.0.typelib +0 -0
  111. data/vendor/local/lib/girepository-1.0/xlib-2.0.typelib +0 -0
  112. data/vendor/local/lib/girepository-1.0/xrandr-1.3.typelib +0 -0
  113. data/vendor/local/lib/gobject-introspection/giscanner/__init__.py +24 -0
  114. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  115. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  116. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.py +74 -0
  117. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  118. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  119. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.py +1204 -0
  120. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  121. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  122. data/vendor/local/lib/gobject-introspection/giscanner/ast.py +1100 -0
  123. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  124. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  125. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.py +196 -0
  126. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  127. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  128. data/vendor/local/lib/gobject-introspection/giscanner/codegen.py +140 -0
  129. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  130. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  131. data/vendor/local/lib/gobject-introspection/giscanner/docmain.py +60 -0
  132. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  133. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  134. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/class.tmpl +2 -0
  135. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/constructor.tmpl +1 -0
  136. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/default.tmpl +1 -0
  137. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/enum.tmpl +2 -0
  138. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/function.tmpl +61 -0
  139. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/method.tmpl +1 -0
  140. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/namespace.tmpl +1 -0
  141. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/property.tmpl +5 -0
  142. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/record.tmpl +1 -0
  143. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/signal.tmpl +5 -0
  144. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/C/vfunc.tmpl +4 -0
  145. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/class.tmpl +18 -0
  146. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/constructor.tmpl +1 -0
  147. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/default.tmpl +1 -0
  148. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/enum.tmpl +13 -0
  149. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/function.tmpl +48 -0
  150. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/method.tmpl +1 -0
  151. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/namespace.tmpl +2 -0
  152. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/property.tmpl +10 -0
  153. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/record.tmpl +2 -0
  154. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/signal.tmpl +37 -0
  155. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Gjs/vfunc.tmpl +27 -0
  156. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/class.tmpl +17 -0
  157. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/constructor.tmpl +1 -0
  158. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/default.tmpl +1 -0
  159. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/enum.tmpl +13 -0
  160. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/function.tmpl +53 -0
  161. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/method.tmpl +1 -0
  162. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/namespace.tmpl +2 -0
  163. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/property.tmpl +10 -0
  164. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/record.tmpl +2 -0
  165. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/signal.tmpl +42 -0
  166. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/Python/vfunc.tmpl +33 -0
  167. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/base.tmpl +29 -0
  168. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/class.tmpl +40 -0
  169. data/vendor/local/lib/gobject-introspection/giscanner/doctemplates/namespace.tmpl +19 -0
  170. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.py +635 -0
  171. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  172. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  173. data/vendor/local/lib/gobject-introspection/giscanner/dumper.py +363 -0
  174. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  175. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  176. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.py +551 -0
  177. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  178. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  179. data/vendor/local/lib/gobject-introspection/giscanner/girparser.py +581 -0
  180. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  181. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  182. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.py +584 -0
  183. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  184. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  185. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.py +236 -0
  186. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  187. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  188. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.py +76 -0
  189. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  190. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  191. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.py +1337 -0
  192. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  193. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  194. data/vendor/local/lib/gobject-introspection/giscanner/message.py +185 -0
  195. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  196. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  197. data/vendor/local/lib/gobject-introspection/giscanner/odict.py +50 -0
  198. data/vendor/local/lib/gobject-introspection/giscanner/odict.pyc +0 -0
  199. data/vendor/local/lib/gobject-introspection/giscanner/odict.pyo +0 -0
  200. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.py +497 -0
  201. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  202. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  203. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.py +78 -0
  204. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  205. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  206. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.py +132 -0
  207. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  208. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  209. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.py +324 -0
  210. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  211. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  212. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.py +119 -0
  213. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  214. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  215. data/vendor/local/lib/gobject-introspection/giscanner/transformer.py +999 -0
  216. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  217. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  218. data/vendor/local/lib/gobject-introspection/giscanner/utils.py +141 -0
  219. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  220. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  221. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.py +197 -0
  222. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  223. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  224. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  225. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  226. data/vendor/local/lib/libgirepository-1.0.la +41 -0
  227. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +26 -0
  228. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +23 -0
  229. data/vendor/local/share/aclocal/introspection.m4 +96 -0
  230. data/vendor/local/share/gir-1.0/DBus-1.0.gir +32 -0
  231. data/vendor/local/share/gir-1.0/DBusGLib-1.0.gir +18 -0
  232. data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +3833 -0
  233. data/vendor/local/share/gir-1.0/GL-1.0.gir +31 -0
  234. data/vendor/local/share/gir-1.0/GLib-2.0.gir +44304 -0
  235. data/vendor/local/share/gir-1.0/GModule-2.0.gir +184 -0
  236. data/vendor/local/share/gir-1.0/GObject-2.0.gir +13947 -0
  237. data/vendor/local/share/gir-1.0/Gio-2.0.gir +73619 -0
  238. data/vendor/local/share/gir-1.0/cairo-1.0.gir +70 -0
  239. data/vendor/local/share/gir-1.0/fontconfig-2.0.gir +18 -0
  240. data/vendor/local/share/gir-1.0/freetype2-2.0.gir +22 -0
  241. data/vendor/local/share/gir-1.0/libxml2-2.0.gir +25 -0
  242. data/vendor/local/share/gir-1.0/xfixes-4.0.gir +10 -0
  243. data/vendor/local/share/gir-1.0/xft-2.0.gir +23 -0
  244. data/vendor/local/share/gir-1.0/xlib-2.0.gir +67 -0
  245. data/vendor/local/share/gir-1.0/xrandr-1.3.gir +16 -0
  246. data/vendor/local/share/gobject-introspection-1.0/Makefile.introspection +166 -0
  247. data/vendor/local/share/gobject-introspection-1.0/gdump.c +564 -0
  248. data/vendor/local/share/gobject-introspection-1.0/tests/annotation.c +835 -0
  249. data/vendor/local/share/gobject-introspection-1.0/tests/annotation.h +198 -0
  250. data/vendor/local/share/gobject-introspection-1.0/tests/drawable.c +55 -0
  251. data/vendor/local/share/gobject-introspection-1.0/tests/drawable.h +33 -0
  252. data/vendor/local/share/gobject-introspection-1.0/tests/everything.c +1473 -0
  253. data/vendor/local/share/gobject-introspection-1.0/tests/everything.h +428 -0
  254. data/vendor/local/share/gobject-introspection-1.0/tests/foo.c +790 -0
  255. data/vendor/local/share/gobject-introspection-1.0/tests/foo.h +437 -0
  256. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.c +5256 -0
  257. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.h +1158 -0
  258. data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +4009 -0
  259. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +944 -0
  260. data/vendor/local/share/gobject-introspection-1.0/tests/utility.c +45 -0
  261. data/vendor/local/share/gobject-introspection-1.0/tests/utility.h +95 -0
  262. data/vendor/local/share/gobject-introspection-1.0/tests/warnlib.c +33 -0
  263. data/vendor/local/share/gobject-introspection-1.0/tests/warnlib.h +36 -0
  264. data/vendor/local/share/license/gobject-introspection/AUTHORS +9 -0
  265. data/vendor/local/share/license/gobject-introspection/COPYING +12 -0
  266. data/vendor/local/share/man/man1/g-ir-compiler.1 +51 -0
  267. data/vendor/local/share/man/man1/g-ir-generate.1 +29 -0
  268. metadata +343 -0
@@ -0,0 +1,345 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2012 Ruby-GNOME2 Project Team
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #include "rb-gi-private.h"
22
+
23
+ #define RG_TARGET_NAMESPACE rb_cGIObjectInfo
24
+ #define SELF(self) (RVAL2GI_OBJECT_INFO(self))
25
+
26
+ GType
27
+ gi_object_info_get_type(void)
28
+ {
29
+ static GType type = 0;
30
+ if (type == 0) {
31
+ type = g_boxed_type_register_static("GIObjectInfo",
32
+ (GBoxedCopyFunc)g_base_info_ref,
33
+ (GBoxedFreeFunc)g_base_info_unref);
34
+ }
35
+ return type;
36
+ }
37
+
38
+ static VALUE
39
+ rg_type_name(VALUE self)
40
+ {
41
+ GIObjectInfo *info;
42
+
43
+ info = SELF(self);
44
+ return CSTR2RVAL(g_object_info_get_type_name(info));
45
+ }
46
+
47
+ static VALUE
48
+ rg_type_init(VALUE self)
49
+ {
50
+ GIObjectInfo *info;
51
+
52
+ info = SELF(self);
53
+ return CSTR2RVAL(g_object_info_get_type_init(info));
54
+ }
55
+
56
+ static VALUE
57
+ rg_abstract_p(VALUE self)
58
+ {
59
+ GIObjectInfo *info;
60
+
61
+ info = SELF(self);
62
+ return CBOOL2RVAL(g_object_info_get_abstract(info));
63
+ }
64
+
65
+ static VALUE
66
+ rg_fundamental_p(VALUE self)
67
+ {
68
+ GIObjectInfo *info;
69
+
70
+ info = SELF(self);
71
+ return CBOOL2RVAL(g_object_info_get_fundamental(info));
72
+ }
73
+
74
+ static VALUE
75
+ rg_parent(VALUE self)
76
+ {
77
+ GIObjectInfo *info;
78
+
79
+ info = SELF(self);
80
+ return GI_BASE_INFO2RVAL_WITH_UNREF(g_object_info_get_parent(info));
81
+ }
82
+
83
+ static VALUE
84
+ rg_n_interfaces(VALUE self)
85
+ {
86
+ GIObjectInfo *info;
87
+
88
+ info = SELF(self);
89
+ return INT2NUM(g_object_info_get_n_interfaces(info));
90
+ }
91
+
92
+ static VALUE
93
+ rg_get_interface(VALUE self, VALUE rb_n)
94
+ {
95
+ GIObjectInfo *info;
96
+ gint n;
97
+
98
+ info = SELF(self);
99
+ n = NUM2INT(rb_n);
100
+ return GI_BASE_INFO2RVAL_WITH_UNREF(g_object_info_get_interface(info, n));
101
+ }
102
+
103
+ static VALUE
104
+ rg_n_fields(VALUE self)
105
+ {
106
+ GIObjectInfo *info;
107
+
108
+ info = SELF(self);
109
+ return INT2NUM(g_object_info_get_n_fields(info));
110
+ }
111
+
112
+ static VALUE
113
+ rg_get_field(VALUE self, VALUE rb_n)
114
+ {
115
+ GIObjectInfo *info;
116
+ gint n;
117
+
118
+ info = SELF(self);
119
+ n = NUM2INT(rb_n);
120
+ return GI_BASE_INFO2RVAL_WITH_UNREF(g_object_info_get_field(info, n));
121
+ }
122
+
123
+ static VALUE
124
+ rg_get_field_value(VALUE self, VALUE rb_object, VALUE rb_n)
125
+ {
126
+ GIObjectInfo *info;
127
+ gint n;
128
+ GIFieldInfo *field_info;
129
+ VALUE rb_value;
130
+
131
+ info = SELF(self);
132
+ n = NUM2INT(rb_n);
133
+ field_info = g_object_info_get_field(info, n);
134
+ rb_value = rb_gi_field_info_get_field_raw(field_info, RVAL2GOBJ(rb_object));
135
+ g_base_info_unref(field_info);
136
+
137
+ return rb_value;
138
+ }
139
+
140
+ static VALUE
141
+ rg_set_field_value(VALUE self, VALUE rb_object, VALUE rb_n, VALUE rb_value)
142
+ {
143
+ GIObjectInfo *info;
144
+ gint n;
145
+ GIFieldInfo *field_info;
146
+
147
+ info = SELF(self);
148
+ n = NUM2INT(rb_n);
149
+ field_info = g_object_info_get_field(info, n);
150
+ rb_gi_field_info_set_field_raw(field_info, RVAL2GOBJ(rb_object), rb_value);
151
+ /* TODO: use rb_ensure() to unref field_info. */
152
+ g_base_info_unref(field_info);
153
+
154
+ return Qnil;
155
+ }
156
+
157
+ static VALUE
158
+ rg_n_properties(VALUE self)
159
+ {
160
+ GIObjectInfo *info;
161
+
162
+ info = SELF(self);
163
+ return INT2NUM(g_object_info_get_n_properties(info));
164
+ }
165
+
166
+ static VALUE
167
+ rg_get_property(VALUE self, VALUE rb_n)
168
+ {
169
+ GIObjectInfo *info;
170
+ gint n;
171
+
172
+ info = SELF(self);
173
+ n = NUM2INT(rb_n);
174
+ return GI_BASE_INFO2RVAL_WITH_UNREF(g_object_info_get_property(info, n));
175
+ }
176
+
177
+ static VALUE
178
+ rg_n_methods(VALUE self)
179
+ {
180
+ GIObjectInfo *info;
181
+
182
+ info = SELF(self);
183
+ return INT2NUM(g_object_info_get_n_methods(info));
184
+ }
185
+
186
+ static VALUE
187
+ rg_get_method(VALUE self, VALUE rb_n_or_name)
188
+ {
189
+ GIObjectInfo *info;
190
+ GIFunctionInfo *function_info;
191
+
192
+ info = SELF(self);
193
+ if (RB_TYPE_P(rb_n_or_name, T_FIXNUM)) {
194
+ gint n;
195
+ n = NUM2INT(rb_n_or_name);
196
+ function_info = g_object_info_get_method(info, n);
197
+ } else {
198
+ const gchar *name;
199
+ name = RVAL2CSTR(rb_n_or_name);
200
+ function_info = g_object_info_find_method(info, name);
201
+ }
202
+
203
+ return GI_BASE_INFO2RVAL_WITH_UNREF(function_info);
204
+ }
205
+
206
+ static VALUE
207
+ rg_n_signals(VALUE self)
208
+ {
209
+ GIObjectInfo *info;
210
+
211
+ info = SELF(self);
212
+ return INT2NUM(g_object_info_get_n_signals(info));
213
+ }
214
+
215
+ static VALUE
216
+ rg_get_signal(VALUE self, VALUE rb_n)
217
+ {
218
+ GIObjectInfo *info;
219
+ gint n;
220
+
221
+ info = SELF(self);
222
+ n = NUM2INT(rb_n);
223
+ return GI_BASE_INFO2RVAL_WITH_UNREF(g_object_info_get_signal(info, n));
224
+ }
225
+
226
+ static VALUE
227
+ rg_n_vfuncs(VALUE self)
228
+ {
229
+ GIObjectInfo *info;
230
+
231
+ info = SELF(self);
232
+ return INT2NUM(g_object_info_get_n_vfuncs(info));
233
+ }
234
+
235
+ static VALUE
236
+ rg_get_vfunc(VALUE self, VALUE rb_n_or_name)
237
+ {
238
+ GIObjectInfo *info;
239
+ GIVFuncInfo *vfunc_info;
240
+
241
+ info = SELF(self);
242
+ if (RB_TYPE_P(rb_n_or_name, T_FIXNUM)) {
243
+ gint n;
244
+ n = NUM2INT(rb_n_or_name);
245
+ vfunc_info = g_object_info_get_vfunc(info, n);
246
+ } else {
247
+ const gchar *name;
248
+ name = RVAL2CSTR(rb_n_or_name);
249
+ vfunc_info = g_object_info_find_vfunc(info, name);
250
+ }
251
+
252
+ return GI_BASE_INFO2RVAL_WITH_UNREF(vfunc_info);
253
+ }
254
+
255
+ static VALUE
256
+ rg_n_constants(VALUE self)
257
+ {
258
+ GIObjectInfo *info;
259
+
260
+ info = SELF(self);
261
+ return INT2NUM(g_object_info_get_n_constants(info));
262
+ }
263
+
264
+ static VALUE
265
+ rg_get_constant(VALUE self, VALUE rb_n)
266
+ {
267
+ GIObjectInfo *info;
268
+ gint n;
269
+
270
+ info = SELF(self);
271
+ n = NUM2INT(rb_n);
272
+ return GI_BASE_INFO2RVAL_WITH_UNREF(g_object_info_get_constant(info, n));
273
+ }
274
+
275
+ static VALUE
276
+ rg_unref_function(VALUE self)
277
+ {
278
+ GIObjectInfo *info;
279
+
280
+ info = SELF(self);
281
+ return CSTR2RVAL(g_object_info_get_unref_function(info));
282
+ }
283
+
284
+ static VALUE
285
+ rg_ref_function(VALUE self)
286
+ {
287
+ GIObjectInfo *info;
288
+
289
+ info = SELF(self);
290
+ return CSTR2RVAL(g_object_info_get_ref_function(info));
291
+ }
292
+
293
+ static VALUE
294
+ rg_set_value_function(VALUE self)
295
+ {
296
+ GIObjectInfo *info;
297
+
298
+ info = SELF(self);
299
+ return CSTR2RVAL(g_object_info_get_set_value_function(info));
300
+ }
301
+
302
+ static VALUE
303
+ rg_get_value_function(VALUE self)
304
+ {
305
+ GIObjectInfo *info;
306
+
307
+ info = SELF(self);
308
+ return CSTR2RVAL(g_object_info_get_get_value_function(info));
309
+ }
310
+
311
+ void
312
+ rb_gi_object_info_init(VALUE rb_mGI, VALUE rb_cGIRegisteredTypeInfo)
313
+ {
314
+ VALUE RG_TARGET_NAMESPACE;
315
+
316
+ RG_TARGET_NAMESPACE =
317
+ G_DEF_CLASS_WITH_PARENT(GI_TYPE_OBJECT_INFO, "ObjectInfo", rb_mGI,
318
+ rb_cGIRegisteredTypeInfo);
319
+
320
+ RG_DEF_METHOD(type_name, 0);
321
+ RG_DEF_METHOD(type_init, 0);
322
+ RG_DEF_METHOD_P(abstract, 0);
323
+ RG_DEF_METHOD_P(fundamental, 0);
324
+ RG_DEF_METHOD(parent, 0);
325
+ RG_DEF_METHOD(n_interfaces, 0);
326
+ RG_DEF_METHOD(get_interface, 1);
327
+ RG_DEF_METHOD(n_fields, 0);
328
+ RG_DEF_METHOD(get_field, 1);
329
+ RG_DEF_METHOD(get_field_value, 2);
330
+ RG_DEF_METHOD(set_field_value, 3);
331
+ RG_DEF_METHOD(n_properties, 0);
332
+ RG_DEF_METHOD(get_property, 1);
333
+ RG_DEF_METHOD(n_methods, 0);
334
+ RG_DEF_METHOD(get_method, 1);
335
+ RG_DEF_METHOD(n_signals, 0);
336
+ RG_DEF_METHOD(get_signal, 1);
337
+ RG_DEF_METHOD(n_vfuncs, 0);
338
+ RG_DEF_METHOD(get_vfunc, 1);
339
+ RG_DEF_METHOD(n_constants, 0);
340
+ RG_DEF_METHOD(get_constant, 1);
341
+ RG_DEF_METHOD(unref_function, 0);
342
+ RG_DEF_METHOD(ref_function, 0);
343
+ RG_DEF_METHOD(set_value_function, 0);
344
+ RG_DEF_METHOD(get_value_function, 0);
345
+ }
@@ -0,0 +1,110 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2012-2013 Ruby-GNOME2 Project Team
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #ifndef RB_GI_PRIVATE_H
22
+ #define RB_GI_PRIVATE_H
23
+
24
+ #include <ruby.h>
25
+ #include <rbgobject.h>
26
+ #include <glib-enum-types.h>
27
+
28
+ #include <girffi.h>
29
+ #include "gobject-introspection-enum-types.h"
30
+
31
+ #include "rbgiversion.h"
32
+
33
+ #include "rb-gi-types.h"
34
+ #include "rb-gi-conversions.h"
35
+
36
+ #include "rb-gobject-introspection.h"
37
+
38
+ #ifndef RB_TYPE_P
39
+ # define RB_TYPE_P(object, type) (TYPE(object) == type)
40
+ #endif
41
+
42
+ #ifndef HAVE_TYPE_ENUM_RUBY_VALUE_TYPE
43
+ # define RUBY_T_FIXNUM T_FIXNUM
44
+ #endif
45
+
46
+ extern void Init_gobject_introspection(void);
47
+
48
+ void rb_gi_argument_init (void);
49
+
50
+ void rb_gi_type_tag_init (VALUE rb_mGI);
51
+ void rb_gi_base_info_init (VALUE rb_mGI);
52
+ void rb_gi_callable_info_init (VALUE rb_mGI,
53
+ VALUE rb_cGIBaseInfo);
54
+ void rb_gi_function_info_init (VALUE rb_mGI,
55
+ VALUE rb_cGICallableInfo);
56
+ void rb_gi_method_info_init (VALUE rb_mGI,
57
+ VALUE rb_cGIFunctionInfo);
58
+ void rb_gi_constructor_info_init (VALUE rb_mGI,
59
+ VALUE rb_cGIFunctionInfo);
60
+ void rb_gi_callback_info_init (VALUE rb_mGI,
61
+ VALUE rb_cGICallableInfo);
62
+ void rb_gi_registered_type_info_init (VALUE rb_mGI,
63
+ VALUE rb_cGIBaseInfo);
64
+ void rb_gi_struct_info_init (VALUE rb_mGI,
65
+ VALUE rb_cGIRegisteredTypeInfo);
66
+ void rb_gi_boxed_info_init (VALUE rb_mGI,
67
+ VALUE rb_cGIRegisteredTypeInfo);
68
+ void rb_gi_enum_info_init (VALUE rb_mGI,
69
+ VALUE rb_cGIRegisteredTypeInfo);
70
+ void rb_gi_flags_info_init (VALUE rb_mGI,
71
+ VALUE rb_cGIEnumInfo);
72
+ void rb_gi_object_info_init (VALUE rb_mGI,
73
+ VALUE rb_cGIRegisteredTypeInfo);
74
+ void rb_gi_interface_info_init (VALUE rb_mGI,
75
+ VALUE rb_cGIRegisteredTypeInfo);
76
+ void rb_gi_constant_info_init (VALUE rb_mGI,
77
+ VALUE rb_cGIBaseInfo);
78
+ void rb_gi_union_info_init (VALUE rb_mGI,
79
+ VALUE rb_cGIRegisteredTypeInfo);
80
+ void rb_gi_value_info_init (VALUE rb_mGI,
81
+ VALUE rb_cGIBaseInfo);
82
+ void rb_gi_signal_info_init (VALUE rb_mGI,
83
+ VALUE rb_cGICallableInfo);
84
+ void rb_gi_vfunc_info_init (VALUE rb_mGI,
85
+ VALUE rb_cGICallableInfo);
86
+ void rb_gi_property_info_init (VALUE rb_mGI,
87
+ VALUE rb_cGIBaseInfo);
88
+ void rb_gi_field_info_init (VALUE rb_mGI,
89
+ VALUE rb_cGIBaseInfo);
90
+ void rb_gi_arg_info_init (VALUE rb_mGI,
91
+ VALUE rb_cGIBaseInfo);
92
+ void rb_gi_type_info_init (VALUE rb_mGI,
93
+ VALUE rb_cGIBaseInfo);
94
+ void rb_gi_unresolved_info_init (VALUE rb_mGI,
95
+ VALUE rb_cGIBaseInfo);
96
+ void rb_gi_repository_init (VALUE rb_mGI);
97
+ void rb_gi_loader_init (VALUE rb_mGI);
98
+
99
+ VALUE rb_gi_function_info_invoke_raw (GIFunctionInfo *info,
100
+ GIArgument *receiver,
101
+ int argc, VALUE *argv,
102
+ GIArgument *return_value);
103
+
104
+ VALUE rb_gi_field_info_get_field_raw (GIFieldInfo *info,
105
+ gpointer memory);
106
+ void rb_gi_field_info_set_field_raw (GIFieldInfo *info,
107
+ gpointer memory,
108
+ VALUE rb_field_value);
109
+
110
+ #endif