glib2 0.90.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (875) hide show
  1. data/ChangeLog +3115 -0
  2. data/README +40 -0
  3. data/Rakefile +69 -0
  4. data/ext/glib2/depend +10 -0
  5. data/ext/glib2/extconf.rb +61 -0
  6. data/ext/glib2/glib2.def +89 -0
  7. data/ext/glib2/rbgcompat.h +30 -0
  8. data/ext/glib2/rbglib.c +330 -0
  9. data/ext/glib2/rbglib.h +96 -0
  10. data/ext/glib2/rbglib_bookmarkfile.c +595 -0
  11. data/ext/glib2/rbglib_completion.c +192 -0
  12. data/ext/glib2/rbglib_convert.c +195 -0
  13. data/ext/glib2/rbglib_error.c +95 -0
  14. data/ext/glib2/rbglib_fileutils.c +83 -0
  15. data/ext/glib2/rbglib_i18n.c +44 -0
  16. data/ext/glib2/rbglib_int64.c +157 -0
  17. data/ext/glib2/rbglib_iochannel.c +883 -0
  18. data/ext/glib2/rbglib_keyfile.c +846 -0
  19. data/ext/glib2/rbglib_maincontext.c +915 -0
  20. data/ext/glib2/rbglib_mainloop.c +87 -0
  21. data/ext/glib2/rbglib_messages.c +150 -0
  22. data/ext/glib2/rbglib_pollfd.c +111 -0
  23. data/ext/glib2/rbglib_shell.c +68 -0
  24. data/ext/glib2/rbglib_source.c +190 -0
  25. data/ext/glib2/rbglib_spawn.c +345 -0
  26. data/ext/glib2/rbglib_threads.c +51 -0
  27. data/ext/glib2/rbglib_timer.c +127 -0
  28. data/ext/glib2/rbglib_unicode.c +611 -0
  29. data/ext/glib2/rbglib_utils.c +386 -0
  30. data/ext/glib2/rbglib_win32.c +136 -0
  31. data/ext/glib2/rbgobj_boxed.c +251 -0
  32. data/ext/glib2/rbgobj_closure.c +337 -0
  33. data/ext/glib2/rbgobj_convert.c +167 -0
  34. data/ext/glib2/rbgobj_enums.c +961 -0
  35. data/ext/glib2/rbgobj_fundamental.c +30 -0
  36. data/ext/glib2/rbgobj_object.c +892 -0
  37. data/ext/glib2/rbgobj_param.c +390 -0
  38. data/ext/glib2/rbgobj_paramspecs.c +305 -0
  39. data/ext/glib2/rbgobj_signal.c +963 -0
  40. data/ext/glib2/rbgobj_strv.c +61 -0
  41. data/ext/glib2/rbgobj_type.c +851 -0
  42. data/ext/glib2/rbgobj_typeinstance.c +121 -0
  43. data/ext/glib2/rbgobj_typeinterface.c +148 -0
  44. data/ext/glib2/rbgobj_typemodule.c +66 -0
  45. data/ext/glib2/rbgobj_typeplugin.c +49 -0
  46. data/ext/glib2/rbgobj_value.c +313 -0
  47. data/ext/glib2/rbgobj_valuearray.c +59 -0
  48. data/ext/glib2/rbgobj_valuetypes.c +298 -0
  49. data/ext/glib2/rbgobject.c +406 -0
  50. data/ext/glib2/rbgobject.h +265 -0
  51. data/ext/glib2/rbgprivate.h +88 -0
  52. data/ext/glib2/rbgutil.c +316 -0
  53. data/ext/glib2/rbgutil.h +82 -0
  54. data/ext/glib2/rbgutil_callback.c +231 -0
  55. data/extconf.rb +49 -0
  56. data/lib/1.8/glib2.so +0 -0
  57. data/lib/1.9/glib2.so +0 -0
  58. data/lib/glib-mkenums.rb +199 -0
  59. data/lib/glib2.rb +239 -0
  60. data/lib/gnome2-win32-binary-downloader.rb +92 -0
  61. data/lib/mkmf-gnome2.rb +377 -0
  62. data/sample/bookmarkfile.rb +66 -0
  63. data/sample/completion.rb +45 -0
  64. data/sample/idle.rb +41 -0
  65. data/sample/iochannel.rb +44 -0
  66. data/sample/keyfile.rb +62 -0
  67. data/sample/shell.rb +36 -0
  68. data/sample/spawn.rb +25 -0
  69. data/sample/timeout.rb +28 -0
  70. data/sample/timeout2.rb +35 -0
  71. data/sample/timer.rb +40 -0
  72. data/sample/type-register.rb +103 -0
  73. data/sample/type-register2.rb +104 -0
  74. data/sample/utils.rb +54 -0
  75. data/test/glib-test-init.rb +6 -0
  76. data/test/glib-test-utils.rb +12 -0
  77. data/test/run-test.rb +21 -0
  78. data/test/test_enum.rb +99 -0
  79. data/test/test_file_utils.rb +15 -0
  80. data/test/test_glib2.rb +120 -0
  81. data/test/test_iochannel.rb +275 -0
  82. data/test/test_key_file.rb +38 -0
  83. data/test/test_mkenums.rb +25 -0
  84. data/test/test_signal.rb +20 -0
  85. data/test/test_timeout.rb +28 -0
  86. data/test/test_unicode.rb +369 -0
  87. data/test/test_utils.rb +37 -0
  88. data/test/test_win32.rb +13 -0
  89. data/test-unit/COPYING +56 -0
  90. data/test-unit/GPL +340 -0
  91. data/test-unit/History.txt +232 -0
  92. data/test-unit/Manifest.txt +110 -0
  93. data/test-unit/PSFL +271 -0
  94. data/test-unit/README.txt +75 -0
  95. data/test-unit/Rakefile +53 -0
  96. data/test-unit/TODO +5 -0
  97. data/test-unit/bin/testrb +5 -0
  98. data/test-unit/html/bar.png +0 -0
  99. data/test-unit/html/bar.svg +153 -0
  100. data/test-unit/html/developer.png +0 -0
  101. data/test-unit/html/developer.svg +469 -0
  102. data/test-unit/html/famfamfam-logo.png +0 -0
  103. data/test-unit/html/favicon.ico +0 -0
  104. data/test-unit/html/favicon.png +0 -0
  105. data/test-unit/html/favicon.svg +82 -0
  106. data/test-unit/html/heading-mark.png +0 -0
  107. data/test-unit/html/heading-mark.svg +393 -0
  108. data/test-unit/html/index.html +247 -0
  109. data/test-unit/html/index.html.ja +270 -0
  110. data/test-unit/html/install.png +0 -0
  111. data/test-unit/html/install.svg +636 -0
  112. data/test-unit/html/jp.png +0 -0
  113. data/test-unit/html/kinotan-failure.png +0 -0
  114. data/test-unit/html/kinotan-pass.png +0 -0
  115. data/test-unit/html/logo.png +0 -0
  116. data/test-unit/html/logo.svg +483 -0
  117. data/test-unit/html/reference.png +0 -0
  118. data/test-unit/html/rubyforge.png +0 -0
  119. data/test-unit/html/tango-logo.png +0 -0
  120. data/test-unit/html/test-unit.css +339 -0
  121. data/test-unit/html/tutorial.png +0 -0
  122. data/test-unit/html/tutorial.svg +559 -0
  123. data/test-unit/html/us.png +0 -0
  124. data/test-unit/images/color-diff.png +0 -0
  125. data/test-unit/lib/test/unit/assertionfailederror.rb +25 -0
  126. data/test-unit/lib/test/unit/assertions.rb +1334 -0
  127. data/test-unit/lib/test/unit/attribute.rb +125 -0
  128. data/test-unit/lib/test/unit/autorunner.rb +363 -0
  129. data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
  130. data/test-unit/lib/test/unit/collector/dir.rb +108 -0
  131. data/test-unit/lib/test/unit/collector/load.rb +144 -0
  132. data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
  133. data/test-unit/lib/test/unit/collector.rb +36 -0
  134. data/test-unit/lib/test/unit/color-scheme.rb +106 -0
  135. data/test-unit/lib/test/unit/color.rb +96 -0
  136. data/test-unit/lib/test/unit/diff.rb +740 -0
  137. data/test-unit/lib/test/unit/error.rb +130 -0
  138. data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
  139. data/test-unit/lib/test/unit/failure.rb +136 -0
  140. data/test-unit/lib/test/unit/fixture.rb +176 -0
  141. data/test-unit/lib/test/unit/notification.rb +129 -0
  142. data/test-unit/lib/test/unit/omission.rb +191 -0
  143. data/test-unit/lib/test/unit/pending.rb +150 -0
  144. data/test-unit/lib/test/unit/priority.rb +180 -0
  145. data/test-unit/lib/test/unit/runner/console.rb +52 -0
  146. data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
  147. data/test-unit/lib/test/unit/runner/tap.rb +8 -0
  148. data/test-unit/lib/test/unit/testcase.rb +483 -0
  149. data/test-unit/lib/test/unit/testresult.rb +121 -0
  150. data/test-unit/lib/test/unit/testsuite.rb +110 -0
  151. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
  152. data/test-unit/lib/test/unit/ui/console/testrunner.rb +430 -0
  153. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +63 -0
  154. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +82 -0
  155. data/test-unit/lib/test/unit/ui/testrunner.rb +53 -0
  156. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
  157. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  158. data/test-unit/lib/test/unit/util/backtracefilter.rb +42 -0
  159. data/test-unit/lib/test/unit/util/method-owner-finder.rb +28 -0
  160. data/test-unit/lib/test/unit/util/observable.rb +90 -0
  161. data/test-unit/lib/test/unit/util/output.rb +31 -0
  162. data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
  163. data/test-unit/lib/test/unit/version.rb +7 -0
  164. data/test-unit/lib/test/unit.rb +328 -0
  165. data/test-unit/sample/adder.rb +13 -0
  166. data/test-unit/sample/subtracter.rb +12 -0
  167. data/test-unit/sample/test_adder.rb +20 -0
  168. data/test-unit/sample/test_subtracter.rb +20 -0
  169. data/test-unit/sample/test_user.rb +23 -0
  170. data/test-unit/test/collector/test-descendant.rb +133 -0
  171. data/test-unit/test/collector/test-load.rb +442 -0
  172. data/test-unit/test/collector/test_dir.rb +406 -0
  173. data/test-unit/test/collector/test_objectspace.rb +100 -0
  174. data/test-unit/test/run-test.rb +15 -0
  175. data/test-unit/test/test-attribute.rb +86 -0
  176. data/test-unit/test/test-color-scheme.rb +69 -0
  177. data/test-unit/test/test-color.rb +47 -0
  178. data/test-unit/test/test-diff.rb +518 -0
  179. data/test-unit/test/test-emacs-runner.rb +60 -0
  180. data/test-unit/test/test-fixture.rb +287 -0
  181. data/test-unit/test/test-notification.rb +33 -0
  182. data/test-unit/test/test-omission.rb +81 -0
  183. data/test-unit/test/test-pending.rb +70 -0
  184. data/test-unit/test/test-priority.rb +119 -0
  185. data/test-unit/test/test-testcase.rb +544 -0
  186. data/test-unit/test/test_assertions.rb +1197 -0
  187. data/test-unit/test/test_error.rb +26 -0
  188. data/test-unit/test/test_failure.rb +33 -0
  189. data/test-unit/test/test_testresult.rb +113 -0
  190. data/test-unit/test/test_testsuite.rb +129 -0
  191. data/test-unit/test/testunit-test-util.rb +14 -0
  192. data/test-unit/test/ui/test_tap.rb +33 -0
  193. data/test-unit/test/ui/test_testrunmediator.rb +20 -0
  194. data/test-unit/test/util/test-method-owner-finder.rb +38 -0
  195. data/test-unit/test/util/test-output.rb +11 -0
  196. data/test-unit/test/util/test_backtracefilter.rb +41 -0
  197. data/test-unit/test/util/test_observable.rb +102 -0
  198. data/test-unit/test/util/test_procwrapper.rb +36 -0
  199. data/vendor/local/bin/envsubst.exe +0 -0
  200. data/vendor/local/bin/gettext.exe +0 -0
  201. data/vendor/local/bin/gettext.sh +123 -0
  202. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  203. data/vendor/local/bin/glib-gettextize +188 -0
  204. data/vendor/local/bin/glib-mkenums +511 -0
  205. data/vendor/local/bin/gobject-query.exe +0 -0
  206. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  207. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  208. data/vendor/local/bin/intl.dll +0 -0
  209. data/vendor/local/bin/libasprintf-0.dll +0 -0
  210. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  211. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  212. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  213. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  214. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  215. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  216. data/vendor/local/bin/ngettext.exe +0 -0
  217. data/vendor/local/include/autosprintf.h +66 -0
  218. data/vendor/local/include/glib-2.0/gio/gappinfo.h +237 -0
  219. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
  220. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
  221. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
  222. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +82 -0
  223. data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
  224. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
  225. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
  226. data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
  227. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +80 -0
  228. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +80 -0
  229. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +133 -0
  230. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +116 -0
  231. data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
  232. data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
  233. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
  234. data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
  235. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
  236. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +133 -0
  237. data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
  238. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +951 -0
  239. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
  240. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
  241. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
  242. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
  243. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
  244. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
  245. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
  246. data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
  247. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
  248. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
  249. data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
  250. data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
  251. data/vendor/local/include/glib-2.0/gio/gio.h +101 -0
  252. data/vendor/local/include/glib-2.0/gio/gioenums.h +703 -0
  253. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +79 -0
  254. data/vendor/local/include/glib-2.0/gio/gioerror.h +48 -0
  255. data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
  256. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
  257. data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
  258. data/vendor/local/include/glib-2.0/gio/giotypes.h +339 -0
  259. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
  260. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
  261. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +97 -0
  262. data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
  263. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
  264. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
  265. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +69 -0
  266. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +69 -0
  267. data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
  268. data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
  269. data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
  270. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
  271. data/vendor/local/include/glib-2.0/gio/gsocket.h +176 -0
  272. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
  273. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
  274. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +130 -0
  275. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +68 -0
  276. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
  277. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
  278. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
  279. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
  280. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
  281. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
  282. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
  283. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
  284. data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
  285. data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
  286. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +151 -0
  287. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +55 -0
  288. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +54 -0
  289. data/vendor/local/include/glib-2.0/glib/galloca.h +63 -0
  290. data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
  291. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
  292. data/vendor/local/include/glib-2.0/glib/gatomic.h +85 -0
  293. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
  294. data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
  295. data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
  296. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +191 -0
  297. data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
  298. data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
  299. data/vendor/local/include/glib-2.0/glib/gcompletion.h +77 -0
  300. data/vendor/local/include/glib-2.0/glib/gconvert.h +138 -0
  301. data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
  302. data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
  303. data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
  304. data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
  305. data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
  306. data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
  307. data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
  308. data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
  309. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
  310. data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
  311. data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
  312. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +250 -0
  313. data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
  314. data/vendor/local/include/glib-2.0/glib/gmacros.h +277 -0
  315. data/vendor/local/include/glib-2.0/glib/gmain.h +304 -0
  316. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
  317. data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
  318. data/vendor/local/include/glib-2.0/glib/gmem.h +203 -0
  319. data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
  320. data/vendor/local/include/glib-2.0/glib/gnode.h +288 -0
  321. data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
  322. data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
  323. data/vendor/local/include/glib-2.0/glib/gpoll.h +93 -0
  324. data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
  325. data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
  326. data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
  327. data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
  328. data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
  329. data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
  330. data/vendor/local/include/glib-2.0/glib/gregex.h +243 -0
  331. data/vendor/local/include/glib-2.0/glib/grel.h +97 -0
  332. data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
  333. data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
  334. data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
  335. data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
  336. data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
  337. data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
  338. data/vendor/local/include/glib-2.0/glib/gstdio.h +159 -0
  339. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +267 -0
  340. data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
  341. data/vendor/local/include/glib-2.0/glib/gtestutils.h +292 -0
  342. data/vendor/local/include/glib-2.0/glib/gthread.h +408 -0
  343. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
  344. data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
  345. data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
  346. data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
  347. data/vendor/local/include/glib-2.0/glib/gunicode.h +404 -0
  348. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
  349. data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
  350. data/vendor/local/include/glib-2.0/glib/gvariant.h +224 -0
  351. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +305 -0
  352. data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
  353. data/vendor/local/include/glib-2.0/glib-object.h +41 -0
  354. data/vendor/local/include/glib-2.0/glib.h +97 -0
  355. data/vendor/local/include/glib-2.0/gmodule.h +101 -0
  356. data/vendor/local/include/glib-2.0/gobject/gboxed.h +236 -0
  357. data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
  358. data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
  359. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +169 -0
  360. data/vendor/local/include/glib-2.0/gobject/gobject.h +562 -0
  361. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +166 -0
  362. data/vendor/local/include/glib-2.0/gobject/gparam.h +410 -0
  363. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1083 -0
  364. data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
  365. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
  366. data/vendor/local/include/glib-2.0/gobject/gtype.h +1608 -0
  367. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
  368. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
  369. data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
  370. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
  371. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +222 -0
  372. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +243 -0
  373. data/vendor/local/include/libintl.h +464 -0
  374. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  375. data/vendor/local/lib/gio-2.0.def +800 -0
  376. data/vendor/local/lib/gio-2.0.lib +0 -0
  377. data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
  378. data/vendor/local/lib/glib-2.0.def +1381 -0
  379. data/vendor/local/lib/glib-2.0.lib +0 -0
  380. data/vendor/local/lib/gmodule-2.0.def +11 -0
  381. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  382. data/vendor/local/lib/gobject-2.0.def +349 -0
  383. data/vendor/local/lib/gobject-2.0.lib +0 -0
  384. data/vendor/local/lib/gthread-2.0.def +3 -0
  385. data/vendor/local/lib/gthread-2.0.lib +0 -0
  386. data/vendor/local/lib/intl.lib +0 -0
  387. data/vendor/local/lib/libasprintf.dll.a +0 -0
  388. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  389. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  390. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  391. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  392. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  393. data/vendor/local/lib/libintl.def +31 -0
  394. data/vendor/local/lib/libintl.dll.a +0 -0
  395. data/vendor/local/lib/pkgconfig/gio-2.0.pc +14 -0
  396. data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
  397. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
  398. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
  399. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
  400. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
  401. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
  402. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
  403. data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
  404. data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
  405. data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
  406. data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
  407. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
  408. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
  409. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
  410. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
  411. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
  412. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
  413. data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
  414. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
  415. data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
  416. data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
  417. data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
  418. data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
  419. data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
  420. data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
  421. data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
  422. data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
  423. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
  424. data/vendor/local/share/glib-2.0/gdb/glib.py +252 -0
  425. data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
  426. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
  427. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +277 -0
  428. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1390 -0
  429. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +531 -0
  430. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
  431. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +568 -0
  432. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +295 -0
  433. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
  434. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
  435. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +388 -0
  436. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +993 -0
  437. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +544 -0
  438. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
  439. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
  440. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
  441. data/vendor/local/share/gtk-doc/html/gio/GFile.html +7450 -0
  442. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +115 -0
  443. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +520 -0
  444. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
  445. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
  446. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3116 -0
  447. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
  448. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
  449. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
  450. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
  451. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +182 -0
  452. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +183 -0
  453. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
  454. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
  455. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
  456. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
  457. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +195 -0
  458. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
  459. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
  460. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
  461. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
  462. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +362 -0
  463. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
  464. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
  465. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +263 -0
  466. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +248 -0
  467. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1006 -0
  468. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
  469. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
  470. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +979 -0
  471. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2152 -0
  472. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
  473. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +930 -0
  474. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +428 -0
  475. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +548 -0
  476. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +274 -0
  477. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +741 -0
  478. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
  479. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
  480. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
  481. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +381 -0
  482. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +280 -0
  483. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
  484. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
  485. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +306 -0
  486. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
  487. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
  488. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +709 -0
  489. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +180 -0
  490. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +128 -0
  491. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
  492. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
  493. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1088 -0
  494. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +206 -0
  495. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +97 -0
  496. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +4499 -0
  497. data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
  498. data/vendor/local/share/gtk-doc/html/gio/ch01.html +171 -0
  499. data/vendor/local/share/gtk-doc/html/gio/ch02.html +45 -0
  500. data/vendor/local/share/gtk-doc/html/gio/ch03.html +80 -0
  501. data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
  502. data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
  503. data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
  504. data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
  505. data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
  506. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +96 -0
  507. data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
  508. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
  509. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
  510. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
  511. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
  512. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +465 -0
  513. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +381 -0
  514. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +163 -0
  515. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +163 -0
  516. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +927 -0
  517. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +328 -0
  518. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
  519. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
  520. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +918 -0
  521. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +107 -0
  522. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1235 -0
  523. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +1384 -0
  524. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  525. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +47 -0
  526. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  527. data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
  528. data/vendor/local/share/gtk-doc/html/gio/index.html +318 -0
  529. data/vendor/local/share/gtk-doc/html/gio/index.sgml +1795 -0
  530. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/gio/migrating.html +42 -0
  532. data/vendor/local/share/gtk-doc/html/gio/networking.html +57 -0
  533. data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
  534. data/vendor/local/share/gtk-doc/html/gio/pt02.html +293 -0
  535. data/vendor/local/share/gtk-doc/html/gio/resolver.html +47 -0
  536. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  537. data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
  538. data/vendor/local/share/gtk-doc/html/gio/style.css +257 -0
  539. data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
  540. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  541. data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
  542. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
  543. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
  544. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
  545. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +563 -0
  546. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
  547. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
  548. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
  549. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
  550. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
  551. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +419 -0
  552. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +389 -0
  553. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +413 -0
  554. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
  555. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +340 -0
  556. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +7835 -0
  557. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  558. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
  559. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
  560. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +413 -0
  561. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +430 -0
  562. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
  563. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
  564. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
  565. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2054 -0
  566. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
  567. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
  568. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
  569. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1187 -0
  570. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1665 -0
  571. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
  572. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
  573. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2042 -0
  574. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
  575. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
  576. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
  577. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1023 -0
  578. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1810 -0
  579. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +3798 -0
  580. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1815 -0
  581. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
  582. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
  583. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
  584. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
  585. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +629 -0
  586. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
  587. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2556 -0
  588. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
  589. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
  590. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
  591. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1029 -0
  592. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
  593. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
  594. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
  595. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +703 -0
  596. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1045 -0
  597. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1523 -0
  598. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1466 -0
  599. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +204 -0
  600. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2648 -0
  601. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
  602. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
  603. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
  604. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +483 -0
  605. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
  606. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
  607. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1283 -0
  608. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1212 -0
  609. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
  610. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +466 -0
  611. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
  612. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2947 -0
  613. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1290 -0
  614. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1719 -0
  615. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3379 -0
  616. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
  617. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
  618. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
  619. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
  620. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
  621. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +314 -0
  622. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3356 -0
  623. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +150 -0
  624. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
  625. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
  626. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +438 -0
  627. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
  628. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
  629. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
  630. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
  631. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
  632. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
  633. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
  634. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2395 -0
  635. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
  636. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +302 -0
  637. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +112 -0
  638. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2084 -0
  639. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2556 -0
  640. data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
  641. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
  642. data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
  643. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1171 -0
  644. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  645. data/vendor/local/share/gtk-doc/html/glib/index.html +336 -0
  646. data/vendor/local/share/gtk-doc/html/glib/index.sgml +2717 -0
  647. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  648. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  649. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  650. data/vendor/local/share/gtk-doc/html/glib/style.css +257 -0
  651. data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
  652. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  653. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
  654. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
  655. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
  656. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
  657. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
  658. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
  659. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
  660. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
  661. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +72 -0
  662. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
  663. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
  664. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
  665. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
  666. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2577 -0
  667. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
  668. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
  669. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
  670. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
  671. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
  672. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
  673. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +355 -0
  674. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +295 -0
  675. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  676. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +406 -0
  677. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2355 -0
  678. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
  679. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1423 -0
  680. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
  681. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
  682. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5242 -0
  683. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2609 -0
  684. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4227 -0
  685. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +413 -0
  686. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +230 -0
  687. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
  688. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
  689. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
  690. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +723 -0
  691. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +757 -0
  692. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
  693. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
  694. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
  695. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
  696. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  697. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
  698. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
  699. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
  700. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
  701. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
  702. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
  703. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
  704. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
  705. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
  706. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
  707. data/vendor/local/share/gtk-doc/html/gobject/index.html +187 -0
  708. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +734 -0
  709. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  710. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
  711. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
  712. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
  713. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
  714. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  715. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +82 -0
  716. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
  717. data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
  718. data/vendor/local/share/gtk-doc/html/gobject/style.css +257 -0
  719. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
  720. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
  721. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
  722. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
  723. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
  724. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  725. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  726. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  727. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  729. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  731. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  732. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  733. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  735. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  736. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  737. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  738. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  740. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  741. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  742. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  743. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  744. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  746. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  747. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  748. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  749. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  750. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  751. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  752. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  753. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  754. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  755. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  756. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  757. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  758. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  759. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  760. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  761. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  762. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  763. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  764. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  765. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  766. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  767. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  768. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  769. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  770. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  771. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  772. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  773. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  774. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  775. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  776. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  777. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  778. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  779. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  780. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  781. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  782. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  783. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  784. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  785. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  786. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  787. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  788. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  789. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  790. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  791. data/vendor/local/share/locale/locale.alias +77 -0
  792. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  793. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  794. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  795. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  796. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  797. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  798. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  799. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  800. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  801. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  802. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  803. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  804. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  805. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  806. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  807. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  808. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  809. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  810. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  811. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  812. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  813. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  814. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  816. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  818. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  820. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  821. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  822. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  823. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  824. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  825. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  826. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  827. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  828. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  829. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  830. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  831. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  832. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  833. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  834. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  835. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  836. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  837. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  838. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  839. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  840. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  841. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  842. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  843. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  844. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  845. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  846. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  847. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  848. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  849. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  850. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  851. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  852. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  853. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  854. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  855. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  856. data/vendor/local/share/man/man1/envsubst.1 +54 -0
  857. data/vendor/local/share/man/man1/gettext.1 +69 -0
  858. data/vendor/local/share/man/man1/glib-genmarshal.1 +307 -0
  859. data/vendor/local/share/man/man1/glib-mkenums.1 +234 -0
  860. data/vendor/local/share/man/man1/gobject-query.1 +83 -0
  861. data/vendor/local/share/man/man1/ngettext.1 +68 -0
  862. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
  863. data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
  864. data/vendor/local/share/man/man3/dcgettext.3 +1 -0
  865. data/vendor/local/share/man/man3/dcngettext.3 +1 -0
  866. data/vendor/local/share/man/man3/dgettext.3 +1 -0
  867. data/vendor/local/share/man/man3/dngettext.3 +1 -0
  868. data/vendor/local/share/man/man3/gettext.3 +99 -0
  869. data/vendor/local/share/man/man3/ngettext.3 +60 -0
  870. data/vendor/local/share/man/man3/textdomain.3 +57 -0
  871. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
  872. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
  873. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
  874. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
  875. metadata +940 -0
@@ -0,0 +1,2609 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>The Base Object Type</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
+ <link rel="home" href="index.html" title="GObject Reference Manual">
8
+ <link rel="up" href="rn01.html" title="API Reference">
9
+ <link rel="prev" href="GTypeModule.html" title="GTypeModule">
10
+ <link rel="next" href="gobject-Enumeration-and-Flag-Types.html" title="Enumeration and Flag Types">
11
+ <meta name="generator" content="GTK-Doc V1.14 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
+ <tr valign="middle">
17
+ <td><a accesskey="p" href="GTypeModule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
+ <th width="100%" align="center">GObject Reference Manual</th>
21
+ <td><a accesskey="n" href="gobject-Enumeration-and-Flag-Types.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
+ </tr>
23
+ <tr><td colspan="5" class="shortcuts">
24
+ <a href="#gobject-The-Base-Object-Type.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#gobject-The-Base-Object-Type.description" class="shortcut">Description</a>
27
+  | 
28
+ <a href="#gobject-The-Base-Object-Type.object-hierarchy" class="shortcut">Object Hierarchy</a>
29
+  | 
30
+ <a href="#gobject-The-Base-Object-Type.signals" class="shortcut">Signals</a>
31
+ </td></tr>
32
+ </table>
33
+ <div class="refentry" title="The Base Object Type">
34
+ <a name="gobject-The-Base-Object-Type"></a><div class="titlepage"></div>
35
+ <div class="refnamediv"><table width="100%"><tr>
36
+ <td valign="top">
37
+ <h2><span class="refentrytitle"><a name="gobject-The-Base-Object-Type.top_of_page"></a>The Base Object Type</span></h2>
38
+ <p>The Base Object Type — The base object type</p>
39
+ </td>
40
+ <td valign="top" align="right"></td>
41
+ </tr></table></div>
42
+ <div class="refsynopsisdiv" title="Synopsis">
43
+ <a name="gobject-The-Base-Object-Type.synopsis"></a><h2>Synopsis</h2>
44
+ <a name="GObject"></a><pre class="synopsis">
45
+ #include &lt;glib-object.h&gt;
46
+
47
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject-struct" title="GObject">GObject</a>;
48
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a>;
49
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObjectConstructParam" title="GObjectConstructParam">GObjectConstructParam</a>;
50
+ <span class="returnvalue">void</span> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectGetPropertyFunc" title="GObjectGetPropertyFunc ()">*GObjectGetPropertyFunc</a>) (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
51
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
52
+ <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
53
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
54
+ <span class="returnvalue">void</span> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectSetPropertyFunc" title="GObjectSetPropertyFunc ()">*GObjectSetPropertyFunc</a>) (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
55
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
56
+ <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
57
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
58
+ <span class="returnvalue">void</span> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectFinalizeFunc" title="GObjectFinalizeFunc ()">*GObjectFinalizeFunc</a>) (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
59
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-TYPE-IS-OBJECT:CAPS" title="G_TYPE_IS_OBJECT()">G_TYPE_IS_OBJECT</a> (type)
60
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT:CAPS" title="G_OBJECT()">G_OBJECT</a> (object)
61
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-IS-OBJECT:CAPS" title="G_IS_OBJECT()">G_IS_OBJECT</a> (object)
62
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS" title="G_OBJECT_CLASS()">G_OBJECT_CLASS</a> (class)
63
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-IS-OBJECT-CLASS:CAPS" title="G_IS_OBJECT_CLASS()">G_IS_OBJECT_CLASS</a> (class)
64
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-GET-CLASS:CAPS" title="G_OBJECT_GET_CLASS()">G_OBJECT_GET_CLASS</a> (object)
65
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE:CAPS" title="G_OBJECT_TYPE()">G_OBJECT_TYPE</a> (object)
66
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE-NAME:CAPS" title="G_OBJECT_TYPE_NAME()">G_OBJECT_TYPE_NAME</a> (object)
67
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-TYPE:CAPS" title="G_OBJECT_CLASS_TYPE()">G_OBJECT_CLASS_TYPE</a> (class)
68
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-NAME:CAPS" title="G_OBJECT_CLASS_NAME()">G_OBJECT_CLASS_NAME</a> (class)
69
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()">g_object_class_install_property</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
70
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
71
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
72
+ <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-find-property" title="g_object_class_find_property ()">g_object_class_find_property</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
73
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
74
+ <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>** <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-list-properties" title="g_object_class_list_properties ()">g_object_class_list_properties</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
75
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);
76
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-override-property" title="g_object_class_override_property ()">g_object_class_override_property</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
77
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
78
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
79
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-install-property" title="g_object_interface_install_property ()">g_object_interface_install_property</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
80
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
81
+ <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-find-property" title="g_object_interface_find_property ()">g_object_interface_find_property</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
82
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
83
+ <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>** <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-list-properties" title="g_object_interface_list_properties ()">g_object_interface_list_properties</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
84
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties_p</code></em>);
85
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()">g_object_new</a> (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
86
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
87
+ <em class="parameter"><code>...</code></em>);
88
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()">g_object_newv</a> (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
89
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
90
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="GParameter"><span class="type">GParameter</span></a> *parameters</code></em>);
91
+ <a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="GParameter">GParameter</a>;
92
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()">g_object_ref</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
93
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
94
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()">g_object_ref_sink</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
95
+ typedef <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned">GInitiallyUnowned</a>;
96
+ typedef <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnownedClass" title="GInitiallyUnownedClass">GInitiallyUnownedClass</a>;
97
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-TYPE-INITIALLY-UNOWNED:CAPS" title="G_TYPE_INITIALLY_UNOWNED">G_TYPE_INITIALLY_UNOWNED</a>
98
+ <a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-is-floating" title="g_object_is_floating ()">g_object_is_floating</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
99
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-force-floating" title="g_object_force_floating ()">g_object_force_floating</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
100
+ <span class="returnvalue">void</span> (<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">*GWeakNotify</a>) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
101
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *where_the_object_was</code></em>);
102
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-ref" title="g_object_weak_ref ()">g_object_weak_ref</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
103
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
104
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
105
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-unref" title="g_object_weak_unref ()">g_object_weak_unref</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
106
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
107
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
108
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer" title="g_object_add_weak_pointer ()">g_object_add_weak_pointer</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
109
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);
110
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-weak-pointer" title="g_object_remove_weak_pointer ()">g_object_remove_weak_pointer</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
111
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);
112
+ <span class="returnvalue">void</span> (<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()">*GToggleNotify</a>) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
113
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
114
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_last_ref</code></em>);
115
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()">g_object_add_toggle_ref</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
116
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
117
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
118
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-toggle-ref" title="g_object_remove_toggle_ref ()">g_object_remove_toggle_ref</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
119
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
120
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
121
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-connect" title="g_object_connect ()">g_object_connect</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
122
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
123
+ <em class="parameter"><code>...</code></em>);
124
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-disconnect" title="g_object_disconnect ()">g_object_disconnect</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
125
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
126
+ <em class="parameter"><code>...</code></em>);
127
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()">g_object_set</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
128
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
129
+ <em class="parameter"><code>...</code></em>);
130
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()">g_object_get</a> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
131
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
132
+ <em class="parameter"><code>...</code></em>);
133
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-notify" title="g_object_notify ()">g_object_notify</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
134
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
135
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify" title="g_object_freeze_notify ()">g_object_freeze_notify</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
136
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-thaw-notify" title="g_object_thaw_notify ()">g_object_thaw_notify</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
137
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-data" title="g_object_get_data ()">g_object_get_data</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
138
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
139
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data" title="g_object_set_data ()">g_object_set_data</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
140
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
141
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
142
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data-full" title="g_object_set_data_full ()">g_object_set_data_full</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
143
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
144
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
145
+ <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
146
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-data" title="g_object_steal_data ()">g_object_steal_data</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
147
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
148
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata" title="g_object_get_qdata ()">g_object_get_qdata</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
149
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
150
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()">g_object_set_qdata</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
151
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
152
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
153
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full" title="g_object_set_qdata_full ()">g_object_set_qdata_full</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
154
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
155
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
156
+ <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
157
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-qdata" title="g_object_steal_qdata ()">g_object_steal_qdata</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
158
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
159
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
160
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
161
+ <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);
162
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property" title="g_object_get_property ()">g_object_get_property</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
163
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
164
+ <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);
165
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new-valist" title="g_object_new_valist ()">g_object_new_valist</a> (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
166
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
167
+ <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
168
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-valist" title="g_object_set_valist ()">g_object_set_valist</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
169
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
170
+ <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
171
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-valist" title="g_object_get_valist ()">g_object_get_valist</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
172
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
173
+ <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
174
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()">g_object_watch_closure</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
175
+ <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);
176
+ <span class="returnvalue">void</span> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-run-dispose" title="g_object_run_dispose ()">g_object_run_dispose</a> (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
177
+ #define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-WARN-INVALID-PROPERTY-ID:CAPS" title="G_OBJECT_WARN_INVALID_PROPERTY_ID()">G_OBJECT_WARN_INVALID_PROPERTY_ID</a> (object,
178
+ property_id,
179
+ pspec)
180
+ </pre>
181
+ </div>
182
+ <div class="refsect1" title="Object Hierarchy">
183
+ <a name="gobject-The-Base-Object-Type.object-hierarchy"></a><h2>Object Hierarchy</h2>
184
+ <pre class="synopsis">
185
+ GObject
186
+ +----<a class="link" href="GTypeModule.html" title="GTypeModule">GTypeModule</a>
187
+ </pre>
188
+ </div>
189
+ <div class="refsect1" title="Signals">
190
+ <a name="gobject-The-Base-Object-Type.signals"></a><h2>Signals</h2>
191
+ <pre class="synopsis">
192
+ "<a class="link" href="gobject-The-Base-Object-Type.html#GObject-notify" title='The "notify" signal'>notify</a>" : Run First / No Recursion / Has Details / Action / No Hooks
193
+ </pre>
194
+ </div>
195
+ <div class="refsect1" title="Description">
196
+ <a name="gobject-The-Base-Object-Type.description"></a><h2>Description</h2>
197
+ <p>
198
+ GObject is the fundamental type providing the common attributes and
199
+ methods for all object types in GTK+, Pango and other libraries
200
+ based on GObject. The GObject class provides methods for object
201
+ construction and destruction, property access methods, and signal
202
+ support. Signals are described in detail in <a class="xref" href="gobject-Signals.html" title="Signals"><span class="refentrytitle"><a name="gobject-Signals.top_of_page"></a>Signals</span>(3)</a>.
203
+ </p>
204
+ <p>
205
+ </p>
206
+ <p><a name="floating-ref"></a>
207
+ <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> is derived from <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. The only difference between
208
+ the two is that the initial reference of a <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> is flagged
209
+ as a <em class="firstterm">floating</em> reference.
210
+ This means that it is not specifically claimed to be "owned" by
211
+ any code portion. The main motivation for providing floating references is
212
+ C convenience. In particular, it allows code to be written as:
213
+ </p>
214
+ <div class="informalexample">
215
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
216
+ <tbody>
217
+ <tr>
218
+ <td class="listing_lines" align="right"><pre>1
219
+ 2</pre></td>
220
+ <td class="listing_code"><pre class="programlisting"><span class="normal">container </span><span class="symbol">=</span><span class="normal"> </span><span class="function">create_container</span><span class="symbol">();</span>
221
+ <span class="function">container_add_child</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">container</span><span class="symbol">,</span><span class="normal"> </span><span class="function">create_child</span><span class="symbol">());</span></pre></td>
222
+ </tr>
223
+ </tbody>
224
+ </table>
225
+ </div>
226
+
227
+ <p>
228
+ If <code class="function"><code class="function">container_add_child()</code></code> will <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a> the
229
+ passed in child, no reference of the newly created child is leaked.
230
+ Without floating references, <code class="function"><code class="function">container_add_child()</code></code>
231
+ can only <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> the new child, so to implement this code without
232
+ reference leaks, it would have to be written as:
233
+ </p>
234
+ <div class="informalexample">
235
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
236
+ <tbody>
237
+ <tr>
238
+ <td class="listing_lines" align="right"><pre>1
239
+ 2
240
+ 3
241
+ 4
242
+ 5</pre></td>
243
+ <td class="listing_code"><pre class="programlisting"><span class="usertype">Child</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">child</span><span class="symbol">;</span>
244
+ <span class="normal">container </span><span class="symbol">=</span><span class="normal"> </span><span class="function">create_container</span><span class="symbol">();</span>
245
+ <span class="normal">child </span><span class="symbol">=</span><span class="normal"> </span><span class="function">create_child</span><span class="symbol">();</span>
246
+ <span class="function">container_add_child</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">container</span><span class="symbol">,</span><span class="normal"> child</span><span class="symbol">);</span>
247
+ <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">);</span></pre></td>
248
+ </tr>
249
+ </tbody>
250
+ </table>
251
+ </div>
252
+
253
+ <p>
254
+ The floating reference can be converted into
255
+ an ordinary reference by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a>.
256
+ For already sunken objects (objects that don't have a floating reference
257
+ anymore), <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a> is equivalent to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> and returns
258
+ a new reference.
259
+ Since floating references are useful almost exclusively for C convenience,
260
+ language bindings that provide automated reference and memory ownership
261
+ maintenance (such as smart pointers or garbage collection) therefore don't
262
+ need to expose floating references in their API.
263
+ </p>
264
+ <p>
265
+ </p>
266
+ <p>
267
+ Some object implementations may need to save an objects floating state
268
+ across certain code portions (an example is <span class="type">GtkMenu</span>), to achive this, the
269
+ following sequence can be used:
270
+ </p>
271
+ <p>
272
+ </p>
273
+ <div class="informalexample">
274
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
275
+ <tbody>
276
+ <tr>
277
+ <td class="listing_lines" align="right"><pre>1
278
+ 2
279
+ 3
280
+ 4
281
+ 5
282
+ 6
283
+ 7
284
+ 8
285
+ 9</pre></td>
286
+ <td class="listing_code"><pre class="programlisting"><span class="comment">// save floating state</span>
287
+ <span class="usertype">gboolean</span><span class="normal"> was_floating </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-is-floating">g_object_is_floating</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
288
+ <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref-sink">g_object_ref_sink</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
289
+ <span class="comment">// protected code portion</span>
290
+ <span class="symbol">...;</span>
291
+ <span class="comment">// restore floating state</span>
292
+ <span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">was_floating</span><span class="symbol">)</span>
293
+ <span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-force-floating">g_object_force_floating</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
294
+ <span class="function">g_obejct_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span><span class="normal"> </span><span class="comment">// release previously acquired reference</span></pre></td>
295
+ </tr>
296
+ </tbody>
297
+ </table>
298
+ </div>
299
+
300
+ <p>
301
+ </p>
302
+ </div>
303
+ <div class="refsect1" title="Details">
304
+ <a name="gobject-The-Base-Object-Type.details"></a><h2>Details</h2>
305
+ <div class="refsect2" title="GObject">
306
+ <a name="GObject-struct"></a><h3>GObject</h3>
307
+ <pre class="programlisting">typedef struct _GObject GObject;</pre>
308
+ <p>
309
+ All the fields in the <span class="structname">GObject</span> structure are private
310
+ to the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> implementation and should never be accessed directly.
311
+ </p>
312
+ </div>
313
+ <hr>
314
+ <div class="refsect2" title="GObjectClass">
315
+ <a name="GObjectClass"></a><h3>GObjectClass</h3>
316
+ <pre class="programlisting">typedef struct {
317
+ GTypeClass g_type_class;
318
+
319
+ /* seldomly overidden */
320
+ GObject* (*constructor) (GType type,
321
+ guint n_construct_properties,
322
+ GObjectConstructParam *construct_properties);
323
+ /* overridable methods */
324
+ void (*set_property) (GObject *object,
325
+ guint property_id,
326
+ const GValue *value,
327
+ GParamSpec *pspec);
328
+ void (*get_property) (GObject *object,
329
+ guint property_id,
330
+ GValue *value,
331
+ GParamSpec *pspec);
332
+ void (*dispose) (GObject *object);
333
+ void (*finalize) (GObject *object);
334
+ /* seldomly overidden */
335
+ void (*dispatch_properties_changed) (GObject *object,
336
+ guint n_pspecs,
337
+ GParamSpec **pspecs);
338
+ /* signals */
339
+ void (*notify) (GObject *object,
340
+ GParamSpec *pspec);
341
+
342
+ /* called when done constructing */
343
+ void (*constructed) (GObject *object);
344
+ } GObjectClass;
345
+ </pre>
346
+ <p>
347
+ The class structure for the <span class="structname">GObject</span> type.
348
+ </p>
349
+ <p>
350
+ </p>
351
+ <div class="example">
352
+ <a name="id551047"></a><p class="title"><b>Example 1. Implementing singletons using a constructor</b></p>
353
+ <div class="example-contents">
354
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
355
+ <tbody>
356
+ <tr>
357
+ <td class="listing_lines" align="right"><pre>1
358
+ 2
359
+ 3
360
+ 4
361
+ 5
362
+ 6
363
+ 7
364
+ 8
365
+ 9
366
+ 10
367
+ 11
368
+ 12
369
+ 13
370
+ 14
371
+ 15
372
+ 16
373
+ 17
374
+ 18
375
+ 19
376
+ 20
377
+ 21</pre></td>
378
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="usertype">MySingleton</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">the_singleton </span><span class="symbol">=</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
379
+
380
+ <span class="keyword">static</span><span class="normal"> <a href="gobject-The-Base-Object-Type.html#GObject">GObject</a></span><span class="symbol">*</span>
381
+ <span class="function">my_singleton_constructor</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GType</span><span class="normal"> type</span><span class="symbol">,</span>
382
+ <span class="normal"> </span><span class="usertype">guint</span><span class="normal"> n_construct_params</span><span class="symbol">,</span>
383
+ <span class="normal"> </span><span class="usertype">GObjectConstructParam</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">construct_params</span><span class="symbol">)</span>
384
+ <span class="cbracket">{</span>
385
+ <span class="normal"> </span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">;</span>
386
+ <span class="normal"> </span>
387
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">the_singleton</span><span class="symbol">)</span>
388
+ <span class="normal"> </span><span class="cbracket">{</span>
389
+ <span class="normal"> object </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">parent_class</span><span class="symbol">)-&gt;</span><span class="function">constructor</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">type</span><span class="symbol">,</span>
390
+ <span class="normal"> n_construct_params</span><span class="symbol">,</span>
391
+ <span class="normal"> construct_params</span><span class="symbol">);</span>
392
+ <span class="normal"> the_singleton </span><span class="symbol">=</span><span class="normal"> </span><span class="function">MY_SINGLETON</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
393
+ <span class="normal"> </span><span class="cbracket">}</span>
394
+ <span class="normal"> </span><span class="keyword">else</span>
395
+ <span class="normal"> object </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="gobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">the_singleton</span><span class="symbol">));</span>
396
+
397
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> object</span><span class="symbol">;</span>
398
+ <span class="cbracket">}</span></pre></td>
399
+ </tr>
400
+ </tbody>
401
+ </table>
402
+ </div>
403
+
404
+ </div>
405
+ <p><br class="example-break">
406
+ </p>
407
+ <div class="variablelist"><table border="0">
408
+ <col align="left" valign="top">
409
+ <tbody>
410
+ <tr>
411
+ <td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GTypeClass" title="GTypeClass"><span class="type">GTypeClass</span></a> <em class="structfield"><code><a name="GObjectClass.g-type-class"></a>g_type_class</code></em>;</span></p></td>
412
+ <td>the parent class
413
+ </td>
414
+ </tr>
415
+ <tr>
416
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.constructor"></a>constructor</code></em> ()</span></p></td>
417
+ <td>the <em class="parameter"><code>constructor</code></em> function is called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()"><code class="function">g_object_new()</code></a> to
418
+ complete the object initialization after all the construction properties are
419
+ set. The first thing a <em class="parameter"><code>constructor</code></em> implementation must do is chain up to the
420
+ <em class="parameter"><code>constructor</code></em> of the parent class. Overriding <em class="parameter"><code>constructor</code></em> should be rarely
421
+ needed, e.g. to handle construct properties, or to implement singletons.
422
+ </td>
423
+ </tr>
424
+ <tr>
425
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.set-property"></a>set_property</code></em> ()</span></p></td>
426
+ <td>the generic setter for all properties of this type. Should be
427
+ overridden for every type with properties. Implementations of <em class="parameter"><code>set_property</code></em>
428
+ don't need to emit property change notification explicitly, this is handled
429
+ by the type system.
430
+ </td>
431
+ </tr>
432
+ <tr>
433
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.get-property"></a>get_property</code></em> ()</span></p></td>
434
+ <td>the generic getter for all properties of this type. Should be
435
+ overridden for every type with properties.
436
+ </td>
437
+ </tr>
438
+ <tr>
439
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.dispose"></a>dispose</code></em> ()</span></p></td>
440
+ <td>the <em class="parameter"><code>dispose</code></em> function is supposed to drop all references to other
441
+ objects, but keep the instance otherwise intact, so that client method
442
+ invocations still work. It may be run multiple times (due to reference
443
+ loops). Before returning, <em class="parameter"><code>dispose</code></em> should chain up to the <em class="parameter"><code>dispose</code></em> method
444
+ of the parent class.
445
+ </td>
446
+ </tr>
447
+ <tr>
448
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.finalize"></a>finalize</code></em> ()</span></p></td>
449
+ <td>instance finalization function, should finish the finalization of
450
+ the instance begun in <em class="parameter"><code>dispose</code></em> and chain up to the <em class="parameter"><code>finalize</code></em> method of the
451
+ parent class.
452
+ </td>
453
+ </tr>
454
+ <tr>
455
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.dispatch-properties-changed"></a>dispatch_properties_changed</code></em> ()</span></p></td>
456
+ <td>emits property change notification for a bunch
457
+ of properties. Overriding <em class="parameter"><code>dispatch_properties_changed</code></em> should be rarely
458
+ needed.
459
+ </td>
460
+ </tr>
461
+ <tr>
462
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.notify"></a>notify</code></em> ()</span></p></td>
463
+ <td>the class closure for the notify signal
464
+ </td>
465
+ </tr>
466
+ <tr>
467
+ <td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.constructed"></a>constructed</code></em> ()</span></p></td>
468
+ <td>the <em class="parameter"><code>constructed</code></em> function is called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()"><code class="function">g_object_new()</code></a> as the
469
+ final step of the object creation process. At the point of the call, all
470
+ construction properties have been set on the object. The purpose of this
471
+ call is to allow for object initialisation steps that can only be performed
472
+ after construction properties have been set. <em class="parameter"><code>constructed</code></em> implementors
473
+ should chain up to the <em class="parameter"><code>constructed</code></em> call of their parent class to allow it
474
+ to complete its initialisation.
475
+ </td>
476
+ </tr>
477
+ </tbody>
478
+ </table></div>
479
+ </div>
480
+ <hr>
481
+ <div class="refsect2" title="GObjectConstructParam">
482
+ <a name="GObjectConstructParam"></a><h3>GObjectConstructParam</h3>
483
+ <pre class="programlisting">typedef struct {
484
+ GParamSpec *pspec;
485
+ GValue *value;
486
+ } GObjectConstructParam;
487
+ </pre>
488
+ <p>
489
+ The <span class="structname">GObjectConstructParam</span> struct is an auxiliary
490
+ structure used to hand <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>/<a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> pairs to the <em class="parameter"><code>constructor</code></em> of
491
+ a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.
492
+ </p>
493
+ <div class="variablelist"><table border="0">
494
+ <col align="left" valign="top">
495
+ <tbody>
496
+ <tr>
497
+ <td><p><span class="term"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *<em class="structfield"><code><a name="GObjectConstructParam.pspec"></a>pspec</code></em>;</span></p></td>
498
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> of the construct parameter
499
+ </td>
500
+ </tr>
501
+ <tr>
502
+ <td><p><span class="term"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *<em class="structfield"><code><a name="GObjectConstructParam.value"></a>value</code></em>;</span></p></td>
503
+ <td>the value to set the parameter to
504
+ </td>
505
+ </tr>
506
+ </tbody>
507
+ </table></div>
508
+ </div>
509
+ <hr>
510
+ <div class="refsect2" title="GObjectGetPropertyFunc ()">
511
+ <a name="GObjectGetPropertyFunc"></a><h3>GObjectGetPropertyFunc ()</h3>
512
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GObjectGetPropertyFunc) (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
513
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
514
+ <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
515
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
516
+ <p>
517
+ The type of the <em class="parameter"><code>get_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.
518
+ </p>
519
+ <div class="variablelist"><table border="0">
520
+ <col align="left" valign="top">
521
+ <tbody>
522
+ <tr>
523
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
524
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
525
+ </td>
526
+ </tr>
527
+ <tr>
528
+ <td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
529
+ <td>the numeric id under which the property was registered with
530
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()"><code class="function">g_object_class_install_property()</code></a>.
531
+ </td>
532
+ </tr>
533
+ <tr>
534
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
535
+ <td>a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> to return the property value in
536
+ </td>
537
+ </tr>
538
+ <tr>
539
+ <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
540
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> describing the property
541
+ </td>
542
+ </tr>
543
+ </tbody>
544
+ </table></div>
545
+ </div>
546
+ <hr>
547
+ <div class="refsect2" title="GObjectSetPropertyFunc ()">
548
+ <a name="GObjectSetPropertyFunc"></a><h3>GObjectSetPropertyFunc ()</h3>
549
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GObjectSetPropertyFunc) (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
550
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
551
+ <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
552
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
553
+ <p>
554
+ The type of the <em class="parameter"><code>set_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.
555
+ </p>
556
+ <div class="variablelist"><table border="0">
557
+ <col align="left" valign="top">
558
+ <tbody>
559
+ <tr>
560
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
561
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
562
+ </td>
563
+ </tr>
564
+ <tr>
565
+ <td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
566
+ <td>the numeric id under which the property was registered with
567
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()"><code class="function">g_object_class_install_property()</code></a>.
568
+ </td>
569
+ </tr>
570
+ <tr>
571
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
572
+ <td>the new value for the property
573
+ </td>
574
+ </tr>
575
+ <tr>
576
+ <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
577
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> describing the property
578
+ </td>
579
+ </tr>
580
+ </tbody>
581
+ </table></div>
582
+ </div>
583
+ <hr>
584
+ <div class="refsect2" title="GObjectFinalizeFunc ()">
585
+ <a name="GObjectFinalizeFunc"></a><h3>GObjectFinalizeFunc ()</h3>
586
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GObjectFinalizeFunc) (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre>
587
+ <p>
588
+ The type of the <em class="parameter"><code>finalize</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.
589
+ </p>
590
+ <div class="variablelist"><table border="0">
591
+ <col align="left" valign="top">
592
+ <tbody><tr>
593
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
594
+ <td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> being finalized
595
+ </td>
596
+ </tr></tbody>
597
+ </table></div>
598
+ </div>
599
+ <hr>
600
+ <div class="refsect2" title="G_TYPE_IS_OBJECT()">
601
+ <a name="G-TYPE-IS-OBJECT:CAPS"></a><h3>G_TYPE_IS_OBJECT()</h3>
602
+ <pre class="programlisting">#define G_TYPE_IS_OBJECT(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
603
+ </pre>
604
+ <p>
605
+ Check if the passed in type id is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a> or derived from it.
606
+ </p>
607
+ <div class="variablelist"><table border="0">
608
+ <col align="left" valign="top">
609
+ <tbody>
610
+ <tr>
611
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
612
+ <td>Type id to check
613
+ </td>
614
+ </tr>
615
+ <tr>
616
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
617
+ <td> <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> or <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, indicating whether <em class="parameter"><code>type</code></em> is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.
618
+ </td>
619
+ </tr>
620
+ </tbody>
621
+ </table></div>
622
+ </div>
623
+ <hr>
624
+ <div class="refsect2" title="G_OBJECT()">
625
+ <a name="G-OBJECT:CAPS"></a><h3>G_OBJECT()</h3>
626
+ <pre class="programlisting">#define G_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
627
+ </pre>
628
+ <p>
629
+ Casts a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or derived pointer into a (GObject*) pointer.
630
+ Depending on the current debugging level, this function may invoke
631
+ certain runtime checks to identify invalid casts.
632
+ </p>
633
+ <div class="variablelist"><table border="0">
634
+ <col align="left" valign="top">
635
+ <tbody><tr>
636
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
637
+ <td>Object which is subject to casting.
638
+ </td>
639
+ </tr></tbody>
640
+ </table></div>
641
+ </div>
642
+ <hr>
643
+ <div class="refsect2" title="G_IS_OBJECT()">
644
+ <a name="G-IS-OBJECT:CAPS"></a><h3>G_IS_OBJECT()</h3>
645
+ <pre class="programlisting">#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT))
646
+ </pre>
647
+ <p>
648
+ Checks whether a valid <a class="link" href="gobject-Type-Information.html#GTypeInstance" title="GTypeInstance"><span class="type">GTypeInstance</span></a> pointer is of type <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.
649
+ </p>
650
+ <div class="variablelist"><table border="0">
651
+ <col align="left" valign="top">
652
+ <tbody><tr>
653
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
654
+ <td>Instance to check for being a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.
655
+ </td>
656
+ </tr></tbody>
657
+ </table></div>
658
+ </div>
659
+ <hr>
660
+ <div class="refsect2" title="G_OBJECT_CLASS()">
661
+ <a name="G-OBJECT-CLASS:CAPS"></a><h3>G_OBJECT_CLASS()</h3>
662
+ <pre class="programlisting">#define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
663
+ </pre>
664
+ <p>
665
+ Casts a derived <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> structure into a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> structure.
666
+ </p>
667
+ <div class="variablelist"><table border="0">
668
+ <col align="left" valign="top">
669
+ <tbody><tr>
670
+ <td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
671
+ <td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
672
+ </td>
673
+ </tr></tbody>
674
+ </table></div>
675
+ </div>
676
+ <hr>
677
+ <div class="refsect2" title="G_IS_OBJECT_CLASS()">
678
+ <a name="G-IS-OBJECT-CLASS:CAPS"></a><h3>G_IS_OBJECT_CLASS()</h3>
679
+ <pre class="programlisting">#define G_IS_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT))
680
+ </pre>
681
+ <p>
682
+ Checks whether <em class="parameter"><code>class</code></em> "is a" valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> structure of type
683
+ <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a> or derived.
684
+ </p>
685
+ <div class="variablelist"><table border="0">
686
+ <col align="left" valign="top">
687
+ <tbody><tr>
688
+ <td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
689
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
690
+ </td>
691
+ </tr></tbody>
692
+ </table></div>
693
+ </div>
694
+ <hr>
695
+ <div class="refsect2" title="G_OBJECT_GET_CLASS()">
696
+ <a name="G-OBJECT-GET-CLASS:CAPS"></a><h3>G_OBJECT_GET_CLASS()</h3>
697
+ <pre class="programlisting">#define G_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
698
+ </pre>
699
+ <p>
700
+ Get the class structure associated to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.
701
+ </p>
702
+ <div class="variablelist"><table border="0">
703
+ <col align="left" valign="top">
704
+ <tbody>
705
+ <tr>
706
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
707
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.
708
+ </td>
709
+ </tr>
710
+ <tr>
711
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
712
+ <td> pointer to object class structure.
713
+ </td>
714
+ </tr>
715
+ </tbody>
716
+ </table></div>
717
+ </div>
718
+ <hr>
719
+ <div class="refsect2" title="G_OBJECT_TYPE()">
720
+ <a name="G-OBJECT-TYPE:CAPS"></a><h3>G_OBJECT_TYPE()</h3>
721
+ <pre class="programlisting">#define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object))
722
+ </pre>
723
+ <p>
724
+ Get the type id of an object.
725
+ </p>
726
+ <div class="variablelist"><table border="0">
727
+ <col align="left" valign="top">
728
+ <tbody>
729
+ <tr>
730
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
731
+ <td>Object to return the type id for.
732
+ </td>
733
+ </tr>
734
+ <tr>
735
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
736
+ <td> Type id of <em class="parameter"><code>object</code></em>.
737
+ </td>
738
+ </tr>
739
+ </tbody>
740
+ </table></div>
741
+ </div>
742
+ <hr>
743
+ <div class="refsect2" title="G_OBJECT_TYPE_NAME()">
744
+ <a name="G-OBJECT-TYPE-NAME:CAPS"></a><h3>G_OBJECT_TYPE_NAME()</h3>
745
+ <pre class="programlisting">#define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object)))
746
+ </pre>
747
+ <p>
748
+ Get the name of an object's type.
749
+ </p>
750
+ <div class="variablelist"><table border="0">
751
+ <col align="left" valign="top">
752
+ <tbody>
753
+ <tr>
754
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
755
+ <td>Object to return the type name for.
756
+ </td>
757
+ </tr>
758
+ <tr>
759
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
760
+ <td> Type name of <em class="parameter"><code>object</code></em>. The string is owned by the type system and
761
+ should not be freed.
762
+ </td>
763
+ </tr>
764
+ </tbody>
765
+ </table></div>
766
+ </div>
767
+ <hr>
768
+ <div class="refsect2" title="G_OBJECT_CLASS_TYPE()">
769
+ <a name="G-OBJECT-CLASS-TYPE:CAPS"></a><h3>G_OBJECT_CLASS_TYPE()</h3>
770
+ <pre class="programlisting">#define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
771
+ </pre>
772
+ <p>
773
+ Get the type id of a class structure.
774
+ </p>
775
+ <div class="variablelist"><table border="0">
776
+ <col align="left" valign="top">
777
+ <tbody>
778
+ <tr>
779
+ <td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
780
+ <td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
781
+ </td>
782
+ </tr>
783
+ <tr>
784
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
785
+ <td> Type id of <em class="parameter"><code>class</code></em>.
786
+ </td>
787
+ </tr>
788
+ </tbody>
789
+ </table></div>
790
+ </div>
791
+ <hr>
792
+ <div class="refsect2" title="G_OBJECT_CLASS_NAME()">
793
+ <a name="G-OBJECT-CLASS-NAME:CAPS"></a><h3>G_OBJECT_CLASS_NAME()</h3>
794
+ <pre class="programlisting">#define G_OBJECT_CLASS_NAME(class) (g_type_name (G_OBJECT_CLASS_TYPE (class)))
795
+ </pre>
796
+ <p>
797
+ Return the name of a class structure's type.
798
+ </p>
799
+ <div class="variablelist"><table border="0">
800
+ <col align="left" valign="top">
801
+ <tbody>
802
+ <tr>
803
+ <td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
804
+ <td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
805
+ </td>
806
+ </tr>
807
+ <tr>
808
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
809
+ <td> Type name of <em class="parameter"><code>class</code></em>. The string is owned by the type system and
810
+ should not be freed.
811
+ </td>
812
+ </tr>
813
+ </tbody>
814
+ </table></div>
815
+ </div>
816
+ <hr>
817
+ <div class="refsect2" title="g_object_class_install_property ()">
818
+ <a name="g-object-class-install-property"></a><h3>g_object_class_install_property ()</h3>
819
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_class_install_property (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
820
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
821
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
822
+ <p>
823
+ Installs a new property. This is usually done in the class initializer.
824
+ </p>
825
+ <p>
826
+ Note that it is possible to redefine a property in a derived class,
827
+ by installing a property with the same name. This can be useful at times,
828
+ e.g. to change the range of allowed values or the default value.
829
+ </p>
830
+ <div class="variablelist"><table border="0">
831
+ <col align="left" valign="top">
832
+ <tbody>
833
+ <tr>
834
+ <td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
835
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
836
+ </td>
837
+ </tr>
838
+ <tr>
839
+ <td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
840
+ <td>the id for the new property
841
+ </td>
842
+ </tr>
843
+ <tr>
844
+ <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
845
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the new property
846
+ </td>
847
+ </tr>
848
+ </tbody>
849
+ </table></div>
850
+ </div>
851
+ <hr>
852
+ <div class="refsect2" title="g_object_class_find_property ()">
853
+ <a name="g-object-class-find-property"></a><h3>g_object_class_find_property ()</h3>
854
+ <pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>* g_object_class_find_property (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
855
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
856
+ <p>
857
+ Looks up the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for a property of a class.
858
+ </p>
859
+ <div class="variablelist"><table border="0">
860
+ <col align="left" valign="top">
861
+ <tbody>
862
+ <tr>
863
+ <td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
864
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
865
+ </td>
866
+ </tr>
867
+ <tr>
868
+ <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
869
+ <td>the name of the property to look up
870
+ </td>
871
+ </tr>
872
+ <tr>
873
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
874
+ <td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the property, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class
875
+ doesn't have a property of that name
876
+ </td>
877
+ </tr>
878
+ </tbody>
879
+ </table></div>
880
+ </div>
881
+ <hr>
882
+ <div class="refsect2" title="g_object_class_list_properties ()">
883
+ <a name="g-object-class-list-properties"></a><h3>g_object_class_list_properties ()</h3>
884
+ <pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>** g_object_class_list_properties (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
885
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);</pre>
886
+ <p>
887
+ Get an array of <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>* for all properties of a class.
888
+ </p>
889
+ <div class="variablelist"><table border="0">
890
+ <col align="left" valign="top">
891
+ <tbody>
892
+ <tr>
893
+ <td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
894
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
895
+ </td>
896
+ </tr>
897
+ <tr>
898
+ <td><p><span class="term"><em class="parameter"><code>n_properties</code></em> :</span></p></td>
899
+ <td>return location for the length of the returned array
900
+ </td>
901
+ </tr>
902
+ <tr>
903
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
904
+ <td> an array of <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>* which should be freed after use
905
+ </td>
906
+ </tr>
907
+ </tbody>
908
+ </table></div>
909
+ </div>
910
+ <hr>
911
+ <div class="refsect2" title="g_object_class_override_property ()">
912
+ <a name="g-object-class-override-property"></a><h3>g_object_class_override_property ()</h3>
913
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_class_override_property (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
914
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
915
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
916
+ <p>
917
+ Registers <em class="parameter"><code>property_id</code></em> as referring to a property with the
918
+ name <em class="parameter"><code>name</code></em> in a parent class or in an interface implemented
919
+ by <em class="parameter"><code>oclass</code></em>. This allows this class to <em class="firstterm">override</em>
920
+ a property implementation in a parent class or to provide
921
+ the implementation of a property from an interface.
922
+ </p>
923
+ <p>
924
+ </p>
925
+ <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;">
926
+ <h3 class="title">Note</h3>
927
+ Internally, overriding is implemented by creating a property of type
928
+ <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride" title="GParamSpecOverride"><span class="type">GParamSpecOverride</span></a>; generally operations that query the properties of
929
+ the object class, such as <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-find-property" title="g_object_class_find_property ()"><code class="function">g_object_class_find_property()</code></a> or
930
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-list-properties" title="g_object_class_list_properties ()"><code class="function">g_object_class_list_properties()</code></a> will return the overridden
931
+ property. However, in one case, the <em class="parameter"><code>construct_properties</code></em> argument of
932
+ the <em class="parameter"><code>constructor</code></em> virtual function, the <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride" title="GParamSpecOverride"><span class="type">GParamSpecOverride</span></a> is passed
933
+ instead, so that the <em class="parameter"><code>param_id</code></em> field of the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> will be
934
+ correct. For virtually all uses, this makes no difference. If you
935
+ need to get the overridden property, you can call
936
+ <a class="link" href="gobject-GParamSpec.html#g-param-spec-get-redirect-target" title="g_param_spec_get_redirect_target ()"><code class="function">g_param_spec_get_redirect_target()</code></a>.
937
+ </div>
938
+ <p>
939
+ </p>
940
+ <div class="variablelist"><table border="0">
941
+ <col align="left" valign="top">
942
+ <tbody>
943
+ <tr>
944
+ <td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
945
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
946
+ </td>
947
+ </tr>
948
+ <tr>
949
+ <td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
950
+ <td>the new property ID
951
+ </td>
952
+ </tr>
953
+ <tr>
954
+ <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
955
+ <td>the name of a property registered in a parent class or
956
+ in an interface of this class.
957
+ </td>
958
+ </tr>
959
+ </tbody>
960
+ </table></div>
961
+ <p class="since">Since 2.4</p>
962
+ </div>
963
+ <hr>
964
+ <div class="refsect2" title="g_object_interface_install_property ()">
965
+ <a name="g-object-interface-install-property"></a><h3>g_object_interface_install_property ()</h3>
966
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_interface_install_property (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
967
+ <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
968
+ <p>
969
+ Add a property to an interface; this is only useful for interfaces
970
+ that are added to GObject-derived types. Adding a property to an
971
+ interface forces all objects classes with that interface to have a
972
+ compatible property. The compatible property could be a newly
973
+ created <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>, but normally
974
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-override-property" title="g_object_class_override_property ()"><code class="function">g_object_class_override_property()</code></a> will be used so that the object
975
+ class only needs to provide an implementation and inherits the
976
+ property description, default value, bounds, and so forth from the
977
+ interface property.
978
+ </p>
979
+ <p>
980
+ This function is meant to be called from the interface's default
981
+ vtable initialization function (the <em class="parameter"><code>class_init</code></em> member of
982
+ <a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo"><span class="type">GTypeInfo</span></a>.) It must not be called after after <em class="parameter"><code>class_init</code></em> has
983
+ been called for any object types implementing this interface.
984
+ </p>
985
+ <div class="variablelist"><table border="0">
986
+ <col align="left" valign="top">
987
+ <tbody>
988
+ <tr>
989
+ <td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
990
+ <td>any interface vtable for the interface, or the default
991
+ vtable for the interface.
992
+ </td>
993
+ </tr>
994
+ <tr>
995
+ <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
996
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the new property
997
+ </td>
998
+ </tr>
999
+ </tbody>
1000
+ </table></div>
1001
+ <p class="since">Since 2.4</p>
1002
+ </div>
1003
+ <hr>
1004
+ <div class="refsect2" title="g_object_interface_find_property ()">
1005
+ <a name="g-object-interface-find-property"></a><h3>g_object_interface_find_property ()</h3>
1006
+ <pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>* g_object_interface_find_property (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
1007
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
1008
+ <p>
1009
+ Find the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> with the given name for an
1010
+ interface. Generally, the interface vtable passed in as <em class="parameter"><code>g_iface</code></em>
1011
+ will be the default vtable from <a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()"><code class="function">g_type_default_interface_ref()</code></a>, or,
1012
+ if you know the interface has already been loaded,
1013
+ <a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()"><code class="function">g_type_default_interface_peek()</code></a>.
1014
+ </p>
1015
+ <div class="variablelist"><table border="0">
1016
+ <col align="left" valign="top">
1017
+ <tbody>
1018
+ <tr>
1019
+ <td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1020
+ <td>any interface vtable for the interface, or the default
1021
+ vtable for the interface
1022
+ </td>
1023
+ </tr>
1024
+ <tr>
1025
+ <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
1026
+ <td>name of a property to lookup.
1027
+ </td>
1028
+ </tr>
1029
+ <tr>
1030
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1031
+ <td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the property of the interface with the
1032
+ name <em class="parameter"><code>property_name</code></em>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such property exists.
1033
+ </td>
1034
+ </tr>
1035
+ </tbody>
1036
+ </table></div>
1037
+ <p class="since">Since 2.4</p>
1038
+ </div>
1039
+ <hr>
1040
+ <div class="refsect2" title="g_object_interface_list_properties ()">
1041
+ <a name="g-object-interface-list-properties"></a><h3>g_object_interface_list_properties ()</h3>
1042
+ <pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="returnvalue">GParamSpec</span></a>** g_object_interface_list_properties (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
1043
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties_p</code></em>);</pre>
1044
+ <p>
1045
+ Lists the properties of an interface.Generally, the interface
1046
+ vtable passed in as <em class="parameter"><code>g_iface</code></em> will be the default vtable from
1047
+ <a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()"><code class="function">g_type_default_interface_ref()</code></a>, or, if you know the interface has
1048
+ already been loaded, <a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()"><code class="function">g_type_default_interface_peek()</code></a>.
1049
+ </p>
1050
+ <div class="variablelist"><table border="0">
1051
+ <col align="left" valign="top">
1052
+ <tbody>
1053
+ <tr>
1054
+ <td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1055
+ <td>any interface vtable for the interface, or the default
1056
+ vtable for the interface
1057
+ </td>
1058
+ </tr>
1059
+ <tr>
1060
+ <td><p><span class="term"><em class="parameter"><code>n_properties_p</code></em> :</span></p></td>
1061
+ <td>location to store number of properties returned.
1062
+ </td>
1063
+ </tr>
1064
+ <tr>
1065
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1066
+ <td> a pointer to an array of pointers to <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>
1067
+ structures. The paramspecs are owned by GLib, but the
1068
+ array should be freed with <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when you are done with
1069
+ it.
1070
+ </td>
1071
+ </tr>
1072
+ </tbody>
1073
+ </table></div>
1074
+ <p class="since">Since 2.4</p>
1075
+ </div>
1076
+ <hr>
1077
+ <div class="refsect2" title="g_object_new ()">
1078
+ <a name="g-object-new"></a><h3>g_object_new ()</h3>
1079
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_new (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
1080
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
1081
+ <em class="parameter"><code>...</code></em>);</pre>
1082
+ <p>
1083
+ Creates a new instance of a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype and sets its properties.
1084
+ </p>
1085
+ <p>
1086
+ Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT:CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY:CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
1087
+ which are not explicitly specified are set to their default values.
1088
+ </p>
1089
+ <div class="variablelist"><table border="0">
1090
+ <col align="left" valign="top">
1091
+ <tbody>
1092
+ <tr>
1093
+ <td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
1094
+ <td>the type id of the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype to instantiate
1095
+ </td>
1096
+ </tr>
1097
+ <tr>
1098
+ <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
1099
+ <td>the name of the first property
1100
+ </td>
1101
+ </tr>
1102
+ <tr>
1103
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1104
+ <td>the value of the first property, followed optionally by more
1105
+ name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1106
+ </td>
1107
+ </tr>
1108
+ <tr>
1109
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1110
+ <td> a new instance of <em class="parameter"><code>object_type</code></em>
1111
+ </td>
1112
+ </tr>
1113
+ </tbody>
1114
+ </table></div>
1115
+ </div>
1116
+ <hr>
1117
+ <div class="refsect2" title="g_object_newv ()">
1118
+ <a name="g-object-newv"></a><h3>g_object_newv ()</h3>
1119
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_newv (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
1120
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
1121
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="GParameter"><span class="type">GParameter</span></a> *parameters</code></em>);</pre>
1122
+ <p>
1123
+ Creates a new instance of a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype and sets its properties.
1124
+ </p>
1125
+ <p>
1126
+ Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT:CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY:CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
1127
+ which are not explicitly specified are set to their default values.
1128
+ </p>
1129
+ <div class="variablelist"><table border="0">
1130
+ <col align="left" valign="top">
1131
+ <tbody>
1132
+ <tr>
1133
+ <td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
1134
+ <td>the type id of the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype to instantiate
1135
+ </td>
1136
+ </tr>
1137
+ <tr>
1138
+ <td><p><span class="term"><em class="parameter"><code>n_parameters</code></em> :</span></p></td>
1139
+ <td>the length of the <em class="parameter"><code>parameters</code></em> array
1140
+ </td>
1141
+ </tr>
1142
+ <tr>
1143
+ <td><p><span class="term"><em class="parameter"><code>parameters</code></em> :</span></p></td>
1144
+ <td>an array of <a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="GParameter"><span class="type">GParameter</span></a>
1145
+ </td>
1146
+ </tr>
1147
+ <tr>
1148
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1149
+ <td> a new instance of <em class="parameter"><code>object_type</code></em>
1150
+ </td>
1151
+ </tr>
1152
+ </tbody>
1153
+ </table></div>
1154
+ </div>
1155
+ <hr>
1156
+ <div class="refsect2" title="GParameter">
1157
+ <a name="GParameter"></a><h3>GParameter</h3>
1158
+ <pre class="programlisting">typedef struct {
1159
+ const gchar *name;
1160
+ GValue value;
1161
+ } GParameter;
1162
+ </pre>
1163
+ <p>
1164
+ The <span class="structname">GParameter</span> struct is an auxiliary structure used
1165
+ to hand parameter name/value pairs to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()"><code class="function">g_object_newv()</code></a>.
1166
+ </p>
1167
+ <div class="variablelist"><table border="0">
1168
+ <col align="left" valign="top">
1169
+ <tbody>
1170
+ <tr>
1171
+ <td><p><span class="term">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GParameter.name"></a>name</code></em>;</span></p></td>
1172
+ <td>the parameter name
1173
+ </td>
1174
+ </tr>
1175
+ <tr>
1176
+ <td><p><span class="term"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> <em class="structfield"><code><a name="GParameter.value"></a>value</code></em>;</span></p></td>
1177
+ <td>the parameter value
1178
+ </td>
1179
+ </tr>
1180
+ </tbody>
1181
+ </table></div>
1182
+ </div>
1183
+ <hr>
1184
+ <div class="refsect2" title="g_object_ref ()">
1185
+ <a name="g-object-ref"></a><h3>g_object_ref ()</h3>
1186
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_ref (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1187
+ <p>
1188
+ Increases the reference count of <em class="parameter"><code>object</code></em>.
1189
+ </p>
1190
+ <div class="variablelist"><table border="0">
1191
+ <col align="left" valign="top">
1192
+ <tbody>
1193
+ <tr>
1194
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1195
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1196
+ </td>
1197
+ </tr>
1198
+ <tr>
1199
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1200
+ <td> the same <em class="parameter"><code>object</code></em>
1201
+ </td>
1202
+ </tr>
1203
+ </tbody>
1204
+ </table></div>
1205
+ </div>
1206
+ <hr>
1207
+ <div class="refsect2" title="g_object_unref ()">
1208
+ <a name="g-object-unref"></a><h3>g_object_unref ()</h3>
1209
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_unref (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1210
+ <p>
1211
+ Decreases the reference count of <em class="parameter"><code>object</code></em>. When its reference count
1212
+ drops to 0, the object is finalized (i.e. its memory is freed).
1213
+ </p>
1214
+ <div class="variablelist"><table border="0">
1215
+ <col align="left" valign="top">
1216
+ <tbody><tr>
1217
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1218
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1219
+ </td>
1220
+ </tr></tbody>
1221
+ </table></div>
1222
+ </div>
1223
+ <hr>
1224
+ <div class="refsect2" title="g_object_ref_sink ()">
1225
+ <a name="g-object-ref-sink"></a><h3>g_object_ref_sink ()</h3>
1226
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_ref_sink (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1227
+ <p>
1228
+ Increase the reference count of <em class="parameter"><code>object</code></em>, and possibly remove the
1229
+ <a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a> reference, if <em class="parameter"><code>object</code></em>
1230
+ has a floating reference.
1231
+ </p>
1232
+ <p>
1233
+ In other words, if the object is floating, then this call "assumes
1234
+ ownership" of the floating reference, converting it to a normal
1235
+ reference by clearing the floating flag while leaving the reference
1236
+ count unchanged. If the object is not floating, then this call
1237
+ adds a new normal reference increasing the reference count by one.
1238
+ </p>
1239
+ <div class="variablelist"><table border="0">
1240
+ <col align="left" valign="top">
1241
+ <tbody>
1242
+ <tr>
1243
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1244
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1245
+ </td>
1246
+ </tr>
1247
+ <tr>
1248
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1249
+ <td> <em class="parameter"><code>object</code></em>
1250
+ </td>
1251
+ </tr>
1252
+ </tbody>
1253
+ </table></div>
1254
+ <p class="since">Since 2.10</p>
1255
+ </div>
1256
+ <hr>
1257
+ <div class="refsect2" title="GInitiallyUnowned">
1258
+ <a name="GInitiallyUnowned"></a><h3>GInitiallyUnowned</h3>
1259
+ <pre class="programlisting">typedef struct _GObject GInitiallyUnowned;
1260
+ </pre>
1261
+ <p>
1262
+ All the fields in the <span class="structname">GInitiallyUnowned</span> structure
1263
+ are private to the <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> implementation and should never be
1264
+ accessed directly.
1265
+ </p>
1266
+ </div>
1267
+ <hr>
1268
+ <div class="refsect2" title="GInitiallyUnownedClass">
1269
+ <a name="GInitiallyUnownedClass"></a><h3>GInitiallyUnownedClass</h3>
1270
+ <pre class="programlisting">typedef struct _GObjectClass GInitiallyUnownedClass;
1271
+ </pre>
1272
+ <p>
1273
+ The class structure for the <span class="structname">GInitiallyUnowned</span> type.
1274
+ </p>
1275
+ </div>
1276
+ <hr>
1277
+ <div class="refsect2" title="G_TYPE_INITIALLY_UNOWNED">
1278
+ <a name="G-TYPE-INITIALLY-UNOWNED:CAPS"></a><h3>G_TYPE_INITIALLY_UNOWNED</h3>
1279
+ <pre class="programlisting">#define G_TYPE_INITIALLY_UNOWNED (g_initially_unowned_get_type())
1280
+ </pre>
1281
+ <p>
1282
+ The type for <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>.
1283
+ </p>
1284
+ </div>
1285
+ <hr>
1286
+ <div class="refsect2" title="g_object_is_floating ()">
1287
+ <a name="g-object-is-floating"></a><h3>g_object_is_floating ()</h3>
1288
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> g_object_is_floating (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1289
+ <p>
1290
+ Checks wether <em class="parameter"><code>object</code></em> has a <a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a>
1291
+ reference.
1292
+ </p>
1293
+ <div class="variablelist"><table border="0">
1294
+ <col align="left" valign="top">
1295
+ <tbody>
1296
+ <tr>
1297
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1298
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1299
+ </td>
1300
+ </tr>
1301
+ <tr>
1302
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1303
+ <td> <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>object</code></em> has a floating reference
1304
+ </td>
1305
+ </tr>
1306
+ </tbody>
1307
+ </table></div>
1308
+ <p class="since">Since 2.10</p>
1309
+ </div>
1310
+ <hr>
1311
+ <div class="refsect2" title="g_object_force_floating ()">
1312
+ <a name="g-object-force-floating"></a><h3>g_object_force_floating ()</h3>
1313
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_force_floating (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre>
1314
+ <p>
1315
+ This function is intended for <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> implementations to re-enforce a
1316
+ <a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a> object reference.
1317
+ Doing this is seldomly required, all
1318
+ <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>s are created with a floating reference which
1319
+ usually just needs to be sunken by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a>.
1320
+ </p>
1321
+ <div class="variablelist"><table border="0">
1322
+ <col align="left" valign="top">
1323
+ <tbody><tr>
1324
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1325
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1326
+ </td>
1327
+ </tr></tbody>
1328
+ </table></div>
1329
+ <p class="since">Since 2.10</p>
1330
+ </div>
1331
+ <hr>
1332
+ <div class="refsect2" title="GWeakNotify ()">
1333
+ <a name="GWeakNotify"></a><h3>GWeakNotify ()</h3>
1334
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GWeakNotify) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
1335
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *where_the_object_was</code></em>);</pre>
1336
+ <p>
1337
+ A <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> function can be added to an object as a callback that gets
1338
+ triggered when the object is finalized. Since the object is already being
1339
+ finalized when the <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> is called, there's not much you could do
1340
+ with the object, apart from e.g. using its adress as hash-index or the like.
1341
+ </p>
1342
+ <div class="variablelist"><table border="0">
1343
+ <col align="left" valign="top">
1344
+ <tbody>
1345
+ <tr>
1346
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1347
+ <td>data that was provided when the weak reference was established
1348
+ </td>
1349
+ </tr>
1350
+ <tr>
1351
+ <td><p><span class="term"><em class="parameter"><code>where_the_object_was</code></em> :</span></p></td>
1352
+ <td>the object being finalized
1353
+ </td>
1354
+ </tr>
1355
+ </tbody>
1356
+ </table></div>
1357
+ </div>
1358
+ <hr>
1359
+ <div class="refsect2" title="g_object_weak_ref ()">
1360
+ <a name="g-object-weak-ref"></a><h3>g_object_weak_ref ()</h3>
1361
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_weak_ref (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1362
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
1363
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1364
+ <p>
1365
+ Adds a weak reference callback to an object. Weak references are
1366
+ used for notification when an object is finalized. They are called
1367
+ "weak references" because they allow you to safely hold a pointer
1368
+ to an object without calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> (<a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> adds a
1369
+ strong reference, that is, forces the object to stay alive).
1370
+ </p>
1371
+ <div class="variablelist"><table border="0">
1372
+ <col align="left" valign="top">
1373
+ <tbody>
1374
+ <tr>
1375
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1376
+ <td>
1377
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to reference weakly
1378
+ </td>
1379
+ </tr>
1380
+ <tr>
1381
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1382
+ <td>callback to invoke before the object is freed
1383
+ </td>
1384
+ </tr>
1385
+ <tr>
1386
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1387
+ <td>extra data to pass to notify
1388
+ </td>
1389
+ </tr>
1390
+ </tbody>
1391
+ </table></div>
1392
+ </div>
1393
+ <hr>
1394
+ <div class="refsect2" title="g_object_weak_unref ()">
1395
+ <a name="g-object-weak-unref"></a><h3>g_object_weak_unref ()</h3>
1396
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_weak_unref (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1397
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
1398
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1399
+ <p>
1400
+ Removes a weak reference callback to an object.
1401
+ </p>
1402
+ <div class="variablelist"><table border="0">
1403
+ <col align="left" valign="top">
1404
+ <tbody>
1405
+ <tr>
1406
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1407
+ <td>
1408
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to remove a weak reference from
1409
+ </td>
1410
+ </tr>
1411
+ <tr>
1412
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1413
+ <td>callback to search for
1414
+ </td>
1415
+ </tr>
1416
+ <tr>
1417
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1418
+ <td>data to search for
1419
+ </td>
1420
+ </tr>
1421
+ </tbody>
1422
+ </table></div>
1423
+ </div>
1424
+ <hr>
1425
+ <div class="refsect2" title="g_object_add_weak_pointer ()">
1426
+ <a name="g-object-add-weak-pointer"></a><h3>g_object_add_weak_pointer ()</h3>
1427
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_add_weak_pointer (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1428
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);</pre>
1429
+ <p>
1430
+ Adds a weak reference from weak_pointer to <em class="parameter"><code>object</code></em> to indicate that
1431
+ the pointer located at <em class="parameter"><code>weak_pointer_location</code></em> is only valid during
1432
+ the lifetime of <em class="parameter"><code>object</code></em>. When the <em class="parameter"><code>object</code></em> is finalized,
1433
+ <em class="parameter"><code>weak_pointer</code></em> will be set to <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1434
+ </p>
1435
+ <div class="variablelist"><table border="0">
1436
+ <col align="left" valign="top">
1437
+ <tbody>
1438
+ <tr>
1439
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1440
+ <td>The object that should be weak referenced.
1441
+ </td>
1442
+ </tr>
1443
+ <tr>
1444
+ <td><p><span class="term"><em class="parameter"><code>weak_pointer_location</code></em> :</span></p></td>
1445
+ <td>The memory address of a pointer.
1446
+ </td>
1447
+ </tr>
1448
+ </tbody>
1449
+ </table></div>
1450
+ </div>
1451
+ <hr>
1452
+ <div class="refsect2" title="g_object_remove_weak_pointer ()">
1453
+ <a name="g-object-remove-weak-pointer"></a><h3>g_object_remove_weak_pointer ()</h3>
1454
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_remove_weak_pointer (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1455
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);</pre>
1456
+ <p>
1457
+ Removes a weak reference from <em class="parameter"><code>object</code></em> that was previously added
1458
+ using <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer" title="g_object_add_weak_pointer ()"><code class="function">g_object_add_weak_pointer()</code></a>. The <em class="parameter"><code>weak_pointer_location</code></em> has
1459
+ to match the one used with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer" title="g_object_add_weak_pointer ()"><code class="function">g_object_add_weak_pointer()</code></a>.
1460
+ </p>
1461
+ <div class="variablelist"><table border="0">
1462
+ <col align="left" valign="top">
1463
+ <tbody>
1464
+ <tr>
1465
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1466
+ <td>The object that is weak referenced.
1467
+ </td>
1468
+ </tr>
1469
+ <tr>
1470
+ <td><p><span class="term"><em class="parameter"><code>weak_pointer_location</code></em> :</span></p></td>
1471
+ <td>The memory address of a pointer.
1472
+ </td>
1473
+ </tr>
1474
+ </tbody>
1475
+ </table></div>
1476
+ </div>
1477
+ <hr>
1478
+ <div class="refsect2" title="GToggleNotify ()">
1479
+ <a name="GToggleNotify"></a><h3>GToggleNotify ()</h3>
1480
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GToggleNotify) (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
1481
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1482
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_last_ref</code></em>);</pre>
1483
+ <p>
1484
+ A callback function used for notification when the state
1485
+ of a toggle reference changes. See <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a>.
1486
+ </p>
1487
+ <div class="variablelist"><table border="0">
1488
+ <col align="left" valign="top">
1489
+ <tbody>
1490
+ <tr>
1491
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1492
+ <td>Callback data passed to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a>
1493
+ </td>
1494
+ </tr>
1495
+ <tr>
1496
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1497
+ <td>The object on which <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a> was called.
1498
+ </td>
1499
+ </tr>
1500
+ <tr>
1501
+ <td><p><span class="term"><em class="parameter"><code>is_last_ref</code></em> :</span></p></td>
1502
+ <td>
1503
+ <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the toggle reference is now the
1504
+ last reference to the object. <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the toggle
1505
+ reference was the last reference and there are now other
1506
+ references.
1507
+ </td>
1508
+ </tr>
1509
+ </tbody>
1510
+ </table></div>
1511
+ </div>
1512
+ <hr>
1513
+ <div class="refsect2" title="g_object_add_toggle_ref ()">
1514
+ <a name="g-object-add-toggle-ref"></a><h3>g_object_add_toggle_ref ()</h3>
1515
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_add_toggle_ref (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1516
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
1517
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1518
+ <p>
1519
+ Increases the reference count of the object by one and sets a
1520
+ callback to be called when all other references to the object are
1521
+ dropped, or when this is already the last reference to the object
1522
+ and another reference is established.
1523
+ </p>
1524
+ <p>
1525
+ This functionality is intended for binding <em class="parameter"><code>object</code></em> to a proxy
1526
+ object managed by another memory manager. This is done with two
1527
+ paired references: the strong reference added by
1528
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a> and a reverse reference to the proxy
1529
+ object which is either a strong reference or weak reference.
1530
+ </p>
1531
+ <p>
1532
+ The setup is that when there are no other references to <em class="parameter"><code>object</code></em>,
1533
+ only a weak reference is held in the reverse direction from <em class="parameter"><code>object</code></em>
1534
+ to the proxy object, but when there are other references held to
1535
+ <em class="parameter"><code>object</code></em>, a strong reference is held. The <em class="parameter"><code>notify</code></em> callback is called
1536
+ when the reference from <em class="parameter"><code>object</code></em> to the proxy object should be
1537
+ <em class="firstterm">toggled</em> from strong to weak (<em class="parameter"><code>is_last_ref</code></em>
1538
+ true) or weak to strong (<em class="parameter"><code>is_last_ref</code></em> false).
1539
+ </p>
1540
+ <p>
1541
+ Since a (normal) reference must be held to the object before
1542
+ calling <code class="function">g_object_toggle_ref()</code>, the initial state of the reverse
1543
+ link is always strong.
1544
+ </p>
1545
+ <p>
1546
+ Multiple toggle references may be added to the same gobject,
1547
+ however if there are multiple toggle references to an object, none
1548
+ of them will ever be notified until all but one are removed. For
1549
+ this reason, you should only ever use a toggle reference if there
1550
+ is important state in the proxy object.
1551
+ </p>
1552
+ <div class="variablelist"><table border="0">
1553
+ <col align="left" valign="top">
1554
+ <tbody>
1555
+ <tr>
1556
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1557
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1558
+ </td>
1559
+ </tr>
1560
+ <tr>
1561
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1562
+ <td>a function to call when this reference is the
1563
+ last reference to the object, or is no longer
1564
+ the last reference.
1565
+ </td>
1566
+ </tr>
1567
+ <tr>
1568
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1569
+ <td>data to pass to <em class="parameter"><code>notify</code></em>
1570
+ </td>
1571
+ </tr>
1572
+ </tbody>
1573
+ </table></div>
1574
+ <p class="since">Since 2.8</p>
1575
+ </div>
1576
+ <hr>
1577
+ <div class="refsect2" title="g_object_remove_toggle_ref ()">
1578
+ <a name="g-object-remove-toggle-ref"></a><h3>g_object_remove_toggle_ref ()</h3>
1579
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_remove_toggle_ref (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1580
+ <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
1581
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1582
+ <p>
1583
+ Removes a reference added with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a>. The
1584
+ reference count of the object is decreased by one.
1585
+ </p>
1586
+ <div class="variablelist"><table border="0">
1587
+ <col align="left" valign="top">
1588
+ <tbody>
1589
+ <tr>
1590
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1591
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1592
+ </td>
1593
+ </tr>
1594
+ <tr>
1595
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1596
+ <td>a function to call when this reference is the
1597
+ last reference to the object, or is no longer
1598
+ the last reference.
1599
+ </td>
1600
+ </tr>
1601
+ <tr>
1602
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1603
+ <td>data to pass to <em class="parameter"><code>notify</code></em>
1604
+ </td>
1605
+ </tr>
1606
+ </tbody>
1607
+ </table></div>
1608
+ <p class="since">Since 2.8</p>
1609
+ </div>
1610
+ <hr>
1611
+ <div class="refsect2" title="g_object_connect ()">
1612
+ <a name="g-object-connect"></a><h3>g_object_connect ()</h3>
1613
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_connect (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
1614
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
1615
+ <em class="parameter"><code>...</code></em>);</pre>
1616
+ <p>
1617
+ A convenience function to connect multiple signals at once.
1618
+ </p>
1619
+ <p>
1620
+ The signal specs expected by this function have the form
1621
+ "modifier::signal_name", where modifier can be one of the following:
1622
+ </p>
1623
+ <div class="variablelist"><table border="0">
1624
+ <col align="left" valign="top">
1625
+ <tbody>
1626
+ <tr>
1627
+ <td><p><span class="term">signal</span></p></td>
1628
+ <td><p>
1629
+ equivalent to <code class="literal">g_signal_connect_data (..., NULL, 0)</code>
1630
+ </p></td>
1631
+ </tr>
1632
+ <tr>
1633
+ <td><p><span class="term">object_signal, </span><span class="term">object-signal</span></p></td>
1634
+ <td><p>
1635
+ equivalent to <code class="literal">g_signal_connect_object (..., 0)</code>
1636
+ </p></td>
1637
+ </tr>
1638
+ <tr>
1639
+ <td><p><span class="term">swapped_signal, </span><span class="term">swapped-signal</span></p></td>
1640
+ <td><p>
1641
+ equivalent to <code class="literal">g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)</code>
1642
+ </p></td>
1643
+ </tr>
1644
+ <tr>
1645
+ <td><p><span class="term">swapped_object_signal, </span><span class="term">swapped-object-signal</span></p></td>
1646
+ <td><p>
1647
+ equivalent to <code class="literal">g_signal_connect_object (..., G_CONNECT_SWAPPED)</code>
1648
+ </p></td>
1649
+ </tr>
1650
+ <tr>
1651
+ <td><p><span class="term">signal_after, </span><span class="term">signal-after</span></p></td>
1652
+ <td><p>
1653
+ equivalent to <code class="literal">g_signal_connect_data (..., NULL, G_CONNECT_AFTER)</code>
1654
+ </p></td>
1655
+ </tr>
1656
+ <tr>
1657
+ <td><p><span class="term">object_signal_after, </span><span class="term">object-signal-after</span></p></td>
1658
+ <td><p>
1659
+ equivalent to <code class="literal">g_signal_connect_object (..., G_CONNECT_AFTER)</code>
1660
+ </p></td>
1661
+ </tr>
1662
+ <tr>
1663
+ <td><p><span class="term">swapped_signal_after, </span><span class="term">swapped-signal-after</span></p></td>
1664
+ <td><p>
1665
+ equivalent to <code class="literal">g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)</code>
1666
+ </p></td>
1667
+ </tr>
1668
+ <tr>
1669
+ <td><p><span class="term">swapped_object_signal_after, </span><span class="term">swapped-object-signal-after</span></p></td>
1670
+ <td><p>
1671
+ equivalent to <code class="literal">g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)</code>
1672
+ </p></td>
1673
+ </tr>
1674
+ </tbody>
1675
+ </table></div>
1676
+ <p>
1677
+ </p>
1678
+ <p>
1679
+ </p>
1680
+ <div class="informalexample">
1681
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1682
+ <tbody>
1683
+ <tr>
1684
+ <td class="listing_lines" align="right"><pre>1
1685
+ 2
1686
+ 3
1687
+ 4
1688
+ 5
1689
+ 6
1690
+ 7
1691
+ 8</pre></td>
1692
+ <td class="listing_code"><pre class="programlisting"><span class="normal">menu</span><span class="symbol">-&gt;</span><span class="normal">toplevel </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-connect">g_object_connect</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GTK_TYPE_WINDOW</span><span class="symbol">,</span>
1693
+ <span class="normal"> </span><span class="string">"type"</span><span class="symbol">,</span><span class="normal"> GTK_WINDOW_POPUP</span><span class="symbol">,</span>
1694
+ <span class="normal"> </span><span class="string">"child"</span><span class="symbol">,</span><span class="normal"> menu</span><span class="symbol">,</span>
1695
+ <span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">),</span>
1696
+ <span class="normal"> </span><span class="string">"signal::event"</span><span class="symbol">,</span><span class="normal"> gtk_menu_window_event</span><span class="symbol">,</span><span class="normal"> menu</span><span class="symbol">,</span>
1697
+ <span class="normal"> </span><span class="string">"signal::size_request"</span><span class="symbol">,</span><span class="normal"> gtk_menu_window_size_request</span><span class="symbol">,</span><span class="normal"> menu</span><span class="symbol">,</span>
1698
+ <span class="normal"> </span><span class="string">"signal::destroy"</span><span class="symbol">,</span><span class="normal"> gtk_widget_destroyed</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">menu</span><span class="symbol">-&gt;</span><span class="normal">toplevel</span><span class="symbol">,</span>
1699
+ <span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
1700
+ </tr>
1701
+ </tbody>
1702
+ </table>
1703
+ </div>
1704
+
1705
+ <p>
1706
+ </p>
1707
+ <div class="variablelist"><table border="0">
1708
+ <col align="left" valign="top">
1709
+ <tbody>
1710
+ <tr>
1711
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1712
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1713
+ </td>
1714
+ </tr>
1715
+ <tr>
1716
+ <td><p><span class="term"><em class="parameter"><code>signal_spec</code></em> :</span></p></td>
1717
+ <td>the spec for the first signal
1718
+ </td>
1719
+ </tr>
1720
+ <tr>
1721
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1722
+ <td>
1723
+ <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> for the first signal, followed by data for the
1724
+ first signal, followed optionally by more signal
1725
+ spec/callback/data triples, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1726
+ </td>
1727
+ </tr>
1728
+ <tr>
1729
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1730
+ <td> <em class="parameter"><code>object</code></em>
1731
+ </td>
1732
+ </tr>
1733
+ </tbody>
1734
+ </table></div>
1735
+ </div>
1736
+ <hr>
1737
+ <div class="refsect2" title="g_object_disconnect ()">
1738
+ <a name="g-object-disconnect"></a><h3>g_object_disconnect ()</h3>
1739
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_disconnect (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
1740
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
1741
+ <em class="parameter"><code>...</code></em>);</pre>
1742
+ <p>
1743
+ A convenience function to disconnect multiple signals at once.
1744
+ </p>
1745
+ <p>
1746
+ The signal specs expected by this function have the form
1747
+ "any_signal", which means to disconnect any signal with matching
1748
+ callback and data, or "any_signal::signal_name", which only
1749
+ disconnects the signal named "signal_name".
1750
+ </p>
1751
+ <div class="variablelist"><table border="0">
1752
+ <col align="left" valign="top">
1753
+ <tbody>
1754
+ <tr>
1755
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1756
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1757
+ </td>
1758
+ </tr>
1759
+ <tr>
1760
+ <td><p><span class="term"><em class="parameter"><code>signal_spec</code></em> :</span></p></td>
1761
+ <td>the spec for the first signal
1762
+ </td>
1763
+ </tr>
1764
+ <tr>
1765
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1766
+ <td>
1767
+ <a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> for the first signal, followed by data for the first signal,
1768
+ followed optionally by more signal spec/callback/data triples,
1769
+ followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1770
+ </td>
1771
+ </tr>
1772
+ </tbody>
1773
+ </table></div>
1774
+ </div>
1775
+ <hr>
1776
+ <div class="refsect2" title="g_object_set ()">
1777
+ <a name="g-object-set"></a><h3>g_object_set ()</h3>
1778
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
1779
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
1780
+ <em class="parameter"><code>...</code></em>);</pre>
1781
+ <p>
1782
+ Sets properties on an object.
1783
+ </p>
1784
+ <div class="variablelist"><table border="0">
1785
+ <col align="left" valign="top">
1786
+ <tbody>
1787
+ <tr>
1788
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1789
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1790
+ </td>
1791
+ </tr>
1792
+ <tr>
1793
+ <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
1794
+ <td>name of the first property to set
1795
+ </td>
1796
+ </tr>
1797
+ <tr>
1798
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1799
+ <td>value for the first property, followed optionally by more
1800
+ name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1801
+ </td>
1802
+ </tr>
1803
+ </tbody>
1804
+ </table></div>
1805
+ </div>
1806
+ <hr>
1807
+ <div class="refsect2" title="g_object_get ()">
1808
+ <a name="g-object-get"></a><h3>g_object_get ()</h3>
1809
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_get (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
1810
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
1811
+ <em class="parameter"><code>...</code></em>);</pre>
1812
+ <p>
1813
+ Gets properties of an object.
1814
+ </p>
1815
+ <p>
1816
+ In general, a copy is made of the property contents and the caller
1817
+ is responsible for freeing the memory in the appropriate manner for
1818
+ the type, for instance by calling <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> or <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()"><code class="function">g_object_unref()</code></a>.
1819
+ </p>
1820
+ <p>
1821
+ </p>
1822
+ <div class="example">
1823
+ <a name="id589616"></a><p class="title"><b>Example 2. Using g_object_get()</b></p>
1824
+ <div class="example-contents">
1825
+ An example of using <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()"><code class="function">g_object_get()</code></a> to get the contents
1826
+ of three properties - one of type <a class="link" href="gobject-Type-Information.html#G-TYPE-INT:CAPS" title="G_TYPE_INT"><span class="type">G_TYPE_INT</span></a>,
1827
+ one of type <a class="link" href="gobject-Type-Information.html#G-TYPE-STRING:CAPS" title="G_TYPE_STRING"><span class="type">G_TYPE_STRING</span></a>, and one of type <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><span class="type">G_TYPE_OBJECT</span></a>:
1828
+ <pre class="programlisting">
1829
+ gint intval;
1830
+ gchar *strval;
1831
+ GObject *objval;
1832
+
1833
+ g_object_get (my_object,
1834
+ "int-property", &amp;intval,
1835
+ "str-property", &amp;strval,
1836
+ "obj-property", &amp;objval,
1837
+ NULL);
1838
+
1839
+ // Do something with intval, strval, objval
1840
+
1841
+ g_free (strval);
1842
+ g_object_unref (objval);
1843
+ </pre>
1844
+ </div>
1845
+ </div>
1846
+ <p><br class="example-break">
1847
+ </p>
1848
+ <div class="variablelist"><table border="0">
1849
+ <col align="left" valign="top">
1850
+ <tbody>
1851
+ <tr>
1852
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1853
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1854
+ </td>
1855
+ </tr>
1856
+ <tr>
1857
+ <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
1858
+ <td>name of the first property to get
1859
+ </td>
1860
+ </tr>
1861
+ <tr>
1862
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1863
+ <td>return location for the first property, followed optionally by more
1864
+ name/return location pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1865
+ </td>
1866
+ </tr>
1867
+ </tbody>
1868
+ </table></div>
1869
+ </div>
1870
+ <hr>
1871
+ <div class="refsect2" title="g_object_notify ()">
1872
+ <a name="g-object-notify"></a><h3>g_object_notify ()</h3>
1873
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_notify (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1874
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
1875
+ <p>
1876
+ Emits a "notify" signal for the property <em class="parameter"><code>property_name</code></em> on <em class="parameter"><code>object</code></em>.
1877
+ </p>
1878
+ <div class="variablelist"><table border="0">
1879
+ <col align="left" valign="top">
1880
+ <tbody>
1881
+ <tr>
1882
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1883
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1884
+ </td>
1885
+ </tr>
1886
+ <tr>
1887
+ <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
1888
+ <td>the name of a property installed on the class of <em class="parameter"><code>object</code></em>.
1889
+ </td>
1890
+ </tr>
1891
+ </tbody>
1892
+ </table></div>
1893
+ </div>
1894
+ <hr>
1895
+ <div class="refsect2" title="g_object_freeze_notify ()">
1896
+ <a name="g-object-freeze-notify"></a><h3>g_object_freeze_notify ()</h3>
1897
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_freeze_notify (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre>
1898
+ <p>
1899
+ Increases the freeze count on <em class="parameter"><code>object</code></em>. If the freeze count is
1900
+ non-zero, the emission of "notify" signals on <em class="parameter"><code>object</code></em> is
1901
+ stopped. The signals are queued until the freeze count is decreased
1902
+ to zero.
1903
+ </p>
1904
+ <p>
1905
+ This is necessary for accessors that modify multiple properties to prevent
1906
+ premature notification while the object is still being modified.
1907
+ </p>
1908
+ <div class="variablelist"><table border="0">
1909
+ <col align="left" valign="top">
1910
+ <tbody><tr>
1911
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1912
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1913
+ </td>
1914
+ </tr></tbody>
1915
+ </table></div>
1916
+ </div>
1917
+ <hr>
1918
+ <div class="refsect2" title="g_object_thaw_notify ()">
1919
+ <a name="g-object-thaw-notify"></a><h3>g_object_thaw_notify ()</h3>
1920
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_thaw_notify (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre>
1921
+ <p>
1922
+ Reverts the effect of a previous call to
1923
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify" title="g_object_freeze_notify ()"><code class="function">g_object_freeze_notify()</code></a>. The freeze count is decreased on <em class="parameter"><code>object</code></em>
1924
+ and when it reaches zero, all queued "notify" signals are emitted.
1925
+ </p>
1926
+ <p>
1927
+ It is an error to call this function when the freeze count is zero.
1928
+ </p>
1929
+ <div class="variablelist"><table border="0">
1930
+ <col align="left" valign="top">
1931
+ <tbody><tr>
1932
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1933
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1934
+ </td>
1935
+ </tr></tbody>
1936
+ </table></div>
1937
+ </div>
1938
+ <hr>
1939
+ <div class="refsect2" title="g_object_get_data ()">
1940
+ <a name="g-object-get-data"></a><h3>g_object_get_data ()</h3>
1941
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_get_data (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1942
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
1943
+ <p>
1944
+ Gets a named field from the objects table of associations (see <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data" title="g_object_set_data ()"><code class="function">g_object_set_data()</code></a>).
1945
+ </p>
1946
+ <div class="variablelist"><table border="0">
1947
+ <col align="left" valign="top">
1948
+ <tbody>
1949
+ <tr>
1950
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1951
+ <td>
1952
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> containing the associations
1953
+ </td>
1954
+ </tr>
1955
+ <tr>
1956
+ <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
1957
+ <td>name of the key for that association
1958
+ </td>
1959
+ </tr>
1960
+ <tr>
1961
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1962
+ <td> the data if found, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such data exists.
1963
+ </td>
1964
+ </tr>
1965
+ </tbody>
1966
+ </table></div>
1967
+ </div>
1968
+ <hr>
1969
+ <div class="refsect2" title="g_object_set_data ()">
1970
+ <a name="g-object-set-data"></a><h3>g_object_set_data ()</h3>
1971
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set_data (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1972
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
1973
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1974
+ <p>
1975
+ Each object carries around a table of associations from
1976
+ strings to pointers. This function lets you set an association.
1977
+ </p>
1978
+ <p>
1979
+ If the object already had an association with that name,
1980
+ the old association will be destroyed.
1981
+ </p>
1982
+ <div class="variablelist"><table border="0">
1983
+ <col align="left" valign="top">
1984
+ <tbody>
1985
+ <tr>
1986
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1987
+ <td>
1988
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> containing the associations.
1989
+ </td>
1990
+ </tr>
1991
+ <tr>
1992
+ <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
1993
+ <td>name of the key
1994
+ </td>
1995
+ </tr>
1996
+ <tr>
1997
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1998
+ <td>data to associate with that key
1999
+ </td>
2000
+ </tr>
2001
+ </tbody>
2002
+ </table></div>
2003
+ </div>
2004
+ <hr>
2005
+ <div class="refsect2" title="g_object_set_data_full ()">
2006
+ <a name="g-object-set-data-full"></a><h3>g_object_set_data_full ()</h3>
2007
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set_data_full (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2008
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2009
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
2010
+ <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
2011
+ <p>
2012
+ Like <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data" title="g_object_set_data ()"><code class="function">g_object_set_data()</code></a> except it adds notification
2013
+ for when the association is destroyed, either by setting it
2014
+ to a different value or when the object is destroyed.
2015
+ </p>
2016
+ <p>
2017
+ Note that the <em class="parameter"><code>destroy</code></em> callback is not called if <em class="parameter"><code>data</code></em> is <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
2018
+ </p>
2019
+ <div class="variablelist"><table border="0">
2020
+ <col align="left" valign="top">
2021
+ <tbody>
2022
+ <tr>
2023
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2024
+ <td>
2025
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> containing the associations
2026
+ </td>
2027
+ </tr>
2028
+ <tr>
2029
+ <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
2030
+ <td>name of the key
2031
+ </td>
2032
+ </tr>
2033
+ <tr>
2034
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2035
+ <td>data to associate with that key
2036
+ </td>
2037
+ </tr>
2038
+ <tr>
2039
+ <td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
2040
+ <td>function to call when the association is destroyed
2041
+ </td>
2042
+ </tr>
2043
+ </tbody>
2044
+ </table></div>
2045
+ </div>
2046
+ <hr>
2047
+ <div class="refsect2" title="g_object_steal_data ()">
2048
+ <a name="g-object-steal-data"></a><h3>g_object_steal_data ()</h3>
2049
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_steal_data (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2050
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
2051
+ <p>
2052
+ Remove a specified datum from the object's data associations,
2053
+ without invoking the association's destroy handler.
2054
+ </p>
2055
+ <div class="variablelist"><table border="0">
2056
+ <col align="left" valign="top">
2057
+ <tbody>
2058
+ <tr>
2059
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2060
+ <td>
2061
+ <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> containing the associations
2062
+ </td>
2063
+ </tr>
2064
+ <tr>
2065
+ <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
2066
+ <td>name of the key
2067
+ </td>
2068
+ </tr>
2069
+ <tr>
2070
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2071
+ <td> the data if found, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such data exists.
2072
+ </td>
2073
+ </tr>
2074
+ </tbody>
2075
+ </table></div>
2076
+ </div>
2077
+ <hr>
2078
+ <div class="refsect2" title="g_object_get_qdata ()">
2079
+ <a name="g-object-get-qdata"></a><h3>g_object_get_qdata ()</h3>
2080
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_get_qdata (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2081
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
2082
+ <p>
2083
+ This function gets back user data pointers stored via
2084
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a>.
2085
+ </p>
2086
+ <div class="variablelist"><table border="0">
2087
+ <col align="left" valign="top">
2088
+ <tbody>
2089
+ <tr>
2090
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2091
+ <td>The GObject to get a stored user data pointer from
2092
+ </td>
2093
+ </tr>
2094
+ <tr>
2095
+ <td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2096
+ <td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer
2097
+ </td>
2098
+ </tr>
2099
+ <tr>
2100
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2101
+ <td> The user data pointer set, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2102
+ </td>
2103
+ </tr>
2104
+ </tbody>
2105
+ </table></div>
2106
+ </div>
2107
+ <hr>
2108
+ <div class="refsect2" title="g_object_set_qdata ()">
2109
+ <a name="g-object-set-qdata"></a><h3>g_object_set_qdata ()</h3>
2110
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set_qdata (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2111
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2112
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
2113
+ <p>
2114
+ This sets an opaque, named pointer on an object.
2115
+ The name is specified through a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> (retrived e.g. via
2116
+ <a href="./../glib/glib/glib-Quarks.html#g-quark-from-static-string"><code class="function">g_quark_from_static_string()</code></a>), and the pointer
2117
+ can be gotten back from the <em class="parameter"><code>object</code></em> with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata" title="g_object_get_qdata ()"><code class="function">g_object_get_qdata()</code></a>
2118
+ until the <em class="parameter"><code>object</code></em> is finalized.
2119
+ Setting a previously set user data pointer, overrides (frees)
2120
+ the old pointer set, using <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> as pointer essentially
2121
+ removes the data stored.
2122
+ </p>
2123
+ <div class="variablelist"><table border="0">
2124
+ <col align="left" valign="top">
2125
+ <tbody>
2126
+ <tr>
2127
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2128
+ <td>The GObject to set store a user data pointer
2129
+ </td>
2130
+ </tr>
2131
+ <tr>
2132
+ <td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2133
+ <td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer
2134
+ </td>
2135
+ </tr>
2136
+ <tr>
2137
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2138
+ <td>An opaque user data pointer
2139
+ </td>
2140
+ </tr>
2141
+ </tbody>
2142
+ </table></div>
2143
+ </div>
2144
+ <hr>
2145
+ <div class="refsect2" title="g_object_set_qdata_full ()">
2146
+ <a name="g-object-set-qdata-full"></a><h3>g_object_set_qdata_full ()</h3>
2147
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set_qdata_full (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2148
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2149
+ <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
2150
+ <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
2151
+ <p>
2152
+ This function works like <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a>, but in addition,
2153
+ a void (*destroy) (gpointer) function may be specified which is
2154
+ called with <em class="parameter"><code>data</code></em> as argument when the <em class="parameter"><code>object</code></em> is finalized, or
2155
+ the data is being overwritten by a call to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a>
2156
+ with the same <em class="parameter"><code>quark</code></em>.
2157
+ </p>
2158
+ <div class="variablelist"><table border="0">
2159
+ <col align="left" valign="top">
2160
+ <tbody>
2161
+ <tr>
2162
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2163
+ <td>The GObject to set store a user data pointer
2164
+ </td>
2165
+ </tr>
2166
+ <tr>
2167
+ <td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2168
+ <td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer
2169
+ </td>
2170
+ </tr>
2171
+ <tr>
2172
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2173
+ <td>An opaque user data pointer
2174
+ </td>
2175
+ </tr>
2176
+ <tr>
2177
+ <td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
2178
+ <td>Function to invoke with <em class="parameter"><code>data</code></em> as argument, when <em class="parameter"><code>data</code></em>
2179
+ needs to be freed
2180
+ </td>
2181
+ </tr>
2182
+ </tbody>
2183
+ </table></div>
2184
+ </div>
2185
+ <hr>
2186
+ <div class="refsect2" title="g_object_steal_qdata ()">
2187
+ <a name="g-object-steal-qdata"></a><h3>g_object_steal_qdata ()</h3>
2188
+ <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> g_object_steal_qdata (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2189
+ <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
2190
+ <p>
2191
+ This function gets back user data pointers stored via
2192
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a> and removes the <em class="parameter"><code>data</code></em> from object
2193
+ without invoking its <code class="function">destroy()</code> function (if any was
2194
+ set).
2195
+ Usually, calling this function is only required to update
2196
+ user data pointers with a destroy notifier, for example:
2197
+ </p>
2198
+ <div class="informalexample">
2199
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2200
+ <tbody>
2201
+ <tr>
2202
+ <td class="listing_lines" align="right"><pre>1
2203
+ 2
2204
+ 3
2205
+ 4
2206
+ 5
2207
+ 6
2208
+ 7
2209
+ 8
2210
+ 9
2211
+ 10
2212
+ 11
2213
+ 12
2214
+ 13
2215
+ 14
2216
+ 15
2217
+ 16
2218
+ 17
2219
+ 18
2220
+ 19
2221
+ 20
2222
+ 21
2223
+ 22
2224
+ 23</pre></td>
2225
+ <td class="listing_code"><pre class="programlisting"><span class="type">void</span>
2226
+ <span class="function">object_add_to_user_list</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">,</span>
2227
+ <span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">new_string</span><span class="symbol">)</span>
2228
+ <span class="cbracket">{</span>
2229
+ <span class="normal"> </span><span class="comment">// the quark, naming the object data</span>
2230
+ <span class="normal"> </span><span class="usertype">GQuark</span><span class="normal"> quark_string_list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Quarks.html#g-quark-from-static-string">g_quark_from_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"my-string-list"</span><span class="symbol">);</span>
2231
+ <span class="normal"> </span><span class="comment">// retrive the old string list</span>
2232
+ <span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-steal-qdata">g_object_steal_qdata</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">,</span><span class="normal"> quark_string_list</span><span class="symbol">);</span>
2233
+
2234
+ <span class="normal"> </span><span class="comment">// prepend new string</span>
2235
+ <span class="normal"> list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">list</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">new_string</span><span class="symbol">));</span>
2236
+ <span class="normal"> </span><span class="comment">// this changed 'list', so we need to set it again</span>
2237
+ <span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full">g_object_set_qdata_full</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">,</span><span class="normal"> quark_string_list</span><span class="symbol">,</span><span class="normal"> list</span><span class="symbol">,</span><span class="normal"> free_string_list</span><span class="symbol">);</span>
2238
+ <span class="cbracket">}</span>
2239
+ <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
2240
+ <span class="function">free_string_list</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
2241
+ <span class="cbracket">{</span>
2242
+ <span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">node</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">list </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
2243
+
2244
+ <span class="normal"> </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">node </span><span class="symbol">=</span><span class="normal"> list</span><span class="symbol">;</span><span class="normal"> node</span><span class="symbol">;</span><span class="normal"> node </span><span class="symbol">=</span><span class="normal"> node</span><span class="symbol">-&gt;</span><span class="normal">next</span><span class="symbol">)</span>
2245
+ <span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">node</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>
2246
+ <span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">list</span><span class="symbol">);</span>
2247
+ <span class="cbracket">}</span></pre></td>
2248
+ </tr>
2249
+ </tbody>
2250
+ </table>
2251
+ </div>
2252
+
2253
+ <p>
2254
+ Using <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata" title="g_object_get_qdata ()"><code class="function">g_object_get_qdata()</code></a> in the above example, instead of
2255
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-qdata" title="g_object_steal_qdata ()"><code class="function">g_object_steal_qdata()</code></a> would have left the destroy function set,
2256
+ and thus the partial string list would have been freed upon
2257
+ <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full" title="g_object_set_qdata_full ()"><code class="function">g_object_set_qdata_full()</code></a>.
2258
+ </p>
2259
+ <div class="variablelist"><table border="0">
2260
+ <col align="left" valign="top">
2261
+ <tbody>
2262
+ <tr>
2263
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2264
+ <td>The GObject to get a stored user data pointer from
2265
+ </td>
2266
+ </tr>
2267
+ <tr>
2268
+ <td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2269
+ <td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer
2270
+ </td>
2271
+ </tr>
2272
+ <tr>
2273
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2274
+ <td> The user data pointer set, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2275
+ </td>
2276
+ </tr>
2277
+ </tbody>
2278
+ </table></div>
2279
+ </div>
2280
+ <hr>
2281
+ <div class="refsect2" title="g_object_set_property ()">
2282
+ <a name="g-object-set-property"></a><h3>g_object_set_property ()</h3>
2283
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set_property (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2284
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
2285
+ <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
2286
+ <p>
2287
+ Sets a property on an object.
2288
+ </p>
2289
+ <div class="variablelist"><table border="0">
2290
+ <col align="left" valign="top">
2291
+ <tbody>
2292
+ <tr>
2293
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2294
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2295
+ </td>
2296
+ </tr>
2297
+ <tr>
2298
+ <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
2299
+ <td>the name of the property to set
2300
+ </td>
2301
+ </tr>
2302
+ <tr>
2303
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2304
+ <td>the value
2305
+ </td>
2306
+ </tr>
2307
+ </tbody>
2308
+ </table></div>
2309
+ </div>
2310
+ <hr>
2311
+ <div class="refsect2" title="g_object_get_property ()">
2312
+ <a name="g-object-get-property"></a><h3>g_object_get_property ()</h3>
2313
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_get_property (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2314
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
2315
+ <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
2316
+ <p>
2317
+ Gets a property of an object.
2318
+ </p>
2319
+ <p>
2320
+ In general, a copy is made of the property contents and the caller is
2321
+ responsible for freeing the memory by calling <a class="link" href="gobject-Generic-values.html#g-value-unset" title="g_value_unset ()"><code class="function">g_value_unset()</code></a>.
2322
+ </p>
2323
+ <p>
2324
+ Note that <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property" title="g_object_get_property ()"><code class="function">g_object_get_property()</code></a> is really intended for language
2325
+ bindings, <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()"><code class="function">g_object_get()</code></a> is much more convenient for C programming.
2326
+ </p>
2327
+ <div class="variablelist"><table border="0">
2328
+ <col align="left" valign="top">
2329
+ <tbody>
2330
+ <tr>
2331
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2332
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2333
+ </td>
2334
+ </tr>
2335
+ <tr>
2336
+ <td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
2337
+ <td>the name of the property to get
2338
+ </td>
2339
+ </tr>
2340
+ <tr>
2341
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2342
+ <td>return location for the property value
2343
+ </td>
2344
+ </tr>
2345
+ </tbody>
2346
+ </table></div>
2347
+ </div>
2348
+ <hr>
2349
+ <div class="refsect2" title="g_object_new_valist ()">
2350
+ <a name="g-object-new-valist"></a><h3>g_object_new_valist ()</h3>
2351
+ <pre class="programlisting"><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a>* g_object_new_valist (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
2352
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2353
+ <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2354
+ <p>
2355
+ Creates a new instance of a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype and sets its properties.
2356
+ </p>
2357
+ <p>
2358
+ Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT:CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY:CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
2359
+ which are not explicitly specified are set to their default values.
2360
+ </p>
2361
+ <div class="variablelist"><table border="0">
2362
+ <col align="left" valign="top">
2363
+ <tbody>
2364
+ <tr>
2365
+ <td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
2366
+ <td>the type id of the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype to instantiate
2367
+ </td>
2368
+ </tr>
2369
+ <tr>
2370
+ <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2371
+ <td>the name of the first property
2372
+ </td>
2373
+ </tr>
2374
+ <tr>
2375
+ <td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2376
+ <td>the value of the first property, followed optionally by more
2377
+ name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2378
+ </td>
2379
+ </tr>
2380
+ <tr>
2381
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2382
+ <td> a new instance of <em class="parameter"><code>object_type</code></em>
2383
+ </td>
2384
+ </tr>
2385
+ </tbody>
2386
+ </table></div>
2387
+ </div>
2388
+ <hr>
2389
+ <div class="refsect2" title="g_object_set_valist ()">
2390
+ <a name="g-object-set-valist"></a><h3>g_object_set_valist ()</h3>
2391
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_set_valist (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2392
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2393
+ <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2394
+ <p>
2395
+ Sets properties on an object.
2396
+ </p>
2397
+ <div class="variablelist"><table border="0">
2398
+ <col align="left" valign="top">
2399
+ <tbody>
2400
+ <tr>
2401
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2402
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2403
+ </td>
2404
+ </tr>
2405
+ <tr>
2406
+ <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2407
+ <td>name of the first property to set
2408
+ </td>
2409
+ </tr>
2410
+ <tr>
2411
+ <td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2412
+ <td>value for the first property, followed optionally by more
2413
+ name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2414
+ </td>
2415
+ </tr>
2416
+ </tbody>
2417
+ </table></div>
2418
+ </div>
2419
+ <hr>
2420
+ <div class="refsect2" title="g_object_get_valist ()">
2421
+ <a name="g-object-get-valist"></a><h3>g_object_get_valist ()</h3>
2422
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_get_valist (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2423
+ <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2424
+ <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2425
+ <p>
2426
+ Gets properties of an object.
2427
+ </p>
2428
+ <p>
2429
+ In general, a copy is made of the property contents and the caller
2430
+ is responsible for freeing the memory in the appropriate manner for
2431
+ the type, for instance by calling <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> or <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()"><code class="function">g_object_unref()</code></a>.
2432
+ </p>
2433
+ <p>
2434
+ See <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()"><code class="function">g_object_get()</code></a>.
2435
+ </p>
2436
+ <div class="variablelist"><table border="0">
2437
+ <col align="left" valign="top">
2438
+ <tbody>
2439
+ <tr>
2440
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2441
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2442
+ </td>
2443
+ </tr>
2444
+ <tr>
2445
+ <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2446
+ <td>name of the first property to get
2447
+ </td>
2448
+ </tr>
2449
+ <tr>
2450
+ <td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2451
+ <td>return location for the first property, followed optionally by more
2452
+ name/return location pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2453
+ </td>
2454
+ </tr>
2455
+ </tbody>
2456
+ </table></div>
2457
+ </div>
2458
+ <hr>
2459
+ <div class="refsect2" title="g_object_watch_closure ()">
2460
+ <a name="g-object-watch-closure"></a><h3>g_object_watch_closure ()</h3>
2461
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_watch_closure (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2462
+ <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre>
2463
+ <p>
2464
+ This function essentially limits the life time of the <em class="parameter"><code>closure</code></em> to
2465
+ the life time of the object. That is, when the object is finalized,
2466
+ the <em class="parameter"><code>closure</code></em> is invalidated by calling <a class="link" href="gobject-Closures.html#g-closure-invalidate" title="g_closure_invalidate ()"><code class="function">g_closure_invalidate()</code></a> on
2467
+ it, in order to prevent invocations of the closure with a finalized
2468
+ (nonexisting) object. Also, <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> and <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()"><code class="function">g_object_unref()</code></a> are
2469
+ added as marshal guards to the <em class="parameter"><code>closure</code></em>, to ensure that an extra
2470
+ reference count is held on <em class="parameter"><code>object</code></em> during invocation of the
2471
+ <em class="parameter"><code>closure</code></em>. Usually, this function will be called on closures that
2472
+ use this <em class="parameter"><code>object</code></em> as closure data.
2473
+ </p>
2474
+ <div class="variablelist"><table border="0">
2475
+ <col align="left" valign="top">
2476
+ <tbody>
2477
+ <tr>
2478
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2479
+ <td>GObject restricting lifetime of <em class="parameter"><code>closure</code></em>
2480
+ </td>
2481
+ </tr>
2482
+ <tr>
2483
+ <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
2484
+ <td>GClosure to watch
2485
+ </td>
2486
+ </tr>
2487
+ </tbody>
2488
+ </table></div>
2489
+ </div>
2490
+ <hr>
2491
+ <div class="refsect2" title="g_object_run_dispose ()">
2492
+ <a name="g-object-run-dispose"></a><h3>g_object_run_dispose ()</h3>
2493
+ <pre class="programlisting"><span class="returnvalue">void</span> g_object_run_dispose (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);</pre>
2494
+ <p>
2495
+ Releases all references to other objects. This can be used to break
2496
+ reference cycles.
2497
+ </p>
2498
+ <p>
2499
+ This functions should only be called from object system implementations.
2500
+ </p>
2501
+ <div class="variablelist"><table border="0">
2502
+ <col align="left" valign="top">
2503
+ <tbody><tr>
2504
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2505
+ <td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2506
+ </td>
2507
+ </tr></tbody>
2508
+ </table></div>
2509
+ </div>
2510
+ <hr>
2511
+ <div class="refsect2" title="G_OBJECT_WARN_INVALID_PROPERTY_ID()">
2512
+ <a name="G-OBJECT-WARN-INVALID-PROPERTY-ID:CAPS"></a><h3>G_OBJECT_WARN_INVALID_PROPERTY_ID()</h3>
2513
+ <pre class="programlisting">#define G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec)</pre>
2514
+ <p>
2515
+ This macro should be used to emit a standard warning about unexpected
2516
+ properties in <code class="function">set_property()</code> and <code class="function">get_property()</code> implementations.
2517
+ </p>
2518
+ <div class="variablelist"><table border="0">
2519
+ <col align="left" valign="top">
2520
+ <tbody>
2521
+ <tr>
2522
+ <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2523
+ <td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> on which <code class="function">set_property()</code> or <code class="function">get_property()</code> was called
2524
+ </td>
2525
+ </tr>
2526
+ <tr>
2527
+ <td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
2528
+ <td>the numeric id of the property
2529
+ </td>
2530
+ </tr>
2531
+ <tr>
2532
+ <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
2533
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> of the property
2534
+ </td>
2535
+ </tr>
2536
+ </tbody>
2537
+ </table></div>
2538
+ </div>
2539
+ </div>
2540
+ <div class="refsect1" title="Signal Details">
2541
+ <a name="gobject-The-Base-Object-Type.signal-details"></a><h2>Signal Details</h2>
2542
+ <div class="refsect2" title='The "notify" signal'>
2543
+ <a name="GObject-notify"></a><h3>The <code class="literal">"notify"</code> signal</h3>
2544
+ <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *gobject,
2545
+ <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> *pspec,
2546
+ <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : Run First / No Recursion / Has Details / Action / No Hooks</pre>
2547
+ <p>
2548
+ The notify signal is emitted on an object when one of its
2549
+ properties has been changed. Note that getting this signal
2550
+ doesn't guarantee that the value of the property has actually
2551
+ changed, it may also be emitted when the setter for the property
2552
+ is called to reinstate the previous value.
2553
+ </p>
2554
+ <p>
2555
+ This signal is typically used to obtain change notification for a
2556
+ single property, by specifying the property name as a detail in the
2557
+ <a class="link" href="gobject-Signals.html#g-signal-connect" title="g_signal_connect()"><code class="function">g_signal_connect()</code></a> call, like this:
2558
+ </p>
2559
+ <div class="informalexample">
2560
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2561
+ <tbody>
2562
+ <tr>
2563
+ <td class="listing_lines" align="right"><pre>1
2564
+ 2
2565
+ 3</pre></td>
2566
+ <td class="listing_code"><pre class="programlisting"><span class="function"><a href="gobject-Signals.html#g-signal-connect">g_signal_connect</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">text_view</span><span class="symbol">-&gt;</span><span class="normal">buffer</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"notify::paste-target-list"</span><span class="symbol">,</span>
2567
+ <span class="normal"> </span><span class="function"><a href="gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gtk_text_view_target_list_notify</span><span class="symbol">),</span>
2568
+ <span class="normal"> text_view</span><span class="symbol">)</span></pre></td>
2569
+ </tr>
2570
+ </tbody>
2571
+ </table>
2572
+ </div>
2573
+
2574
+ <p>
2575
+ It is important to note that you must use
2576
+ <a class="link" href="gobject-GParamSpec.html#canonical-parameter-name">canonical</a> parameter names as
2577
+ detail strings for the notify signal.
2578
+ </p>
2579
+ <div class="variablelist"><table border="0">
2580
+ <col align="left" valign="top">
2581
+ <tbody>
2582
+ <tr>
2583
+ <td><p><span class="term"><em class="parameter"><code>gobject</code></em> :</span></p></td>
2584
+ <td>the object which received the signal.
2585
+ </td>
2586
+ </tr>
2587
+ <tr>
2588
+ <td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
2589
+ <td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> of the property which changed.
2590
+ </td>
2591
+ </tr>
2592
+ <tr>
2593
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
2594
+ <td>user data set when the signal handler was connected.</td>
2595
+ </tr>
2596
+ </tbody>
2597
+ </table></div>
2598
+ </div>
2599
+ </div>
2600
+ <div class="refsect1" title="See Also">
2601
+ <a name="gobject-The-Base-Object-Type.see-also"></a><h2>See Also</h2>
2602
+ <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecObject" title="GParamSpecObject"><span class="type">GParamSpecObject</span></a>, <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-object" title="g_param_spec_object ()"><code class="function">g_param_spec_object()</code></a>
2603
+ </div>
2604
+ </div>
2605
+ <div class="footer">
2606
+ <hr>
2607
+ Generated by GTK-Doc V1.14</div>
2608
+ </body>
2609
+ </html>