atk 0.90.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (849) hide show
  1. data/ChangeLog +241 -0
  2. data/README +30 -0
  3. data/Rakefile +74 -0
  4. data/ext/atk/Makefile +160 -0
  5. data/ext/atk/atk.def +2 -0
  6. data/ext/atk/depend +8 -0
  7. data/ext/atk/extconf.rb +60 -0
  8. data/ext/atk/makeinits.rb +39 -0
  9. data/ext/atk/rbatk.c +27 -0
  10. data/ext/atk/rbatk.h +36 -0
  11. data/ext/atk/rbatkaction.c +81 -0
  12. data/ext/atk/rbatkcomponent.c +184 -0
  13. data/ext/atk/rbatkdocument.c +95 -0
  14. data/ext/atk/rbatkeditabletext.c +102 -0
  15. data/ext/atk/rbatkgobjectaccessible.c +37 -0
  16. data/ext/atk/rbatkhyperlink.c +92 -0
  17. data/ext/atk/rbatkhypertext.c +44 -0
  18. data/ext/atk/rbatkimage.c +62 -0
  19. data/ext/atk/rbatkimplementor.c +27 -0
  20. data/ext/atk/rbatkinits.c +55 -0
  21. data/ext/atk/rbatknoopobject.c +30 -0
  22. data/ext/atk/rbatknoopobjectfactory.c +30 -0
  23. data/ext/atk/rbatkobject.c +178 -0
  24. data/ext/atk/rbatkobjectfactory.c +44 -0
  25. data/ext/atk/rbatkregistry.c +55 -0
  26. data/ext/atk/rbatkrelation.c +104 -0
  27. data/ext/atk/rbatkrelationset.c +94 -0
  28. data/ext/atk/rbatkselection.c +82 -0
  29. data/ext/atk/rbatkstate.c +41 -0
  30. data/ext/atk/rbatkstateset.c +143 -0
  31. data/ext/atk/rbatkstreamablecontent.c +50 -0
  32. data/ext/atk/rbatktable.c +292 -0
  33. data/ext/atk/rbatktext.c +364 -0
  34. data/ext/atk/rbatktextrange.c +91 -0
  35. data/ext/atk/rbatktextrectangle.c +156 -0
  36. data/ext/atk/rbatkutil.c +125 -0
  37. data/ext/atk/rbatkvalue.c +74 -0
  38. data/ext/atk/rbatkversion.h +24 -0
  39. data/extconf.rb +49 -0
  40. data/lib/1.8/atk.so +0 -0
  41. data/lib/1.9/atk.so +0 -0
  42. data/lib/atk.rb +12 -0
  43. data/vendor/local/bin/envsubst.exe +0 -0
  44. data/vendor/local/bin/gettext.exe +0 -0
  45. data/vendor/local/bin/gettext.sh +123 -0
  46. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  47. data/vendor/local/bin/glib-gettextize +188 -0
  48. data/vendor/local/bin/glib-mkenums +511 -0
  49. data/vendor/local/bin/gobject-query.exe +0 -0
  50. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  51. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  52. data/vendor/local/bin/intl.dll +0 -0
  53. data/vendor/local/bin/libasprintf-0.dll +0 -0
  54. data/vendor/local/bin/libatk-1.0-0.dll +0 -0
  55. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  56. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  57. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  58. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  59. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  60. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  61. data/vendor/local/bin/ngettext.exe +0 -0
  62. data/vendor/local/include/atk-1.0/atk/atk-enum-types.h +45 -0
  63. data/vendor/local/include/atk-1.0/atk/atk.h +56 -0
  64. data/vendor/local/include/atk-1.0/atk/atkaction.h +111 -0
  65. data/vendor/local/include/atk-1.0/atk/atkcomponent.h +171 -0
  66. data/vendor/local/include/atk-1.0/atk/atkdocument.h +83 -0
  67. data/vendor/local/include/atk-1.0/atk/atkeditabletext.h +104 -0
  68. data/vendor/local/include/atk-1.0/atk/atkgobjectaccessible.h +65 -0
  69. data/vendor/local/include/atk-1.0/atk/atkhyperlink.h +106 -0
  70. data/vendor/local/include/atk-1.0/atk/atkhyperlinkimpl.h +75 -0
  71. data/vendor/local/include/atk-1.0/atk/atkhypertext.h +78 -0
  72. data/vendor/local/include/atk-1.0/atk/atkimage.h +87 -0
  73. data/vendor/local/include/atk-1.0/atk/atkmisc.h +89 -0
  74. data/vendor/local/include/atk-1.0/atk/atknoopobject.h +55 -0
  75. data/vendor/local/include/atk-1.0/atk/atknoopobjectfactory.h +57 -0
  76. data/vendor/local/include/atk-1.0/atk/atkobject.h +649 -0
  77. data/vendor/local/include/atk-1.0/atk/atkobjectfactory.h +67 -0
  78. data/vendor/local/include/atk-1.0/atk/atkplug.h +61 -0
  79. data/vendor/local/include/atk-1.0/atk/atkregistry.h +69 -0
  80. data/vendor/local/include/atk-1.0/atk/atkrelation.h +89 -0
  81. data/vendor/local/include/atk-1.0/atk/atkrelationset.h +78 -0
  82. data/vendor/local/include/atk-1.0/atk/atkrelationtype.h +83 -0
  83. data/vendor/local/include/atk-1.0/atk/atkselection.h +95 -0
  84. data/vendor/local/include/atk-1.0/atk/atksocket.h +65 -0
  85. data/vendor/local/include/atk-1.0/atk/atkstate.h +178 -0
  86. data/vendor/local/include/atk-1.0/atk/atkstateset.h +80 -0
  87. data/vendor/local/include/atk-1.0/atk/atkstreamablecontent.h +105 -0
  88. data/vendor/local/include/atk-1.0/atk/atktable.h +217 -0
  89. data/vendor/local/include/atk-1.0/atk/atktext.h +365 -0
  90. data/vendor/local/include/atk-1.0/atk/atkutil.h +313 -0
  91. data/vendor/local/include/atk-1.0/atk/atkvalue.h +93 -0
  92. data/vendor/local/include/autosprintf.h +66 -0
  93. data/vendor/local/include/glib-2.0/gio/gappinfo.h +237 -0
  94. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
  95. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
  96. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
  97. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +82 -0
  98. data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
  99. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
  100. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
  101. data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
  102. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +80 -0
  103. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +80 -0
  104. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +133 -0
  105. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +116 -0
  106. data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
  107. data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
  108. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
  109. data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
  110. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
  111. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +133 -0
  112. data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
  113. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +951 -0
  114. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
  115. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
  116. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
  117. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
  118. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
  119. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
  120. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
  121. data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
  122. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
  123. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
  124. data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
  125. data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
  126. data/vendor/local/include/glib-2.0/gio/gio.h +101 -0
  127. data/vendor/local/include/glib-2.0/gio/gioenums.h +703 -0
  128. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +79 -0
  129. data/vendor/local/include/glib-2.0/gio/gioerror.h +48 -0
  130. data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
  131. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
  132. data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
  133. data/vendor/local/include/glib-2.0/gio/giotypes.h +339 -0
  134. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
  135. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
  136. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +97 -0
  137. data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
  138. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
  139. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
  140. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +69 -0
  141. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +69 -0
  142. data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
  143. data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
  144. data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
  145. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
  146. data/vendor/local/include/glib-2.0/gio/gsocket.h +176 -0
  147. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
  148. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
  149. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +130 -0
  150. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +68 -0
  151. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
  152. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
  153. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
  154. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
  155. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
  156. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
  157. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
  158. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
  159. data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
  160. data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
  161. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +151 -0
  162. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +55 -0
  163. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +54 -0
  164. data/vendor/local/include/glib-2.0/glib/galloca.h +63 -0
  165. data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
  166. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
  167. data/vendor/local/include/glib-2.0/glib/gatomic.h +85 -0
  168. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
  169. data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
  170. data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
  171. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +191 -0
  172. data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
  173. data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
  174. data/vendor/local/include/glib-2.0/glib/gcompletion.h +77 -0
  175. data/vendor/local/include/glib-2.0/glib/gconvert.h +138 -0
  176. data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
  177. data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
  178. data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
  179. data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
  180. data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
  181. data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
  182. data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
  183. data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
  184. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
  185. data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
  186. data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
  187. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +250 -0
  188. data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
  189. data/vendor/local/include/glib-2.0/glib/gmacros.h +277 -0
  190. data/vendor/local/include/glib-2.0/glib/gmain.h +304 -0
  191. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
  192. data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
  193. data/vendor/local/include/glib-2.0/glib/gmem.h +203 -0
  194. data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
  195. data/vendor/local/include/glib-2.0/glib/gnode.h +288 -0
  196. data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
  197. data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
  198. data/vendor/local/include/glib-2.0/glib/gpoll.h +93 -0
  199. data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
  200. data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
  201. data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
  202. data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
  203. data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
  204. data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
  205. data/vendor/local/include/glib-2.0/glib/gregex.h +243 -0
  206. data/vendor/local/include/glib-2.0/glib/grel.h +97 -0
  207. data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
  208. data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
  209. data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
  210. data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
  211. data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
  212. data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
  213. data/vendor/local/include/glib-2.0/glib/gstdio.h +159 -0
  214. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +267 -0
  215. data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
  216. data/vendor/local/include/glib-2.0/glib/gtestutils.h +292 -0
  217. data/vendor/local/include/glib-2.0/glib/gthread.h +408 -0
  218. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
  219. data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
  220. data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
  221. data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
  222. data/vendor/local/include/glib-2.0/glib/gunicode.h +404 -0
  223. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
  224. data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
  225. data/vendor/local/include/glib-2.0/glib/gvariant.h +224 -0
  226. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +305 -0
  227. data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
  228. data/vendor/local/include/glib-2.0/glib-object.h +41 -0
  229. data/vendor/local/include/glib-2.0/glib.h +97 -0
  230. data/vendor/local/include/glib-2.0/gmodule.h +101 -0
  231. data/vendor/local/include/glib-2.0/gobject/gboxed.h +236 -0
  232. data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
  233. data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
  234. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +169 -0
  235. data/vendor/local/include/glib-2.0/gobject/gobject.h +562 -0
  236. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +166 -0
  237. data/vendor/local/include/glib-2.0/gobject/gparam.h +410 -0
  238. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1083 -0
  239. data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
  240. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
  241. data/vendor/local/include/glib-2.0/gobject/gtype.h +1608 -0
  242. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
  243. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
  244. data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
  245. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
  246. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +222 -0
  247. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +243 -0
  248. data/vendor/local/include/libintl.h +464 -0
  249. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  250. data/vendor/local/lib/atk-1.0.def +237 -0
  251. data/vendor/local/lib/atk-1.0.lib +0 -0
  252. data/vendor/local/lib/gio-2.0.def +800 -0
  253. data/vendor/local/lib/gio-2.0.lib +0 -0
  254. data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
  255. data/vendor/local/lib/glib-2.0.def +1381 -0
  256. data/vendor/local/lib/glib-2.0.lib +0 -0
  257. data/vendor/local/lib/gmodule-2.0.def +11 -0
  258. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  259. data/vendor/local/lib/gobject-2.0.def +349 -0
  260. data/vendor/local/lib/gobject-2.0.lib +0 -0
  261. data/vendor/local/lib/gthread-2.0.def +3 -0
  262. data/vendor/local/lib/gthread-2.0.lib +0 -0
  263. data/vendor/local/lib/intl.lib +0 -0
  264. data/vendor/local/lib/libasprintf.dll.a +0 -0
  265. data/vendor/local/lib/libatk-1.0.dll.a +0 -0
  266. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  267. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  268. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  269. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  270. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  271. data/vendor/local/lib/libintl.def +31 -0
  272. data/vendor/local/lib/libintl.dll.a +0 -0
  273. data/vendor/local/lib/pkgconfig/atk.pc +11 -0
  274. data/vendor/local/lib/pkgconfig/gio-2.0.pc +14 -0
  275. data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
  276. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
  277. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
  278. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
  279. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
  280. data/vendor/local/manifest/atk-dev_1.30.0-2_win32.mft +37 -0
  281. data/vendor/local/manifest/atk_1.30.0-2_win32.mft +93 -0
  282. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
  283. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
  284. data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
  285. data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
  286. data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
  287. data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
  288. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
  289. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
  290. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
  291. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
  292. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
  293. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
  294. data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
  295. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
  296. data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
  297. data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
  298. data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
  299. data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
  300. data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
  301. data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
  302. data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
  303. data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
  304. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
  305. data/vendor/local/share/glib-2.0/gdb/glib.py +252 -0
  306. data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
  307. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
  308. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +277 -0
  309. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1390 -0
  310. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +531 -0
  311. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
  312. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +568 -0
  313. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +295 -0
  314. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
  315. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
  316. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +388 -0
  317. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +993 -0
  318. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +544 -0
  319. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
  320. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
  321. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
  322. data/vendor/local/share/gtk-doc/html/gio/GFile.html +7450 -0
  323. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +115 -0
  324. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +520 -0
  325. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
  326. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
  327. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3116 -0
  328. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
  329. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
  330. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
  331. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
  332. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +182 -0
  333. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +183 -0
  334. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
  335. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
  336. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
  337. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
  338. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +195 -0
  339. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
  340. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
  341. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
  342. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
  343. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +362 -0
  344. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
  345. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
  346. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +263 -0
  347. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +248 -0
  348. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1006 -0
  349. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
  350. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
  351. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +979 -0
  352. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2152 -0
  353. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
  354. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +930 -0
  355. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +428 -0
  356. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +548 -0
  357. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +274 -0
  358. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +741 -0
  359. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
  360. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
  361. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
  362. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +381 -0
  363. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +280 -0
  364. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
  365. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
  366. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +306 -0
  367. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
  368. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
  369. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +709 -0
  370. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +180 -0
  371. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +128 -0
  372. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
  373. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
  374. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1088 -0
  375. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +206 -0
  376. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +97 -0
  377. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +4499 -0
  378. data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
  379. data/vendor/local/share/gtk-doc/html/gio/ch01.html +171 -0
  380. data/vendor/local/share/gtk-doc/html/gio/ch02.html +45 -0
  381. data/vendor/local/share/gtk-doc/html/gio/ch03.html +80 -0
  382. data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
  383. data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
  384. data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
  385. data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
  386. data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
  387. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +96 -0
  388. data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
  389. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
  390. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
  391. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
  392. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
  393. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +465 -0
  394. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +381 -0
  395. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +163 -0
  396. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +163 -0
  397. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +927 -0
  398. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +328 -0
  399. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
  400. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
  401. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +918 -0
  402. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +107 -0
  403. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1235 -0
  404. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +1384 -0
  405. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  406. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +47 -0
  407. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  408. data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
  409. data/vendor/local/share/gtk-doc/html/gio/index.html +318 -0
  410. data/vendor/local/share/gtk-doc/html/gio/index.sgml +1795 -0
  411. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  412. data/vendor/local/share/gtk-doc/html/gio/migrating.html +42 -0
  413. data/vendor/local/share/gtk-doc/html/gio/networking.html +57 -0
  414. data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
  415. data/vendor/local/share/gtk-doc/html/gio/pt02.html +293 -0
  416. data/vendor/local/share/gtk-doc/html/gio/resolver.html +47 -0
  417. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  418. data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
  419. data/vendor/local/share/gtk-doc/html/gio/style.css +257 -0
  420. data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
  421. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  422. data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
  423. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
  424. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
  425. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
  426. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +563 -0
  427. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
  428. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
  429. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
  430. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
  431. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
  432. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +419 -0
  433. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +389 -0
  434. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +413 -0
  435. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
  436. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +340 -0
  437. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +7835 -0
  438. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  439. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
  440. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
  441. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +413 -0
  442. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +430 -0
  443. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
  444. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
  445. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
  446. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2054 -0
  447. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
  448. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
  449. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
  450. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1187 -0
  451. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1665 -0
  452. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
  453. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
  454. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2042 -0
  455. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
  456. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
  457. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
  458. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1023 -0
  459. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1810 -0
  460. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +3798 -0
  461. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1815 -0
  462. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
  463. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
  464. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
  465. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
  466. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +629 -0
  467. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
  468. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2556 -0
  469. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
  470. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
  471. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
  472. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1029 -0
  473. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
  474. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
  475. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
  476. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +703 -0
  477. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1045 -0
  478. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1523 -0
  479. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1466 -0
  480. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +204 -0
  481. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2648 -0
  482. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
  483. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
  484. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
  485. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +483 -0
  486. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
  487. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
  488. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1283 -0
  489. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1212 -0
  490. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
  491. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +466 -0
  492. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
  493. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2947 -0
  494. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1290 -0
  495. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1719 -0
  496. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3379 -0
  497. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
  498. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
  499. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
  500. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
  501. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
  502. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +314 -0
  503. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3356 -0
  504. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +150 -0
  505. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
  506. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
  507. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +438 -0
  508. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
  509. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
  510. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
  511. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
  512. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
  513. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
  514. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
  515. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2395 -0
  516. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
  517. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +302 -0
  518. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +112 -0
  519. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2084 -0
  520. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2556 -0
  521. data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
  522. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
  523. data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
  524. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1171 -0
  525. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  526. data/vendor/local/share/gtk-doc/html/glib/index.html +336 -0
  527. data/vendor/local/share/gtk-doc/html/glib/index.sgml +2717 -0
  528. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  529. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  530. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/glib/style.css +257 -0
  532. data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
  533. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  534. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
  535. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
  536. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
  537. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
  538. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
  539. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
  540. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
  541. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
  542. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +72 -0
  543. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
  544. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
  545. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
  546. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
  547. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2577 -0
  548. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
  549. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
  550. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
  551. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
  552. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
  553. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
  554. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +355 -0
  555. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +295 -0
  556. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  557. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +406 -0
  558. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2355 -0
  559. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
  560. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1423 -0
  561. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
  562. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
  563. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5242 -0
  564. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2609 -0
  565. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4227 -0
  566. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +413 -0
  567. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +230 -0
  568. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
  569. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
  570. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
  571. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +723 -0
  572. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +757 -0
  573. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
  574. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
  575. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
  576. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
  577. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  578. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
  579. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
  580. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
  581. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
  582. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
  583. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
  584. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
  585. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
  586. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
  587. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
  588. data/vendor/local/share/gtk-doc/html/gobject/index.html +187 -0
  589. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +734 -0
  590. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  591. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
  592. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
  593. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
  594. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
  595. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  596. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +82 -0
  597. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
  598. data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
  599. data/vendor/local/share/gtk-doc/html/gobject/style.css +257 -0
  600. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
  601. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
  602. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
  603. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
  604. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
  605. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  606. data/vendor/local/share/locale/af/LC_MESSAGES/atk10.mo +0 -0
  607. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  608. data/vendor/local/share/locale/am/LC_MESSAGES/atk10.mo +0 -0
  609. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  610. data/vendor/local/share/locale/ar/LC_MESSAGES/atk10.mo +0 -0
  611. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  612. data/vendor/local/share/locale/as/LC_MESSAGES/atk10.mo +0 -0
  613. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  614. data/vendor/local/share/locale/ast/LC_MESSAGES/atk10.mo +0 -0
  615. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  616. data/vendor/local/share/locale/az/LC_MESSAGES/atk10.mo +0 -0
  617. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  618. data/vendor/local/share/locale/be/LC_MESSAGES/atk10.mo +0 -0
  619. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  620. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  621. data/vendor/local/share/locale/be@latin/LC_MESSAGES/atk10.mo +0 -0
  622. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  623. data/vendor/local/share/locale/bg/LC_MESSAGES/atk10.mo +0 -0
  624. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  625. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  626. data/vendor/local/share/locale/bn/LC_MESSAGES/atk10.mo +0 -0
  627. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  628. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/atk10.mo +0 -0
  629. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  630. data/vendor/local/share/locale/bs/LC_MESSAGES/atk10.mo +0 -0
  631. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  632. data/vendor/local/share/locale/ca/LC_MESSAGES/atk10.mo +0 -0
  633. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  634. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  635. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/atk10.mo +0 -0
  636. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  637. data/vendor/local/share/locale/cs/LC_MESSAGES/atk10.mo +0 -0
  638. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  639. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  640. data/vendor/local/share/locale/cy/LC_MESSAGES/atk10.mo +0 -0
  641. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  642. data/vendor/local/share/locale/da/LC_MESSAGES/atk10.mo +0 -0
  643. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  644. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  645. data/vendor/local/share/locale/de/LC_MESSAGES/atk10.mo +0 -0
  646. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  647. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  648. data/vendor/local/share/locale/dz/LC_MESSAGES/atk10.mo +0 -0
  649. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  650. data/vendor/local/share/locale/el/LC_MESSAGES/atk10.mo +0 -0
  651. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  652. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  653. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  654. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  655. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/atk10.mo +0 -0
  656. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  657. data/vendor/local/share/locale/en_CA/LC_MESSAGES/atk10.mo +0 -0
  658. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  659. data/vendor/local/share/locale/en_GB/LC_MESSAGES/atk10.mo +0 -0
  660. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  661. data/vendor/local/share/locale/eo/LC_MESSAGES/atk10.mo +0 -0
  662. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  663. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  664. data/vendor/local/share/locale/es/LC_MESSAGES/atk10.mo +0 -0
  665. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  666. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  667. data/vendor/local/share/locale/et/LC_MESSAGES/atk10.mo +0 -0
  668. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  669. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  670. data/vendor/local/share/locale/eu/LC_MESSAGES/atk10.mo +0 -0
  671. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  672. data/vendor/local/share/locale/fa/LC_MESSAGES/atk10.mo +0 -0
  673. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  674. data/vendor/local/share/locale/fi/LC_MESSAGES/atk10.mo +0 -0
  675. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  676. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  677. data/vendor/local/share/locale/fr/LC_MESSAGES/atk10.mo +0 -0
  678. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  679. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  680. data/vendor/local/share/locale/ga/LC_MESSAGES/atk10.mo +0 -0
  681. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  682. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  683. data/vendor/local/share/locale/gl/LC_MESSAGES/atk10.mo +0 -0
  684. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  685. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  686. data/vendor/local/share/locale/gu/LC_MESSAGES/atk10.mo +0 -0
  687. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  688. data/vendor/local/share/locale/he/LC_MESSAGES/atk10.mo +0 -0
  689. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  690. data/vendor/local/share/locale/hi/LC_MESSAGES/atk10.mo +0 -0
  691. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  692. data/vendor/local/share/locale/hr/LC_MESSAGES/atk10.mo +0 -0
  693. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  694. data/vendor/local/share/locale/hu/LC_MESSAGES/atk10.mo +0 -0
  695. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  696. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  697. data/vendor/local/share/locale/id/LC_MESSAGES/atk10.mo +0 -0
  698. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  699. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  700. data/vendor/local/share/locale/is/LC_MESSAGES/atk10.mo +0 -0
  701. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  702. data/vendor/local/share/locale/it/LC_MESSAGES/atk10.mo +0 -0
  703. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  704. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  705. data/vendor/local/share/locale/ja/LC_MESSAGES/atk10.mo +0 -0
  706. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  707. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  708. data/vendor/local/share/locale/ka/LC_MESSAGES/atk10.mo +0 -0
  709. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  710. data/vendor/local/share/locale/kn/LC_MESSAGES/atk10.mo +0 -0
  711. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  712. data/vendor/local/share/locale/ko/LC_MESSAGES/atk10.mo +0 -0
  713. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  714. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  715. data/vendor/local/share/locale/ku/LC_MESSAGES/atk10.mo +0 -0
  716. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  717. data/vendor/local/share/locale/li/LC_MESSAGES/atk10.mo +0 -0
  718. data/vendor/local/share/locale/locale.alias +77 -0
  719. data/vendor/local/share/locale/lt/LC_MESSAGES/atk10.mo +0 -0
  720. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  721. data/vendor/local/share/locale/lv/LC_MESSAGES/atk10.mo +0 -0
  722. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  723. data/vendor/local/share/locale/mai/LC_MESSAGES/atk10.mo +0 -0
  724. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  725. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  726. data/vendor/local/share/locale/mk/LC_MESSAGES/atk10.mo +0 -0
  727. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/ml/LC_MESSAGES/atk10.mo +0 -0
  729. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/mn/LC_MESSAGES/atk10.mo +0 -0
  731. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  732. data/vendor/local/share/locale/mr/LC_MESSAGES/atk10.mo +0 -0
  733. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/ms/LC_MESSAGES/atk10.mo +0 -0
  735. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  736. data/vendor/local/share/locale/nb/LC_MESSAGES/atk10.mo +0 -0
  737. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  738. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  740. data/vendor/local/share/locale/ne/LC_MESSAGES/atk10.mo +0 -0
  741. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  742. data/vendor/local/share/locale/nl/LC_MESSAGES/atk10.mo +0 -0
  743. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  744. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/nn/LC_MESSAGES/atk10.mo +0 -0
  746. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  747. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  748. data/vendor/local/share/locale/oc/LC_MESSAGES/atk10.mo +0 -0
  749. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  750. data/vendor/local/share/locale/or/LC_MESSAGES/atk10.mo +0 -0
  751. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  752. data/vendor/local/share/locale/pa/LC_MESSAGES/atk10.mo +0 -0
  753. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  754. data/vendor/local/share/locale/pl/LC_MESSAGES/atk10.mo +0 -0
  755. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  756. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  757. data/vendor/local/share/locale/ps/LC_MESSAGES/atk10.mo +0 -0
  758. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  759. data/vendor/local/share/locale/pt/LC_MESSAGES/atk10.mo +0 -0
  760. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  761. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  762. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/atk10.mo +0 -0
  763. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  764. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  765. data/vendor/local/share/locale/ro/LC_MESSAGES/atk10.mo +0 -0
  766. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  767. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  768. data/vendor/local/share/locale/ru/LC_MESSAGES/atk10.mo +0 -0
  769. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  770. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  771. data/vendor/local/share/locale/rw/LC_MESSAGES/atk10.mo +0 -0
  772. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  773. data/vendor/local/share/locale/si/LC_MESSAGES/atk10.mo +0 -0
  774. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  775. data/vendor/local/share/locale/sk/LC_MESSAGES/atk10.mo +0 -0
  776. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  777. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  778. data/vendor/local/share/locale/sl/LC_MESSAGES/atk10.mo +0 -0
  779. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  780. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  781. data/vendor/local/share/locale/sq/LC_MESSAGES/atk10.mo +0 -0
  782. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  783. data/vendor/local/share/locale/sr/LC_MESSAGES/atk10.mo +0 -0
  784. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  785. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  786. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/atk10.mo +0 -0
  787. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  788. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/atk10.mo +0 -0
  789. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  790. data/vendor/local/share/locale/sv/LC_MESSAGES/atk10.mo +0 -0
  791. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  792. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  793. data/vendor/local/share/locale/ta/LC_MESSAGES/atk10.mo +0 -0
  794. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  795. data/vendor/local/share/locale/te/LC_MESSAGES/atk10.mo +0 -0
  796. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  797. data/vendor/local/share/locale/th/LC_MESSAGES/atk10.mo +0 -0
  798. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  799. data/vendor/local/share/locale/tk/LC_MESSAGES/atk10.mo +0 -0
  800. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  801. data/vendor/local/share/locale/tr/LC_MESSAGES/atk10.mo +0 -0
  802. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  803. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  804. data/vendor/local/share/locale/tt/LC_MESSAGES/atk10.mo +0 -0
  805. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  806. data/vendor/local/share/locale/ug/LC_MESSAGES/atk10.mo +0 -0
  807. data/vendor/local/share/locale/uk/LC_MESSAGES/atk10.mo +0 -0
  808. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  809. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  810. data/vendor/local/share/locale/vi/LC_MESSAGES/atk10.mo +0 -0
  811. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  812. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  813. data/vendor/local/share/locale/wa/LC_MESSAGES/atk10.mo +0 -0
  814. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/xh/LC_MESSAGES/atk10.mo +0 -0
  816. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/yi/LC_MESSAGES/atk10.mo +0 -0
  818. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/atk10.mo +0 -0
  820. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  821. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  822. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/atk10.mo +0 -0
  823. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  824. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  825. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/atk10.mo +0 -0
  826. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  827. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  828. data/vendor/local/share/man/man1/envsubst.1 +54 -0
  829. data/vendor/local/share/man/man1/gettext.1 +69 -0
  830. data/vendor/local/share/man/man1/glib-genmarshal.1 +307 -0
  831. data/vendor/local/share/man/man1/glib-mkenums.1 +234 -0
  832. data/vendor/local/share/man/man1/gobject-query.1 +83 -0
  833. data/vendor/local/share/man/man1/ngettext.1 +68 -0
  834. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
  835. data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
  836. data/vendor/local/share/man/man3/dcgettext.3 +1 -0
  837. data/vendor/local/share/man/man3/dcngettext.3 +1 -0
  838. data/vendor/local/share/man/man3/dgettext.3 +1 -0
  839. data/vendor/local/share/man/man3/dngettext.3 +1 -0
  840. data/vendor/local/share/man/man3/gettext.3 +99 -0
  841. data/vendor/local/share/man/man3/ngettext.3 +60 -0
  842. data/vendor/local/share/man/man3/textdomain.3 +57 -0
  843. data/vendor/local/src/tml/packaging/atk_1.30.0-2_win32.log +739 -0
  844. data/vendor/local/src/tml/packaging/atk_1.30.0-2_win32.sh +51 -0
  845. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
  846. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
  847. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
  848. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
  849. metadata +929 -0
@@ -0,0 +1,3798 @@
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>GVariant</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
+ <link rel="home" href="index.html" title="GLib Reference Manual">
8
+ <link rel="up" href="glib-data-types.html" title="GLib Data Types">
9
+ <link rel="prev" href="glib-GVariantType.html" title="GVariantType">
10
+ <link rel="next" href="gvariant-format-strings.html" title="GVariant Format Strings">
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="glib-GVariantType.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="glib-data-types.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">GLib Reference Manual</th>
21
+ <td><a accesskey="n" href="gvariant-format-strings.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="#glib-GVariant.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#glib-GVariant.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry" title="GVariant">
30
+ <a name="glib-GVariant"></a><div class="titlepage"></div>
31
+ <div class="refnamediv"><table width="100%"><tr>
32
+ <td valign="top">
33
+ <h2><span class="refentrytitle"><a name="glib-GVariant.top_of_page"></a>GVariant</span></h2>
34
+ <p>GVariant — strongly typed value datatype</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv" title="Synopsis">
39
+ <a name="glib-GVariant.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis">
41
+ #include &lt;glib.h&gt;
42
+
43
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant">GVariant</a>;
44
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-unref" title="g_variant_unref ()">g_variant_unref</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
45
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-ref" title="g_variant_ref ()">g_variant_ref</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
46
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()">g_variant_ref_sink</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
47
+ const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="returnvalue">GVariantType</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-type" title="g_variant_get_type ()">g_variant_get_type</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
48
+ const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-type-string" title="g_variant_get_type_string ()">g_variant_get_type_string</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
49
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-is-of-type" title="g_variant_is_of_type ()">g_variant_is_of_type</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
50
+ <em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);
51
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-is-container" title="g_variant_is_container ()">g_variant_is_container</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
52
+
53
+ <a class="link" href="glib-GVariant.html#GVariantClass" title="enum GVariantClass"><span class="returnvalue">GVariantClass</span></a> <a class="link" href="glib-GVariant.html#g-variant-classify" title="g_variant_classify ()">g_variant_classify</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
54
+ enum <a class="link" href="glib-GVariant.html#GVariantClass" title="enum GVariantClass">GVariantClass</a>;
55
+
56
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-get" title="g_variant_get ()">g_variant_get</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
57
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
58
+ <em class="parameter"><code>...</code></em>);
59
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-get-va" title="g_variant_get_va ()">g_variant_get_va</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
60
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
61
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
62
+ <em class="parameter"><code><span class="type">va_list</span> *app</code></em>);
63
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()">g_variant_new</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
64
+ <em class="parameter"><code>...</code></em>);
65
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-va" title="g_variant_new_va ()">g_variant_new_va</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
66
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
67
+ <em class="parameter"><code><span class="type">va_list</span> *app</code></em>);
68
+
69
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-boolean" title="g_variant_new_boolean ()">g_variant_new_boolean</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> boolean</code></em>);
70
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-byte" title="g_variant_new_byte ()">g_variant_new_byte</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> byte</code></em>);
71
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-int16" title="g_variant_new_int16 ()">g_variant_new_int16</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="type">gint16</span></a> int16</code></em>);
72
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-uint16" title="g_variant_new_uint16 ()">g_variant_new_uint16</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="type">guint16</span></a> uint16</code></em>);
73
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-int32" title="g_variant_new_int32 ()">g_variant_new_int32</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> int32</code></em>);
74
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-uint32" title="g_variant_new_uint32 ()">g_variant_new_uint32</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> uint32</code></em>);
75
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-int64" title="g_variant_new_int64 ()">g_variant_new_int64</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a> int64</code></em>);
76
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-uint64" title="g_variant_new_uint64 ()">g_variant_new_uint64</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a> uint64</code></em>);
77
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-handle" title="g_variant_new_handle ()">g_variant_new_handle</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> handle</code></em>);
78
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-double" title="g_variant_new_double ()">g_variant_new_double</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> floating</code></em>);
79
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-string" title="g_variant_new_string ()">g_variant_new_string</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
80
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-object-path" title="g_variant_new_object_path ()">g_variant_new_object_path</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *object_path</code></em>);
81
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-is-object-path" title="g_variant_is_object_path ()">g_variant_is_object_path</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
82
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-signature" title="g_variant_new_signature ()">g_variant_new_signature</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *signature</code></em>);
83
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-is-signature" title="g_variant_is_signature ()">g_variant_is_signature</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);
84
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-variant" title="g_variant_new_variant ()">g_variant_new_variant</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
85
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-strv" title="g_variant_new_strv ()">g_variant_new_strv</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> * const *strv</code></em>,
86
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> length</code></em>);
87
+
88
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-boolean" title="g_variant_get_boolean ()">g_variant_get_boolean</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
89
+ <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="returnvalue">guchar</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-byte" title="g_variant_get_byte ()">g_variant_get_byte</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
90
+ <a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="returnvalue">gint16</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-int16" title="g_variant_get_int16 ()">g_variant_get_int16</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
91
+ <a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="returnvalue">guint16</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-uint16" title="g_variant_get_uint16 ()">g_variant_get_uint16</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
92
+ <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-int32" title="g_variant_get_int32 ()">g_variant_get_int32</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
93
+ <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-uint32" title="g_variant_get_uint32 ()">g_variant_get_uint32</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
94
+ <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="returnvalue">gint64</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-int64" title="g_variant_get_int64 ()">g_variant_get_int64</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
95
+ <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="returnvalue">guint64</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-uint64" title="g_variant_get_uint64 ()">g_variant_get_uint64</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
96
+ <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-handle" title="g_variant_get_handle ()">g_variant_get_handle</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
97
+ <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-double" title="g_variant_get_double ()">g_variant_get_double</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
98
+ const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-string" title="g_variant_get_string ()">g_variant_get_string</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
99
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);
100
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-GVariant.html#g-variant-dup-string" title="g_variant_dup_string ()">g_variant_dup_string</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
101
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);
102
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-variant" title="g_variant_get_variant ()">g_variant_get_variant</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
103
+ const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="glib-GVariant.html#g-variant-get-strv" title="g_variant_get_strv ()">g_variant_get_strv</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
104
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);
105
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="glib-GVariant.html#g-variant-dup-strv" title="g_variant_dup_strv ()">g_variant_dup_strv</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
106
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);
107
+
108
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-maybe" title="g_variant_new_maybe ()">g_variant_new_maybe</a> (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *child_type</code></em>,
109
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *child</code></em>);
110
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-array" title="g_variant_new_array ()">g_variant_new_array</a> (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *child_type</code></em>,
111
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> * const *children</code></em>,
112
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n_children</code></em>);
113
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-tuple" title="g_variant_new_tuple ()">g_variant_new_tuple</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> * const *children</code></em>,
114
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n_children</code></em>);
115
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-dict-entry" title="g_variant_new_dict_entry ()">g_variant_new_dict_entry</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *key</code></em>,
116
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
117
+
118
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-maybe" title="g_variant_get_maybe ()">g_variant_get_maybe</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
119
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-GVariant.html#g-variant-n-children" title="g_variant_n_children ()">g_variant_n_children</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
120
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-child-value" title="g_variant_get_child_value ()">g_variant_get_child_value</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
121
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> index_</code></em>);
122
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-get-child" title="g_variant_get_child ()">g_variant_get_child</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
123
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> index_</code></em>,
124
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
125
+ <em class="parameter"><code>...</code></em>);
126
+ <a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="returnvalue">gconstpointer</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-fixed-array" title="g_variant_get_fixed_array ()">g_variant_get_fixed_array</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
127
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *n_elements</code></em>,
128
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> element_size</code></em>);
129
+
130
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-size" title="g_variant_get_size ()">g_variant_get_size</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
131
+ <a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="returnvalue">gconstpointer</span></a> <a class="link" href="glib-GVariant.html#g-variant-get-data" title="g_variant_get_data ()">g_variant_get_data</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
132
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-store" title="g_variant_store ()">g_variant_store</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
133
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
134
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-from-data" title="g_variant_new_from_data ()">g_variant_new_from_data</a> (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>,
135
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
136
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> size</code></em>,
137
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> trusted</code></em>,
138
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>,
139
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
140
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-byteswap" title="g_variant_byteswap ()">g_variant_byteswap</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
141
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-get-normal-form" title="g_variant_get_normal_form ()">g_variant_get_normal_form</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
142
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-is-normal-form" title="g_variant_is_normal_form ()">g_variant_is_normal_form</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
143
+
144
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-GVariant.html#g-variant-hash" title="g_variant_hash ()">g_variant_hash</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> value</code></em>);
145
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-equal" title="g_variant_equal ()">g_variant_equal</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> one</code></em>,
146
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> two</code></em>);
147
+
148
+ <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-GVariant.html#g-variant-print" title="g_variant_print ()">g_variant_print</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
149
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> type_annotate</code></em>);
150
+ <a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * <a class="link" href="glib-GVariant.html#g-variant-print-string" title="g_variant_print_string ()">g_variant_print_string</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
151
+ <em class="parameter"><code><a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> *string</code></em>,
152
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> type_annotate</code></em>);
153
+
154
+ <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter">GVariantIter</a>;
155
+ <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="returnvalue">GVariantIter</span></a> * <a class="link" href="glib-GVariant.html#g-variant-iter-copy" title="g_variant_iter_copy ()">g_variant_iter_copy</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);
156
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-iter-free" title="g_variant_iter_free ()">g_variant_iter_free</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);
157
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-GVariant.html#g-variant-iter-init" title="g_variant_iter_init ()">g_variant_iter_init</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>,
158
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
159
+ <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-GVariant.html#g-variant-iter-n-children" title="g_variant_iter_n_children ()">g_variant_iter_n_children</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);
160
+ <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="returnvalue">GVariantIter</span></a> * <a class="link" href="glib-GVariant.html#g-variant-iter-new" title="g_variant_iter_new ()">g_variant_iter_new</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
161
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-iter-next-value" title="g_variant_iter_next_value ()">g_variant_iter_next_value</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);
162
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-iter-next" title="g_variant_iter_next ()">g_variant_iter_next</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>,
163
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
164
+ <em class="parameter"><code>...</code></em>);
165
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-GVariant.html#g-variant-iter-loop" title="g_variant_iter_loop ()">g_variant_iter_loop</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>,
166
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
167
+ <em class="parameter"><code>...</code></em>);
168
+
169
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder">GVariantBuilder</a>;
170
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-unref" title="g_variant_builder_unref ()">g_variant_builder_unref</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);
171
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="returnvalue">GVariantBuilder</span></a> * <a class="link" href="glib-GVariant.html#g-variant-builder-ref" title="g_variant_builder_ref ()">g_variant_builder_ref</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);
172
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="returnvalue">GVariantBuilder</span></a> * <a class="link" href="glib-GVariant.html#g-variant-builder-new" title="g_variant_builder_new ()">g_variant_builder_new</a> (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);
173
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-init" title="g_variant_builder_init ()">g_variant_builder_init</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
174
+ <em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);
175
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-clear" title="g_variant_builder_clear ()">g_variant_builder_clear</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);
176
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-add-value" title="g_variant_builder_add_value ()">g_variant_builder_add_value</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
177
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);
178
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-add" title="g_variant_builder_add ()">g_variant_builder_add</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
179
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
180
+ <em class="parameter"><code>...</code></em>);
181
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-builder-end" title="g_variant_builder_end ()">g_variant_builder_end</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);
182
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-open" title="g_variant_builder_open ()">g_variant_builder_open</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
183
+ <em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);
184
+ <span class="returnvalue">void</span> <a class="link" href="glib-GVariant.html#g-variant-builder-close" title="g_variant_builder_close ()">g_variant_builder_close</a> (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);
185
+
186
+ #define <a class="link" href="glib-GVariant.html#G-VARIANT-PARSE-ERROR:CAPS" title="G_VARIANT_PARSE_ERROR">G_VARIANT_PARSE_ERROR</a>
187
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-parse" title="g_variant_parse ()">g_variant_parse</a> (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>,
188
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *text</code></em>,
189
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *limit</code></em>,
190
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
191
+ <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **error</code></em>);
192
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-parsed-va" title="g_variant_new_parsed_va ()">g_variant_new_parsed_va</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
193
+ <em class="parameter"><code><span class="type">va_list</span> *app</code></em>);
194
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="glib-GVariant.html#g-variant-new-parsed" title="g_variant_new_parsed ()">g_variant_new_parsed</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
195
+ <em class="parameter"><code>...</code></em>);
196
+ </pre>
197
+ </div>
198
+ <div class="refsect1" title="Description">
199
+ <a name="glib-GVariant.description"></a><h2>Description</h2>
200
+ <p>
201
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a variant datatype; it stores a value along with
202
+ information about the type of that value. The range of possible
203
+ values is determined by the type. The type system used by <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
204
+ is <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>.
205
+ </p>
206
+ <p>
207
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instances always have a type and a value (which are given
208
+ at construction time). The type and value of a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
209
+ can never change other than by the <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> itself being
210
+ destroyed. A <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> can not contain a pointer.
211
+ </p>
212
+ <p>
213
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is reference counted using <a class="link" href="glib-GVariant.html#g-variant-ref" title="g_variant_ref ()"><code class="function">g_variant_ref()</code></a> and
214
+ <a class="link" href="glib-GVariant.html#g-variant-unref" title="g_variant_unref ()"><code class="function">g_variant_unref()</code></a>. <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> also has floating reference counts --
215
+ see <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()"><code class="function">g_variant_ref_sink()</code></a>.
216
+ </p>
217
+ <p>
218
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is completely threadsafe. A <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance can be
219
+ concurrently accessed in any way from any number of threads without
220
+ problems.
221
+ </p>
222
+ <p>
223
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is heavily optimised for dealing with data in serialised
224
+ form. It works particularly well with data located in memory-mapped
225
+ files. It can perform nearly all deserialisation operations in a
226
+ small constant time, usually touching only a single memory page.
227
+ Serialised <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> data can also be sent over the network.
228
+ </p>
229
+ <p>
230
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is largely compatible with DBus. Almost all types of
231
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instances can be sent over DBus. See <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> for
232
+ exceptions.
233
+ </p>
234
+ <p>
235
+ For convenience to C programmers, <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> features powerful
236
+ varargs-based value construction and destruction. This feature is
237
+ designed to be embedded in other libraries.
238
+ </p>
239
+ <p>
240
+ There is a Python-inspired text language for describing <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
241
+ values. <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> includes a printer for this language and a parser
242
+ with type inferencing.
243
+ </p>
244
+ <div class="refsect2" title="Memory Use">
245
+ <a name="id898004"></a><h3>Memory Use</h3>
246
+ <p>
247
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> tries to be quite efficient with respect to memory use.
248
+ This section gives a rough idea of how much memory is used by the
249
+ current implementation. The information here is subject to change
250
+ in the future.
251
+ </p>
252
+ <p>
253
+ The memory allocated by <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> can be grouped into 4 broad
254
+ purposes: memory for serialised data, memory for the type
255
+ information cache, buffer management memory and memory for the
256
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> structure itself.
257
+ </p>
258
+ <div class="refsect3" title="Serialised Data Memory">
259
+ <a name="id921299"></a><h4>Serialised Data Memory</h4>
260
+ <p>
261
+ This is the memory that is used for storing GVariant data in
262
+ serialised form. This is what would be sent over the network or
263
+ what would end up on disk.
264
+ </p>
265
+ <p>
266
+ The amount of memory required to store a boolean is 1 byte. 16,
267
+ 32 and 64 bit integers and double precision floating point numbers
268
+ use their "natural" size. Strings (including object path and
269
+ signature strings) are stored with a nul terminator, and as such
270
+ use the length of the string plus 1 byte.
271
+ </p>
272
+ <p>
273
+ Maybe types use no space at all to represent the null value and
274
+ use the same amount of space (sometimes plus one byte) as the
275
+ equivalent non-maybe-typed value to represent the non-null case.
276
+ </p>
277
+ <p>
278
+ Arrays use the amount of space required to store each of their
279
+ members, concatenated. Additionally, if the items stored in an
280
+ array are not of a fixed-size (ie: strings, other arrays, etc)
281
+ then an additional framing offset is stored for each item. The
282
+ size of this offset is either 1, 2 or 4 bytes depending on the
283
+ overall size of the container. Additionally, extra padding bytes
284
+ are added as required for alignment of child values.
285
+ </p>
286
+ <p>
287
+ Tuples (including dictionary entries) use the amount of space
288
+ required to store each of their members, concatenated, plus one
289
+ framing offset (as per arrays) for each non-fixed-sized item in
290
+ the tuple, except for the last one. Additionally, extra padding
291
+ bytes are added as required for alignment of child values.
292
+ </p>
293
+ <p>
294
+ Variants use the same amount of space as the item inside of the
295
+ variant, plus 1 byte, plus the length of the type string for the
296
+ item inside the variant.
297
+ </p>
298
+ <p>
299
+ As an example, consider a dictionary mapping strings to variants.
300
+ In the case that the dictionary is empty, 0 bytes are required for
301
+ the serialisation.
302
+ </p>
303
+ <p>
304
+ If we add an item "width" that maps to the int32 value of 500 then
305
+ we will use 4 byte to store the int32 (so 6 for the variant
306
+ containing it) and 6 bytes for the string. The variant must be
307
+ aligned to 8 after the 6 bytes of the string, so that's 2 extra
308
+ bytes. 6 (string) + 2 (padding) + 6 (variant) is 14 bytes used
309
+ for the dictionary entry. An additional 1 byte is added to the
310
+ array as a framing offset making a total of 15 bytes.
311
+ </p>
312
+ <p>
313
+ If we add another entry, "title" that maps to a nullable string
314
+ that happens to have a value of null, then we use 0 bytes for the
315
+ null value (and 3 bytes for the variant to contain it along with
316
+ its type string) plus 6 bytes for the string. Again, we need 2
317
+ padding bytes. That makes a total of 6 + 2 + 3 = 11 bytes.
318
+ </p>
319
+ <p>
320
+ We now require extra padding between the two items in the array.
321
+ After the 14 bytes of the first item, that's 2 bytes required. We
322
+ now require 2 framing offsets for an extra two bytes. 14 + 2 + 11
323
+ + 2 = 29 bytes to encode the entire two-item dictionary.
324
+ </p>
325
+ </div>
326
+ <div class="refsect3" title="Type Information Cache">
327
+ <a name="id921363"></a><h4>Type Information Cache</h4>
328
+ <p>
329
+ For each GVariant type that currently exists in the program a type
330
+ information structure is kept in the type information cache. The
331
+ type information structure is required for rapid deserialisation.
332
+ </p>
333
+ <p>
334
+ Continuing with the above example, if a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> exists with the
335
+ type "a{sv}" then a type information struct will exist for
336
+ "a{sv}", "{sv}", "s", and "v". Multiple uses of the same type
337
+ will share the same type information. Additionally, all
338
+ single-digit types are stored in read-only static memory and do
339
+ not contribute to the writable memory footprint of a program using
340
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>.
341
+ </p>
342
+ <p>
343
+ Aside from the type information structures stored in read-only
344
+ memory, there are two forms of type information. One is used for
345
+ container types where there is a single element type: arrays and
346
+ maybe types. The other is used for container types where there
347
+ are multiple element types: tuples and dictionary entries.
348
+ </p>
349
+ <p>
350
+ Array type info structures are 6 * sizeof (void *), plus the
351
+ memory required to store the type string itself. This means that
352
+ on 32bit systems, the cache entry for "a{sv}" would require 30
353
+ bytes of memory (plus malloc overhead).
354
+ </p>
355
+ <p>
356
+ Tuple type info structures are 6 * sizeof (void *), plus 4 *
357
+ sizeof (void *) for each item in the tuple, plus the memory
358
+ required to store the type string itself. A 2-item tuple, for
359
+ example, would have a type information structure that consumed
360
+ writable memory in the size of 14 * sizeof (void *) (plus type
361
+ string) This means that on 32bit systems, the cache entry for
362
+ "{sv}" would require 61 bytes of memory (plus malloc overhead).
363
+ </p>
364
+ <p>
365
+ This means that in total, for our "a{sv}" example, 91 bytes of
366
+ type information would be allocated.
367
+ </p>
368
+ <p>
369
+ The type information cache, additionally, uses a <a class="link" href="glib-Hash-Tables.html#GHashTable" title="GHashTable"><span class="type">GHashTable</span></a> to
370
+ store and lookup the cached items and stores a pointer to this
371
+ hash table in static storage. The hash table is freed when there
372
+ are zero items in the type cache.
373
+ </p>
374
+ <p>
375
+ Although these sizes may seem large it is important to remember
376
+ that a program will probably only have a very small number of
377
+ different types of values in it and that only one type information
378
+ structure is required for many different values of the same type.
379
+ </p>
380
+ </div>
381
+ <div class="refsect3" title="Buffer Management Memory">
382
+ <a name="id921433"></a><h4>Buffer Management Memory</h4>
383
+ <p>
384
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> uses an internal buffer management structure to deal
385
+ with the various different possible sources of serialised data
386
+ that it uses. The buffer is responsible for ensuring that the
387
+ correct call is made when the data is no longer in use by
388
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>. This may involve a <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> or a <a class="link" href="glib-Memory-Slices.html#g-slice-free" title="g_slice_free()"><code class="function">g_slice_free()</code></a> or
389
+ even <a class="link" href="glib-File-Utilities.html#g-mapped-file-unref" title="g_mapped_file_unref ()"><code class="function">g_mapped_file_unref()</code></a>.
390
+ </p>
391
+ <p>
392
+ One buffer management structure is used for each chunk of
393
+ serialised data. The size of the buffer management structure is 4
394
+ * (void *). On 32bit systems, that's 16 bytes.
395
+ </p>
396
+ </div>
397
+ <div class="refsect3" title="GVariant structure">
398
+ <a name="id921487"></a><h4>GVariant structure</h4>
399
+ <p>
400
+ The size of a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> structure is 6 * (void *). On 32 bit
401
+ systems, that's 24 bytes.
402
+ </p>
403
+ <p>
404
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> structures only exist if they are explicitly created
405
+ with API calls. For example, if a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is constructed out of
406
+ serialised data for the example given above (with the dictionary)
407
+ then although there are 9 individual values that comprise the
408
+ entire dictionary (two keys, two values, two variants containing
409
+ the values, two dictionary entries, plus the dictionary itself),
410
+ only 1 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance exists -- the one refering to the
411
+ dictionary.
412
+ </p>
413
+ <p>
414
+ If calls are made to start accessing the other values then
415
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instances will exist for those values only for as long
416
+ as they are in use (ie: until you call <a class="link" href="glib-GVariant.html#g-variant-unref" title="g_variant_unref ()"><code class="function">g_variant_unref()</code></a>). The
417
+ type information is shared. The serialised data and the buffer
418
+ management structure for that serialised data is shared by the
419
+ child.
420
+ </p>
421
+ </div>
422
+ <div class="refsect3" title="Summary">
423
+ <a name="id921548"></a><h4>Summary</h4>
424
+ <p>
425
+ To put the entire example together, for our dictionary mapping
426
+ strings to variants (with two entries, as given above), we are
427
+ using 91 bytes of memory for type information, 29 byes of memory
428
+ for the serialised data, 16 bytes for buffer management and 24
429
+ bytes for the <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance, or a total of 160 bytes, plus
430
+ malloc overhead. If we were to use <a class="link" href="glib-GVariant.html#g-variant-get-child-value" title="g_variant_get_child_value ()"><code class="function">g_variant_get_child_value()</code></a> to
431
+ access the two dictionary entries, we would use an additional 48
432
+ bytes. If we were to have other dictionaries of the same type, we
433
+ would use more memory for the serialised data and buffer
434
+ management for those dictionaries, but the type information would
435
+ be shared.
436
+ </p>
437
+ </div>
438
+ </div>
439
+ </div>
440
+ <div class="refsect1" title="Details">
441
+ <a name="glib-GVariant.details"></a><h2>Details</h2>
442
+ <div class="refsect2" title="GVariant">
443
+ <a name="GVariant"></a><h3>GVariant</h3>
444
+ <pre class="programlisting">typedef struct _GVariant GVariant;</pre>
445
+ <p>
446
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is an opaque data structure and can only be accessed
447
+ using the following functions.
448
+ </p>
449
+ <p class="since">Since 2.24</p>
450
+ </div>
451
+ <hr>
452
+ <div class="refsect2" title="g_variant_unref ()">
453
+ <a name="g-variant-unref"></a><h3>g_variant_unref ()</h3>
454
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_unref (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
455
+ <p>
456
+ Decreases the reference count of <em class="parameter"><code>value</code></em>. When its reference count
457
+ drops to 0, the memory used by the variant is freed.
458
+ </p>
459
+ <div class="variablelist"><table border="0">
460
+ <col align="left" valign="top">
461
+ <tbody><tr>
462
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
463
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
464
+ </td>
465
+ </tr></tbody>
466
+ </table></div>
467
+ <p class="since">Since 2.24</p>
468
+ </div>
469
+ <hr>
470
+ <div class="refsect2" title="g_variant_ref ()">
471
+ <a name="g-variant-ref"></a><h3>g_variant_ref ()</h3>
472
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_ref (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
473
+ <p>
474
+ Increases the reference count of <em class="parameter"><code>value</code></em>.
475
+ </p>
476
+ <div class="variablelist"><table border="0">
477
+ <col align="left" valign="top">
478
+ <tbody>
479
+ <tr>
480
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
481
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
482
+ </td>
483
+ </tr>
484
+ <tr>
485
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
486
+ <td>the same <em class="parameter"><code>value</code></em>
487
+ </td>
488
+ </tr>
489
+ </tbody>
490
+ </table></div>
491
+ <p class="since">Since 2.24</p>
492
+ </div>
493
+ <hr>
494
+ <div class="refsect2" title="g_variant_ref_sink ()">
495
+ <a name="g-variant-ref-sink"></a><h3>g_variant_ref_sink ()</h3>
496
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_ref_sink (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
497
+ <p>
498
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> uses a floating reference count system. All functions with
499
+ names starting with <code class="literal">g_variant_new_</code> return floating
500
+ references.
501
+ </p>
502
+ <p>
503
+ Calling <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()"><code class="function">g_variant_ref_sink()</code></a> on a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> with a floating reference
504
+ will convert the floating reference into a full reference. Calling
505
+ <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()"><code class="function">g_variant_ref_sink()</code></a> on a non-floating <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> results in an
506
+ additional normal reference being added.
507
+ </p>
508
+ <p>
509
+ In other words, if the <em class="parameter"><code>value</code></em> is floating, then this call "assumes
510
+ ownership" of the floating reference, converting it to a normal
511
+ reference. If the <em class="parameter"><code>value</code></em> is not floating, then this call adds a
512
+ new normal reference increasing the reference count by one.
513
+ </p>
514
+ <p>
515
+ All calls that result in a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance being inserted into a
516
+ container will call <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()"><code class="function">g_variant_ref_sink()</code></a> on the instance. This means
517
+ that if the value was just created (and has only its floating
518
+ reference) then the container will assume sole ownership of the value
519
+ at that point and the caller will not need to unreference it. This
520
+ makes certain common styles of programming much easier while still
521
+ maintaining normal refcounting semantics in situations where values
522
+ are not floating.
523
+ </p>
524
+ <div class="variablelist"><table border="0">
525
+ <col align="left" valign="top">
526
+ <tbody>
527
+ <tr>
528
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
529
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
530
+ </td>
531
+ </tr>
532
+ <tr>
533
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
534
+ <td>the same <em class="parameter"><code>value</code></em>
535
+ </td>
536
+ </tr>
537
+ </tbody>
538
+ </table></div>
539
+ <p class="since">Since 2.24</p>
540
+ </div>
541
+ <hr>
542
+ <div class="refsect2" title="g_variant_get_type ()">
543
+ <a name="g-variant-get-type"></a><h3>g_variant_get_type ()</h3>
544
+ <pre class="programlisting">const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="returnvalue">GVariantType</span></a> * g_variant_get_type (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
545
+ <p>
546
+ Determines the type of <em class="parameter"><code>value</code></em>.
547
+ </p>
548
+ <p>
549
+ The return value is valid for the lifetime of <em class="parameter"><code>value</code></em> and must not
550
+ be freed.
551
+ </p>
552
+ <div class="variablelist"><table border="0">
553
+ <col align="left" valign="top">
554
+ <tbody>
555
+ <tr>
556
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
557
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
558
+ </td>
559
+ </tr>
560
+ <tr>
561
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
562
+ <td>a <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>
563
+ </td>
564
+ </tr>
565
+ </tbody>
566
+ </table></div>
567
+ <p class="since">Since 2.24</p>
568
+ </div>
569
+ <hr>
570
+ <div class="refsect2" title="g_variant_get_type_string ()">
571
+ <a name="g-variant-get-type-string"></a><h3>g_variant_get_type_string ()</h3>
572
+ <pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_variant_get_type_string (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
573
+ <p>
574
+ Returns the type string of <em class="parameter"><code>value</code></em>. Unlike the result of calling
575
+ <a class="link" href="glib-GVariantType.html#g-variant-type-peek-string" title="g_variant_type_peek_string ()"><code class="function">g_variant_type_peek_string()</code></a>, this string is nul-terminated. This
576
+ string belongs to <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> and must not be freed.
577
+ </p>
578
+ <div class="variablelist"><table border="0">
579
+ <col align="left" valign="top">
580
+ <tbody>
581
+ <tr>
582
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
583
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
584
+ </td>
585
+ </tr>
586
+ <tr>
587
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
588
+ <td>the type string for the type of <em class="parameter"><code>value</code></em>
589
+ </td>
590
+ </tr>
591
+ </tbody>
592
+ </table></div>
593
+ <p class="since">Since 2.24</p>
594
+ </div>
595
+ <hr>
596
+ <div class="refsect2" title="g_variant_is_of_type ()">
597
+ <a name="g-variant-is-of-type"></a><h3>g_variant_is_of_type ()</h3>
598
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_is_of_type (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
599
+ <em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);</pre>
600
+ <p>
601
+ Checks if a value has a type matching the provided type.
602
+ </p>
603
+ <div class="variablelist"><table border="0">
604
+ <col align="left" valign="top">
605
+ <tbody>
606
+ <tr>
607
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
608
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
609
+ </td>
610
+ </tr>
611
+ <tr>
612
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
613
+ <td>a <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>
614
+ </td>
615
+ </tr>
616
+ <tr>
617
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
618
+ <td>
619
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the type of <em class="parameter"><code>value</code></em> matches <em class="parameter"><code>type</code></em>
620
+ </td>
621
+ </tr>
622
+ </tbody>
623
+ </table></div>
624
+ <p class="since">Since 2.24</p>
625
+ </div>
626
+ <hr>
627
+ <div class="refsect2" title="g_variant_is_container ()">
628
+ <a name="g-variant-is-container"></a><h3>g_variant_is_container ()</h3>
629
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_is_container (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
630
+ <p>
631
+ Checks if <em class="parameter"><code>value</code></em> is a container.
632
+ </p>
633
+ <div class="variablelist"><table border="0">
634
+ <col align="left" valign="top">
635
+ <tbody>
636
+ <tr>
637
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
638
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
639
+ </td>
640
+ </tr>
641
+ <tr>
642
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
643
+ <td>
644
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>value</code></em> is a container
645
+ </td>
646
+ </tr>
647
+ </tbody>
648
+ </table></div>
649
+ </div>
650
+ <hr>
651
+ <div class="refsect2" title="g_variant_classify ()">
652
+ <a name="g-variant-classify"></a><h3>g_variant_classify ()</h3>
653
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariantClass" title="enum GVariantClass"><span class="returnvalue">GVariantClass</span></a> g_variant_classify (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
654
+ <p>
655
+ Classifies <em class="parameter"><code>value</code></em> according to its top-level type.
656
+ </p>
657
+ <div class="variablelist"><table border="0">
658
+ <col align="left" valign="top">
659
+ <tbody>
660
+ <tr>
661
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
662
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
663
+ </td>
664
+ </tr>
665
+ <tr>
666
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
667
+ <td>the <a class="link" href="glib-GVariant.html#GVariantClass" title="enum GVariantClass"><span class="type">GVariantClass</span></a> of <em class="parameter"><code>value</code></em>
668
+ </td>
669
+ </tr>
670
+ </tbody>
671
+ </table></div>
672
+ <p class="since">Since 2.24</p>
673
+ </div>
674
+ <hr>
675
+ <div class="refsect2" title="enum GVariantClass">
676
+ <a name="GVariantClass"></a><h3>enum GVariantClass</h3>
677
+ <pre class="programlisting">typedef enum
678
+ {
679
+ G_VARIANT_CLASS_BOOLEAN = 'b',
680
+ G_VARIANT_CLASS_BYTE = 'y',
681
+ G_VARIANT_CLASS_INT16 = 'n',
682
+ G_VARIANT_CLASS_UINT16 = 'q',
683
+ G_VARIANT_CLASS_INT32 = 'i',
684
+ G_VARIANT_CLASS_UINT32 = 'u',
685
+ G_VARIANT_CLASS_INT64 = 'x',
686
+ G_VARIANT_CLASS_UINT64 = 't',
687
+ G_VARIANT_CLASS_HANDLE = 'h',
688
+ G_VARIANT_CLASS_DOUBLE = 'd',
689
+ G_VARIANT_CLASS_STRING = 's',
690
+ G_VARIANT_CLASS_OBJECT_PATH = 'o',
691
+ G_VARIANT_CLASS_SIGNATURE = 'g',
692
+ G_VARIANT_CLASS_VARIANT = 'v',
693
+ G_VARIANT_CLASS_MAYBE = 'm',
694
+ G_VARIANT_CLASS_ARRAY = 'a',
695
+ G_VARIANT_CLASS_TUPLE = '(',
696
+ G_VARIANT_CLASS_DICT_ENTRY = '{'
697
+ } GVariantClass;
698
+ </pre>
699
+ <p>
700
+ The range of possible top-level types of <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instances.
701
+ </p>
702
+ <div class="variablelist"><table border="0">
703
+ <col align="left" valign="top">
704
+ <tbody>
705
+ <tr>
706
+ <td><p><a name="G-VARIANT-CLASS-BOOLEAN:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_BOOLEAN</code></span></p></td>
707
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a boolean.
708
+ </td>
709
+ </tr>
710
+ <tr>
711
+ <td><p><a name="G-VARIANT-CLASS-BYTE:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_BYTE</code></span></p></td>
712
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a byte.
713
+ </td>
714
+ </tr>
715
+ <tr>
716
+ <td><p><a name="G-VARIANT-CLASS-INT16:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_INT16</code></span></p></td>
717
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a signed 16 bit integer.
718
+ </td>
719
+ </tr>
720
+ <tr>
721
+ <td><p><a name="G-VARIANT-CLASS-UINT16:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_UINT16</code></span></p></td>
722
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is an unsigned 16 bit integer.
723
+ </td>
724
+ </tr>
725
+ <tr>
726
+ <td><p><a name="G-VARIANT-CLASS-INT32:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_INT32</code></span></p></td>
727
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a signed 32 bit integer.
728
+ </td>
729
+ </tr>
730
+ <tr>
731
+ <td><p><a name="G-VARIANT-CLASS-UINT32:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_UINT32</code></span></p></td>
732
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is an unsigned 32 bit integer.
733
+ </td>
734
+ </tr>
735
+ <tr>
736
+ <td><p><a name="G-VARIANT-CLASS-INT64:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_INT64</code></span></p></td>
737
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a signed 64 bit integer.
738
+ </td>
739
+ </tr>
740
+ <tr>
741
+ <td><p><a name="G-VARIANT-CLASS-UINT64:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_UINT64</code></span></p></td>
742
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is an unsigned 64 bit integer.
743
+ </td>
744
+ </tr>
745
+ <tr>
746
+ <td><p><a name="G-VARIANT-CLASS-HANDLE:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_HANDLE</code></span></p></td>
747
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a file handle index.
748
+ </td>
749
+ </tr>
750
+ <tr>
751
+ <td><p><a name="G-VARIANT-CLASS-DOUBLE:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_DOUBLE</code></span></p></td>
752
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a double precision floating
753
+ point value.
754
+ </td>
755
+ </tr>
756
+ <tr>
757
+ <td><p><a name="G-VARIANT-CLASS-STRING:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_STRING</code></span></p></td>
758
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a normal string.
759
+ </td>
760
+ </tr>
761
+ <tr>
762
+ <td><p><a name="G-VARIANT-CLASS-OBJECT-PATH:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_OBJECT_PATH</code></span></p></td>
763
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a DBus object path
764
+ string.
765
+ </td>
766
+ </tr>
767
+ <tr>
768
+ <td><p><a name="G-VARIANT-CLASS-SIGNATURE:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_SIGNATURE</code></span></p></td>
769
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a DBus signature string.
770
+ </td>
771
+ </tr>
772
+ <tr>
773
+ <td><p><a name="G-VARIANT-CLASS-VARIANT:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_VARIANT</code></span></p></td>
774
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a variant.
775
+ </td>
776
+ </tr>
777
+ <tr>
778
+ <td><p><a name="G-VARIANT-CLASS-MAYBE:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_MAYBE</code></span></p></td>
779
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a maybe-typed value.
780
+ </td>
781
+ </tr>
782
+ <tr>
783
+ <td><p><a name="G-VARIANT-CLASS-ARRAY:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_ARRAY</code></span></p></td>
784
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is an array.
785
+ </td>
786
+ </tr>
787
+ <tr>
788
+ <td><p><a name="G-VARIANT-CLASS-TUPLE:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_TUPLE</code></span></p></td>
789
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a tuple.
790
+ </td>
791
+ </tr>
792
+ <tr>
793
+ <td><p><a name="G-VARIANT-CLASS-DICT-ENTRY:CAPS"></a><span class="term"><code class="literal">G_VARIANT_CLASS_DICT_ENTRY</code></span></p></td>
794
+ <td>The <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is a dictionary entry.
795
+ </td>
796
+ </tr>
797
+ </tbody>
798
+ </table></div>
799
+ <p class="since">Since 2.24</p>
800
+ </div>
801
+ <hr>
802
+ <div class="refsect2" title="g_variant_get ()">
803
+ <a name="g-variant-get"></a><h3>g_variant_get ()</h3>
804
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_get (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
805
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
806
+ <em class="parameter"><code>...</code></em>);</pre>
807
+ <p>
808
+ Deconstructs a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
809
+ </p>
810
+ <p>
811
+ Think of this function as an analogue to <code class="function">scanf()</code>.
812
+ </p>
813
+ <p>
814
+ The arguments that are expected by this function are entirely
815
+ determined by <em class="parameter"><code>format_string</code></em>. <em class="parameter"><code>format_string</code></em> also restricts the
816
+ permissible types of <em class="parameter"><code>value</code></em>. It is an error to give a value with
817
+ an incompatible type. See the section on <a href="gvariant-format-strings.html">GVariant Format Strings</a>.
818
+ Please note that the syntax of the format string is very likely to be
819
+ extended in the future.
820
+ </p>
821
+ <div class="variablelist"><table border="0">
822
+ <col align="left" valign="top">
823
+ <tbody>
824
+ <tr>
825
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
826
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
827
+ </td>
828
+ </tr>
829
+ <tr>
830
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
831
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> format string
832
+ </td>
833
+ </tr>
834
+ <tr>
835
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
836
+ <td>arguments, as per <em class="parameter"><code>format_string</code></em>
837
+ </td>
838
+ </tr>
839
+ </tbody>
840
+ </table></div>
841
+ <p class="since">Since 2.24</p>
842
+ </div>
843
+ <hr>
844
+ <div class="refsect2" title="g_variant_get_va ()">
845
+ <a name="g-variant-get-va"></a><h3>g_variant_get_va ()</h3>
846
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_get_va (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
847
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
848
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
849
+ <em class="parameter"><code><span class="type">va_list</span> *app</code></em>);</pre>
850
+ <p>
851
+ This function is intended to be used by libraries based on <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
852
+ that want to provide <a class="link" href="glib-GVariant.html#g-variant-get" title="g_variant_get ()"><code class="function">g_variant_get()</code></a>-like functionality to their
853
+ users.
854
+ </p>
855
+ <p>
856
+ The API is more general than <a class="link" href="glib-GVariant.html#g-variant-get" title="g_variant_get ()"><code class="function">g_variant_get()</code></a> to allow a wider range
857
+ of possible uses.
858
+ </p>
859
+ <p>
860
+ <em class="parameter"><code>format_string</code></em> must still point to a valid format string, but it only
861
+ need to be nul-terminated if <em class="parameter"><code>endptr</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. If <em class="parameter"><code>endptr</code></em> is
862
+ non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then it is updated to point to the first character past the
863
+ end of the format string.
864
+ </p>
865
+ <p>
866
+ <em class="parameter"><code>app</code></em> is a pointer to a <span class="type">va_list</span>. The arguments, according to
867
+ <em class="parameter"><code>format_string</code></em>, are collected from this <span class="type">va_list</span> and the list is left
868
+ pointing to the argument following the last.
869
+ </p>
870
+ <p>
871
+ These two generalisations allow mixing of multiple calls to
872
+ <a class="link" href="glib-GVariant.html#g-variant-new-va" title="g_variant_new_va ()"><code class="function">g_variant_new_va()</code></a> and <a class="link" href="glib-GVariant.html#g-variant-get-va" title="g_variant_get_va ()"><code class="function">g_variant_get_va()</code></a> within a single actual
873
+ varargs call by the user.
874
+ </p>
875
+ <div class="variablelist"><table border="0">
876
+ <col align="left" valign="top">
877
+ <tbody>
878
+ <tr>
879
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
880
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
881
+ </td>
882
+ </tr>
883
+ <tr>
884
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
885
+ <td>a string that is prefixed with a format string
886
+ </td>
887
+ </tr>
888
+ <tr>
889
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
890
+ <td>location to store the end pointer, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
891
+ </td>
892
+ </tr>
893
+ <tr>
894
+ <td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
895
+ <td>a pointer to a <span class="type">va_list</span>
896
+ </td>
897
+ </tr>
898
+ </tbody>
899
+ </table></div>
900
+ <p class="since">Since 2.24</p>
901
+ </div>
902
+ <hr>
903
+ <div class="refsect2" title="g_variant_new ()">
904
+ <a name="g-variant-new"></a><h3>g_variant_new ()</h3>
905
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
906
+ <em class="parameter"><code>...</code></em>);</pre>
907
+ <p>
908
+ Creates a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
909
+ </p>
910
+ <p>
911
+ Think of this function as an analogue to <a class="link" href="glib-String-Utility-Functions.html#g-strdup-printf" title="g_strdup_printf ()"><code class="function">g_strdup_printf()</code></a>.
912
+ </p>
913
+ <p>
914
+ The type of the created instance and the arguments that are
915
+ expected by this function are determined by <em class="parameter"><code>format_string</code></em>. See the
916
+ section on <GTKDOCLINK HREF="gvariant-format-strings">GVariant Format
917
+ Strings</GTKDOCLINK>. Please note that the syntax of the format string is
918
+ very likely to be extended in the future.
919
+ </p>
920
+ <p>
921
+ The first character of the format string must not be '*' '?' '@' or
922
+ 'r'; in essence, a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> must always be constructed by this
923
+ function (and not merely passed through it unmodified).
924
+ </p>
925
+ <div class="variablelist"><table border="0">
926
+ <col align="left" valign="top">
927
+ <tbody>
928
+ <tr>
929
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
930
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> format string
931
+ </td>
932
+ </tr>
933
+ <tr>
934
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
935
+ <td>arguments, as per <em class="parameter"><code>format_string</code></em>
936
+ </td>
937
+ </tr>
938
+ <tr>
939
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
940
+ <td>a new floating <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
941
+ </td>
942
+ </tr>
943
+ </tbody>
944
+ </table></div>
945
+ <p class="since">Since 2.24</p>
946
+ </div>
947
+ <hr>
948
+ <div class="refsect2" title="g_variant_new_va ()">
949
+ <a name="g-variant-new-va"></a><h3>g_variant_new_va ()</h3>
950
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_va (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
951
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
952
+ <em class="parameter"><code><span class="type">va_list</span> *app</code></em>);</pre>
953
+ <p>
954
+ This function is intended to be used by libraries based on
955
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> that want to provide <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a>-like functionality
956
+ to their users.
957
+ </p>
958
+ <p>
959
+ The API is more general than <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a> to allow a wider range
960
+ of possible uses.
961
+ </p>
962
+ <p>
963
+ <em class="parameter"><code>format_string</code></em> must still point to a valid format string, but it only
964
+ needs to be nul-terminated if <em class="parameter"><code>endptr</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. If <em class="parameter"><code>endptr</code></em> is
965
+ non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then it is updated to point to the first character past the
966
+ end of the format string.
967
+ </p>
968
+ <p>
969
+ <em class="parameter"><code>app</code></em> is a pointer to a <span class="type">va_list</span>. The arguments, according to
970
+ <em class="parameter"><code>format_string</code></em>, are collected from this <span class="type">va_list</span> and the list is left
971
+ pointing to the argument following the last.
972
+ </p>
973
+ <p>
974
+ These two generalisations allow mixing of multiple calls to
975
+ <a class="link" href="glib-GVariant.html#g-variant-new-va" title="g_variant_new_va ()"><code class="function">g_variant_new_va()</code></a> and <a class="link" href="glib-GVariant.html#g-variant-get-va" title="g_variant_get_va ()"><code class="function">g_variant_get_va()</code></a> within a single actual
976
+ varargs call by the user.
977
+ </p>
978
+ <p>
979
+ The return value will be floating if it was a newly created GVariant
980
+ instance (for example, if the format string was "(ii)"). In the case
981
+ that the format_string was '*', '?', 'r', or a format starting with
982
+ '@' then the collected <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> pointer will be returned unmodified,
983
+ without adding any additional references.
984
+ </p>
985
+ <p>
986
+ In order to behave correctly in all cases it is necessary for the
987
+ calling function to <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()"><code class="function">g_variant_ref_sink()</code></a> the return result before
988
+ returning control to the user that originally provided the pointer.
989
+ At this point, the caller will have their own full reference to the
990
+ result. This can also be done by adding the result to a container,
991
+ or by passing it to another <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a> call.
992
+ </p>
993
+ <div class="variablelist"><table border="0">
994
+ <col align="left" valign="top">
995
+ <tbody>
996
+ <tr>
997
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
998
+ <td>a string that is prefixed with a format string
999
+ </td>
1000
+ </tr>
1001
+ <tr>
1002
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
1003
+ <td>location to store the end pointer, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
1004
+ </td>
1005
+ </tr>
1006
+ <tr>
1007
+ <td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
1008
+ <td>a pointer to a <span class="type">va_list</span>
1009
+ </td>
1010
+ </tr>
1011
+ <tr>
1012
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1013
+ <td>a new, usually floating, <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
1014
+ </td>
1015
+ </tr>
1016
+ </tbody>
1017
+ </table></div>
1018
+ <p class="since">Since 2.24</p>
1019
+ </div>
1020
+ <hr>
1021
+ <div class="refsect2" title="g_variant_new_boolean ()">
1022
+ <a name="g-variant-new-boolean"></a><h3>g_variant_new_boolean ()</h3>
1023
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_boolean (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> boolean</code></em>);</pre>
1024
+ <p>
1025
+ Creates a new boolean <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance -- either <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> or <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>.
1026
+ </p>
1027
+ <div class="variablelist"><table border="0">
1028
+ <col align="left" valign="top">
1029
+ <tbody>
1030
+ <tr>
1031
+ <td><p><span class="term"><em class="parameter"><code>boolean</code></em> :</span></p></td>
1032
+ <td>a <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> value
1033
+ </td>
1034
+ </tr>
1035
+ <tr>
1036
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1037
+ <td>a new boolean <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1038
+ </td>
1039
+ </tr>
1040
+ </tbody>
1041
+ </table></div>
1042
+ <p class="since">Since 2.24</p>
1043
+ </div>
1044
+ <hr>
1045
+ <div class="refsect2" title="g_variant_new_byte ()">
1046
+ <a name="g-variant-new-byte"></a><h3>g_variant_new_byte ()</h3>
1047
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_byte (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a> byte</code></em>);</pre>
1048
+ <p>
1049
+ Creates a new byte <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1050
+ </p>
1051
+ <div class="variablelist"><table border="0">
1052
+ <col align="left" valign="top">
1053
+ <tbody>
1054
+ <tr>
1055
+ <td><p><span class="term"><em class="parameter"><code>byte</code></em> :</span></p></td>
1056
+ <td>a <a class="link" href="glib-Basic-Types.html#guint8" title="guint8"><span class="type">guint8</span></a> value
1057
+ </td>
1058
+ </tr>
1059
+ <tr>
1060
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1061
+ <td>a new byte <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1062
+ </td>
1063
+ </tr>
1064
+ </tbody>
1065
+ </table></div>
1066
+ <p class="since">Since 2.24</p>
1067
+ </div>
1068
+ <hr>
1069
+ <div class="refsect2" title="g_variant_new_int16 ()">
1070
+ <a name="g-variant-new-int16"></a><h3>g_variant_new_int16 ()</h3>
1071
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_int16 (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="type">gint16</span></a> int16</code></em>);</pre>
1072
+ <p>
1073
+ Creates a new int16 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1074
+ </p>
1075
+ <div class="variablelist"><table border="0">
1076
+ <col align="left" valign="top">
1077
+ <tbody>
1078
+ <tr>
1079
+ <td><p><span class="term"><em class="parameter"><code>int16</code></em> :</span></p></td>
1080
+ <td>a <a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="type">gint16</span></a> value
1081
+ </td>
1082
+ </tr>
1083
+ <tr>
1084
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1085
+ <td>a new int16 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1086
+ </td>
1087
+ </tr>
1088
+ </tbody>
1089
+ </table></div>
1090
+ <p class="since">Since 2.24</p>
1091
+ </div>
1092
+ <hr>
1093
+ <div class="refsect2" title="g_variant_new_uint16 ()">
1094
+ <a name="g-variant-new-uint16"></a><h3>g_variant_new_uint16 ()</h3>
1095
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_uint16 (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="type">guint16</span></a> uint16</code></em>);</pre>
1096
+ <p>
1097
+ Creates a new uint16 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1098
+ </p>
1099
+ <div class="variablelist"><table border="0">
1100
+ <col align="left" valign="top">
1101
+ <tbody>
1102
+ <tr>
1103
+ <td><p><span class="term"><em class="parameter"><code>uint16</code></em> :</span></p></td>
1104
+ <td>a <a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="type">guint16</span></a> value
1105
+ </td>
1106
+ </tr>
1107
+ <tr>
1108
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1109
+ <td>a new uint16 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1110
+ </td>
1111
+ </tr>
1112
+ </tbody>
1113
+ </table></div>
1114
+ <p class="since">Since 2.24</p>
1115
+ </div>
1116
+ <hr>
1117
+ <div class="refsect2" title="g_variant_new_int32 ()">
1118
+ <a name="g-variant-new-int32"></a><h3>g_variant_new_int32 ()</h3>
1119
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_int32 (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> int32</code></em>);</pre>
1120
+ <p>
1121
+ Creates a new int32 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1122
+ </p>
1123
+ <div class="variablelist"><table border="0">
1124
+ <col align="left" valign="top">
1125
+ <tbody>
1126
+ <tr>
1127
+ <td><p><span class="term"><em class="parameter"><code>int32</code></em> :</span></p></td>
1128
+ <td>a <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> value
1129
+ </td>
1130
+ </tr>
1131
+ <tr>
1132
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1133
+ <td>a new int32 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1134
+ </td>
1135
+ </tr>
1136
+ </tbody>
1137
+ </table></div>
1138
+ <p class="since">Since 2.24</p>
1139
+ </div>
1140
+ <hr>
1141
+ <div class="refsect2" title="g_variant_new_uint32 ()">
1142
+ <a name="g-variant-new-uint32"></a><h3>g_variant_new_uint32 ()</h3>
1143
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_uint32 (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> uint32</code></em>);</pre>
1144
+ <p>
1145
+ Creates a new uint32 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1146
+ </p>
1147
+ <div class="variablelist"><table border="0">
1148
+ <col align="left" valign="top">
1149
+ <tbody>
1150
+ <tr>
1151
+ <td><p><span class="term"><em class="parameter"><code>uint32</code></em> :</span></p></td>
1152
+ <td>a <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a> value
1153
+ </td>
1154
+ </tr>
1155
+ <tr>
1156
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1157
+ <td>a new uint32 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1158
+ </td>
1159
+ </tr>
1160
+ </tbody>
1161
+ </table></div>
1162
+ <p class="since">Since 2.24</p>
1163
+ </div>
1164
+ <hr>
1165
+ <div class="refsect2" title="g_variant_new_int64 ()">
1166
+ <a name="g-variant-new-int64"></a><h3>g_variant_new_int64 ()</h3>
1167
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_int64 (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a> int64</code></em>);</pre>
1168
+ <p>
1169
+ Creates a new int64 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1170
+ </p>
1171
+ <div class="variablelist"><table border="0">
1172
+ <col align="left" valign="top">
1173
+ <tbody>
1174
+ <tr>
1175
+ <td><p><span class="term"><em class="parameter"><code>int64</code></em> :</span></p></td>
1176
+ <td>a <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a> value
1177
+ </td>
1178
+ </tr>
1179
+ <tr>
1180
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1181
+ <td>a new int64 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1182
+ </td>
1183
+ </tr>
1184
+ </tbody>
1185
+ </table></div>
1186
+ <p class="since">Since 2.24</p>
1187
+ </div>
1188
+ <hr>
1189
+ <div class="refsect2" title="g_variant_new_uint64 ()">
1190
+ <a name="g-variant-new-uint64"></a><h3>g_variant_new_uint64 ()</h3>
1191
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_uint64 (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a> uint64</code></em>);</pre>
1192
+ <p>
1193
+ Creates a new uint64 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1194
+ </p>
1195
+ <div class="variablelist"><table border="0">
1196
+ <col align="left" valign="top">
1197
+ <tbody>
1198
+ <tr>
1199
+ <td><p><span class="term"><em class="parameter"><code>uint64</code></em> :</span></p></td>
1200
+ <td>a <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a> value
1201
+ </td>
1202
+ </tr>
1203
+ <tr>
1204
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1205
+ <td>a new uint64 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1206
+ </td>
1207
+ </tr>
1208
+ </tbody>
1209
+ </table></div>
1210
+ <p class="since">Since 2.24</p>
1211
+ </div>
1212
+ <hr>
1213
+ <div class="refsect2" title="g_variant_new_handle ()">
1214
+ <a name="g-variant-new-handle"></a><h3>g_variant_new_handle ()</h3>
1215
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_handle (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> handle</code></em>);</pre>
1216
+ <p>
1217
+ Creates a new handle <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1218
+ </p>
1219
+ <p>
1220
+ By convention, handles are indexes into an array of file descriptors
1221
+ that are sent alongside a DBus message. If you're not interacting
1222
+ with DBus, you probably don't need them.
1223
+ </p>
1224
+ <div class="variablelist"><table border="0">
1225
+ <col align="left" valign="top">
1226
+ <tbody>
1227
+ <tr>
1228
+ <td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
1229
+ <td>a <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a> value
1230
+ </td>
1231
+ </tr>
1232
+ <tr>
1233
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1234
+ <td>a new handle <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1235
+ </td>
1236
+ </tr>
1237
+ </tbody>
1238
+ </table></div>
1239
+ <p class="since">Since 2.24</p>
1240
+ </div>
1241
+ <hr>
1242
+ <div class="refsect2" title="g_variant_new_double ()">
1243
+ <a name="g-variant-new-double"></a><h3>g_variant_new_double ()</h3>
1244
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_double (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> floating</code></em>);</pre>
1245
+ <p>
1246
+ Creates a new double <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
1247
+ </p>
1248
+ <div class="variablelist"><table border="0">
1249
+ <col align="left" valign="top">
1250
+ <tbody>
1251
+ <tr>
1252
+ <td><p><span class="term"><em class="parameter"><code>floating</code></em> :</span></p></td>
1253
+ <td>a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a> floating point value
1254
+ </td>
1255
+ </tr>
1256
+ <tr>
1257
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1258
+ <td>a new double <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1259
+ </td>
1260
+ </tr>
1261
+ </tbody>
1262
+ </table></div>
1263
+ <p class="since">Since 2.24</p>
1264
+ </div>
1265
+ <hr>
1266
+ <div class="refsect2" title="g_variant_new_string ()">
1267
+ <a name="g-variant-new-string"></a><h3>g_variant_new_string ()</h3>
1268
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_string (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
1269
+ <p>
1270
+ Creates a string <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> with the contents of <em class="parameter"><code>string</code></em>.
1271
+ </p>
1272
+ <div class="variablelist"><table border="0">
1273
+ <col align="left" valign="top">
1274
+ <tbody>
1275
+ <tr>
1276
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1277
+ <td>a normal C nul-terminated string
1278
+ </td>
1279
+ </tr>
1280
+ <tr>
1281
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1282
+ <td>a new string <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1283
+ </td>
1284
+ </tr>
1285
+ </tbody>
1286
+ </table></div>
1287
+ <p class="since">Since 2.24</p>
1288
+ </div>
1289
+ <hr>
1290
+ <div class="refsect2" title="g_variant_new_object_path ()">
1291
+ <a name="g-variant-new-object-path"></a><h3>g_variant_new_object_path ()</h3>
1292
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_object_path (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *object_path</code></em>);</pre>
1293
+ <p>
1294
+ Creates a DBus object path <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> with the contents of <em class="parameter"><code>string</code></em>.
1295
+ <em class="parameter"><code>string</code></em> must be a valid DBus object path. Use
1296
+ <a class="link" href="glib-GVariant.html#g-variant-is-object-path" title="g_variant_is_object_path ()"><code class="function">g_variant_is_object_path()</code></a> if you're not sure.
1297
+ </p>
1298
+ <div class="variablelist"><table border="0">
1299
+ <col align="left" valign="top">
1300
+ <tbody>
1301
+ <tr>
1302
+ <td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
1303
+ <td>a normal C nul-terminated string
1304
+ </td>
1305
+ </tr>
1306
+ <tr>
1307
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1308
+ <td>a new object path <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1309
+ </td>
1310
+ </tr>
1311
+ </tbody>
1312
+ </table></div>
1313
+ <p class="since">Since 2.24</p>
1314
+ </div>
1315
+ <hr>
1316
+ <div class="refsect2" title="g_variant_is_object_path ()">
1317
+ <a name="g-variant-is-object-path"></a><h3>g_variant_is_object_path ()</h3>
1318
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_is_object_path (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
1319
+ <p>
1320
+ Determines if a given string is a valid DBus object path. You
1321
+ should ensure that a string is a valid DBus object path before
1322
+ passing it to <a class="link" href="glib-GVariant.html#g-variant-new-object-path" title="g_variant_new_object_path ()"><code class="function">g_variant_new_object_path()</code></a>.
1323
+ </p>
1324
+ <p>
1325
+ A valid object path starts with '/' followed by zero or more
1326
+ sequences of characters separated by '/' characters. Each sequence
1327
+ must contain only the characters "[A-Z][a-z][0-9]_". No sequence
1328
+ (including the one following the final '/' character) may be empty.
1329
+ </p>
1330
+ <div class="variablelist"><table border="0">
1331
+ <col align="left" valign="top">
1332
+ <tbody>
1333
+ <tr>
1334
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1335
+ <td>a normal C nul-terminated string
1336
+ </td>
1337
+ </tr>
1338
+ <tr>
1339
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1340
+ <td>
1341
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>string</code></em> is a DBus object path
1342
+ </td>
1343
+ </tr>
1344
+ </tbody>
1345
+ </table></div>
1346
+ <p class="since">Since 2.24</p>
1347
+ </div>
1348
+ <hr>
1349
+ <div class="refsect2" title="g_variant_new_signature ()">
1350
+ <a name="g-variant-new-signature"></a><h3>g_variant_new_signature ()</h3>
1351
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_signature (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *signature</code></em>);</pre>
1352
+ <p>
1353
+ Creates a DBus type signature <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> with the contents of
1354
+ <em class="parameter"><code>string</code></em>. <em class="parameter"><code>string</code></em> must be a valid DBus type signature. Use
1355
+ <a class="link" href="glib-GVariant.html#g-variant-is-signature" title="g_variant_is_signature ()"><code class="function">g_variant_is_signature()</code></a> if you're not sure.
1356
+ </p>
1357
+ <div class="variablelist"><table border="0">
1358
+ <col align="left" valign="top">
1359
+ <tbody>
1360
+ <tr>
1361
+ <td><p><span class="term"><em class="parameter"><code>signature</code></em> :</span></p></td>
1362
+ <td>a normal C nul-terminated string
1363
+ </td>
1364
+ </tr>
1365
+ <tr>
1366
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1367
+ <td>a new signature <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1368
+ </td>
1369
+ </tr>
1370
+ </tbody>
1371
+ </table></div>
1372
+ <p class="since">Since 2.24</p>
1373
+ </div>
1374
+ <hr>
1375
+ <div class="refsect2" title="g_variant_is_signature ()">
1376
+ <a name="g-variant-is-signature"></a><h3>g_variant_is_signature ()</h3>
1377
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_is_signature (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *string</code></em>);</pre>
1378
+ <p>
1379
+ Determines if a given string is a valid DBus type signature. You
1380
+ should ensure that a string is a valid DBus object path before
1381
+ passing it to <a class="link" href="glib-GVariant.html#g-variant-new-signature" title="g_variant_new_signature ()"><code class="function">g_variant_new_signature()</code></a>.
1382
+ </p>
1383
+ <p>
1384
+ DBus type signatures consist of zero or more definite <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>
1385
+ strings in sequence.
1386
+ </p>
1387
+ <div class="variablelist"><table border="0">
1388
+ <col align="left" valign="top">
1389
+ <tbody>
1390
+ <tr>
1391
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
1392
+ <td>a normal C nul-terminated string
1393
+ </td>
1394
+ </tr>
1395
+ <tr>
1396
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1397
+ <td>
1398
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>string</code></em> is a DBus type signature
1399
+ </td>
1400
+ </tr>
1401
+ </tbody>
1402
+ </table></div>
1403
+ <p class="since">Since 2.24</p>
1404
+ </div>
1405
+ <hr>
1406
+ <div class="refsect2" title="g_variant_new_variant ()">
1407
+ <a name="g-variant-new-variant"></a><h3>g_variant_new_variant ()</h3>
1408
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_variant (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1409
+ <p>
1410
+ Boxes <em class="parameter"><code>value</code></em>. The result is a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance representing a
1411
+ variant containing the original value.
1412
+ </p>
1413
+ <div class="variablelist"><table border="0">
1414
+ <col align="left" valign="top">
1415
+ <tbody>
1416
+ <tr>
1417
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1418
+ <td>a <span class="type">GVariance</span> instance
1419
+ </td>
1420
+ </tr>
1421
+ <tr>
1422
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1423
+ <td>a new variant <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1424
+ </td>
1425
+ </tr>
1426
+ </tbody>
1427
+ </table></div>
1428
+ <p class="since">Since 2.24</p>
1429
+ </div>
1430
+ <hr>
1431
+ <div class="refsect2" title="g_variant_new_strv ()">
1432
+ <a name="g-variant-new-strv"></a><h3>g_variant_new_strv ()</h3>
1433
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_strv (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> * const *strv</code></em>,
1434
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> length</code></em>);</pre>
1435
+ <p>
1436
+ Constructs an array of strings <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> from the given array of
1437
+ strings.
1438
+ </p>
1439
+ <p>
1440
+ If <em class="parameter"><code>length</code></em> is not -1 then it gives the maximum length of <em class="parameter"><code>strv</code></em>. In
1441
+ any case, a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> pointer in <em class="parameter"><code>strv</code></em> is taken as a terminator.
1442
+ </p>
1443
+ <div class="variablelist"><table border="0">
1444
+ <col align="left" valign="top">
1445
+ <tbody>
1446
+ <tr>
1447
+ <td><p><span class="term"><em class="parameter"><code>strv</code></em> :</span></p></td>
1448
+ <td>an array of strings
1449
+ </td>
1450
+ </tr>
1451
+ <tr>
1452
+ <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1453
+ <td>the length of <em class="parameter"><code>strv</code></em>, or -1
1454
+ </td>
1455
+ </tr>
1456
+ <tr>
1457
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1458
+ <td>a new floating <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1459
+ </td>
1460
+ </tr>
1461
+ </tbody>
1462
+ </table></div>
1463
+ <p class="since">Since 2.24</p>
1464
+ </div>
1465
+ <hr>
1466
+ <div class="refsect2" title="g_variant_get_boolean ()">
1467
+ <a name="g-variant-get-boolean"></a><h3>g_variant_get_boolean ()</h3>
1468
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_get_boolean (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1469
+ <p>
1470
+ Returns the boolean value of <em class="parameter"><code>value</code></em>.
1471
+ </p>
1472
+ <p>
1473
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1474
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS" title="G_VARIANT_TYPE_BOOLEAN"><code class="literal">G_VARIANT_TYPE_BOOLEAN</code></a>.
1475
+ </p>
1476
+ <div class="variablelist"><table border="0">
1477
+ <col align="left" valign="top">
1478
+ <tbody>
1479
+ <tr>
1480
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1481
+ <td>a boolean <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1482
+ </td>
1483
+ </tr>
1484
+ <tr>
1485
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1486
+ <td>
1487
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> or <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>
1488
+ </td>
1489
+ </tr>
1490
+ </tbody>
1491
+ </table></div>
1492
+ <p class="since">Since 2.24</p>
1493
+ </div>
1494
+ <hr>
1495
+ <div class="refsect2" title="g_variant_get_byte ()">
1496
+ <a name="g-variant-get-byte"></a><h3>g_variant_get_byte ()</h3>
1497
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="returnvalue">guchar</span></a> g_variant_get_byte (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1498
+ <p>
1499
+ Returns the byte value of <em class="parameter"><code>value</code></em>.
1500
+ </p>
1501
+ <p>
1502
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1503
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-BYTE:CAPS" title="G_VARIANT_TYPE_BYTE"><code class="literal">G_VARIANT_TYPE_BYTE</code></a>.
1504
+ </p>
1505
+ <div class="variablelist"><table border="0">
1506
+ <col align="left" valign="top">
1507
+ <tbody>
1508
+ <tr>
1509
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1510
+ <td>a byte <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1511
+ </td>
1512
+ </tr>
1513
+ <tr>
1514
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1515
+ <td>a <a class="link" href="glib-Basic-Types.html#guchar" title="guchar"><span class="type">guchar</span></a>
1516
+ </td>
1517
+ </tr>
1518
+ </tbody>
1519
+ </table></div>
1520
+ <p class="since">Since 2.24</p>
1521
+ </div>
1522
+ <hr>
1523
+ <div class="refsect2" title="g_variant_get_int16 ()">
1524
+ <a name="g-variant-get-int16"></a><h3>g_variant_get_int16 ()</h3>
1525
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="returnvalue">gint16</span></a> g_variant_get_int16 (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1526
+ <p>
1527
+ Returns the 16-bit signed integer value of <em class="parameter"><code>value</code></em>.
1528
+ </p>
1529
+ <p>
1530
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1531
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-INT16:CAPS" title="G_VARIANT_TYPE_INT16"><code class="literal">G_VARIANT_TYPE_INT16</code></a>.
1532
+ </p>
1533
+ <div class="variablelist"><table border="0">
1534
+ <col align="left" valign="top">
1535
+ <tbody>
1536
+ <tr>
1537
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1538
+ <td>a int16 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1539
+ </td>
1540
+ </tr>
1541
+ <tr>
1542
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1543
+ <td>a <a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="type">gint16</span></a>
1544
+ </td>
1545
+ </tr>
1546
+ </tbody>
1547
+ </table></div>
1548
+ <p class="since">Since 2.24</p>
1549
+ </div>
1550
+ <hr>
1551
+ <div class="refsect2" title="g_variant_get_uint16 ()">
1552
+ <a name="g-variant-get-uint16"></a><h3>g_variant_get_uint16 ()</h3>
1553
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="returnvalue">guint16</span></a> g_variant_get_uint16 (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1554
+ <p>
1555
+ Returns the 16-bit unsigned integer value of <em class="parameter"><code>value</code></em>.
1556
+ </p>
1557
+ <p>
1558
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1559
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-UINT16:CAPS" title="G_VARIANT_TYPE_UINT16"><code class="literal">G_VARIANT_TYPE_UINT16</code></a>.
1560
+ </p>
1561
+ <div class="variablelist"><table border="0">
1562
+ <col align="left" valign="top">
1563
+ <tbody>
1564
+ <tr>
1565
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1566
+ <td>a uint16 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1567
+ </td>
1568
+ </tr>
1569
+ <tr>
1570
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1571
+ <td>a <a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="type">guint16</span></a>
1572
+ </td>
1573
+ </tr>
1574
+ </tbody>
1575
+ </table></div>
1576
+ <p class="since">Since 2.24</p>
1577
+ </div>
1578
+ <hr>
1579
+ <div class="refsect2" title="g_variant_get_int32 ()">
1580
+ <a name="g-variant-get-int32"></a><h3>g_variant_get_int32 ()</h3>
1581
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> g_variant_get_int32 (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1582
+ <p>
1583
+ Returns the 32-bit signed integer value of <em class="parameter"><code>value</code></em>.
1584
+ </p>
1585
+ <p>
1586
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1587
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-INT32:CAPS" title="G_VARIANT_TYPE_INT32"><code class="literal">G_VARIANT_TYPE_INT32</code></a>.
1588
+ </p>
1589
+ <div class="variablelist"><table border="0">
1590
+ <col align="left" valign="top">
1591
+ <tbody>
1592
+ <tr>
1593
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1594
+ <td>a int32 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1595
+ </td>
1596
+ </tr>
1597
+ <tr>
1598
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1599
+ <td>a <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a>
1600
+ </td>
1601
+ </tr>
1602
+ </tbody>
1603
+ </table></div>
1604
+ <p class="since">Since 2.24</p>
1605
+ </div>
1606
+ <hr>
1607
+ <div class="refsect2" title="g_variant_get_uint32 ()">
1608
+ <a name="g-variant-get-uint32"></a><h3>g_variant_get_uint32 ()</h3>
1609
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="returnvalue">guint32</span></a> g_variant_get_uint32 (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1610
+ <p>
1611
+ Returns the 32-bit unsigned integer value of <em class="parameter"><code>value</code></em>.
1612
+ </p>
1613
+ <p>
1614
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1615
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-UINT32:CAPS" title="G_VARIANT_TYPE_UINT32"><code class="literal">G_VARIANT_TYPE_UINT32</code></a>.
1616
+ </p>
1617
+ <div class="variablelist"><table border="0">
1618
+ <col align="left" valign="top">
1619
+ <tbody>
1620
+ <tr>
1621
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1622
+ <td>a uint32 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1623
+ </td>
1624
+ </tr>
1625
+ <tr>
1626
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1627
+ <td>a <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a>
1628
+ </td>
1629
+ </tr>
1630
+ </tbody>
1631
+ </table></div>
1632
+ <p class="since">Since 2.24</p>
1633
+ </div>
1634
+ <hr>
1635
+ <div class="refsect2" title="g_variant_get_int64 ()">
1636
+ <a name="g-variant-get-int64"></a><h3>g_variant_get_int64 ()</h3>
1637
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="returnvalue">gint64</span></a> g_variant_get_int64 (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1638
+ <p>
1639
+ Returns the 64-bit signed integer value of <em class="parameter"><code>value</code></em>.
1640
+ </p>
1641
+ <p>
1642
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1643
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-INT64:CAPS" title="G_VARIANT_TYPE_INT64"><code class="literal">G_VARIANT_TYPE_INT64</code></a>.
1644
+ </p>
1645
+ <div class="variablelist"><table border="0">
1646
+ <col align="left" valign="top">
1647
+ <tbody>
1648
+ <tr>
1649
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1650
+ <td>a int64 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1651
+ </td>
1652
+ </tr>
1653
+ <tr>
1654
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1655
+ <td>a <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a>
1656
+ </td>
1657
+ </tr>
1658
+ </tbody>
1659
+ </table></div>
1660
+ <p class="since">Since 2.24</p>
1661
+ </div>
1662
+ <hr>
1663
+ <div class="refsect2" title="g_variant_get_uint64 ()">
1664
+ <a name="g-variant-get-uint64"></a><h3>g_variant_get_uint64 ()</h3>
1665
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="returnvalue">guint64</span></a> g_variant_get_uint64 (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1666
+ <p>
1667
+ Returns the 64-bit unsigned integer value of <em class="parameter"><code>value</code></em>.
1668
+ </p>
1669
+ <p>
1670
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1671
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-UINT64:CAPS" title="G_VARIANT_TYPE_UINT64"><code class="literal">G_VARIANT_TYPE_UINT64</code></a>.
1672
+ </p>
1673
+ <div class="variablelist"><table border="0">
1674
+ <col align="left" valign="top">
1675
+ <tbody>
1676
+ <tr>
1677
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1678
+ <td>a uint64 <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1679
+ </td>
1680
+ </tr>
1681
+ <tr>
1682
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1683
+ <td>a <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a>
1684
+ </td>
1685
+ </tr>
1686
+ </tbody>
1687
+ </table></div>
1688
+ <p class="since">Since 2.24</p>
1689
+ </div>
1690
+ <hr>
1691
+ <div class="refsect2" title="g_variant_get_handle ()">
1692
+ <a name="g-variant-get-handle"></a><h3>g_variant_get_handle ()</h3>
1693
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="returnvalue">gint32</span></a> g_variant_get_handle (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1694
+ <p>
1695
+ Returns the 32-bit signed integer value of <em class="parameter"><code>value</code></em>.
1696
+ </p>
1697
+ <p>
1698
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type other
1699
+ than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-HANDLE:CAPS" title="G_VARIANT_TYPE_HANDLE"><code class="literal">G_VARIANT_TYPE_HANDLE</code></a>.
1700
+ </p>
1701
+ <p>
1702
+ By convention, handles are indexes into an array of file descriptors
1703
+ that are sent alongside a DBus message. If you're not interacting
1704
+ with DBus, you probably don't need them.
1705
+ </p>
1706
+ <div class="variablelist"><table border="0">
1707
+ <col align="left" valign="top">
1708
+ <tbody>
1709
+ <tr>
1710
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1711
+ <td>a handle <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1712
+ </td>
1713
+ </tr>
1714
+ <tr>
1715
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1716
+ <td>a <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a>
1717
+ </td>
1718
+ </tr>
1719
+ </tbody>
1720
+ </table></div>
1721
+ <p class="since">Since 2.24</p>
1722
+ </div>
1723
+ <hr>
1724
+ <div class="refsect2" title="g_variant_get_double ()">
1725
+ <a name="g-variant-get-double"></a><h3>g_variant_get_double ()</h3>
1726
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="returnvalue">gdouble</span></a> g_variant_get_double (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1727
+ <p>
1728
+ Returns the double precision floating point value of <em class="parameter"><code>value</code></em>.
1729
+ </p>
1730
+ <p>
1731
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1732
+ other than <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-DOUBLE:CAPS" title="G_VARIANT_TYPE_DOUBLE"><code class="literal">G_VARIANT_TYPE_DOUBLE</code></a>.
1733
+ </p>
1734
+ <div class="variablelist"><table border="0">
1735
+ <col align="left" valign="top">
1736
+ <tbody>
1737
+ <tr>
1738
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1739
+ <td>a double <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1740
+ </td>
1741
+ </tr>
1742
+ <tr>
1743
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1744
+ <td>a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a>
1745
+ </td>
1746
+ </tr>
1747
+ </tbody>
1748
+ </table></div>
1749
+ <p class="since">Since 2.24</p>
1750
+ </div>
1751
+ <hr>
1752
+ <div class="refsect2" title="g_variant_get_string ()">
1753
+ <a name="g-variant-get-string"></a><h3>g_variant_get_string ()</h3>
1754
+ <pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_variant_get_string (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
1755
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
1756
+ <p>
1757
+ Returns the string value of a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance with a string
1758
+ type. This includes the types <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS" title="G_VARIANT_TYPE_STRING"><code class="literal">G_VARIANT_TYPE_STRING</code></a>,
1759
+ <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-OBJECT-PATH:CAPS" title="G_VARIANT_TYPE_OBJECT_PATH"><code class="literal">G_VARIANT_TYPE_OBJECT_PATH</code></a> and <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-SIGNATURE:CAPS" title="G_VARIANT_TYPE_SIGNATURE"><code class="literal">G_VARIANT_TYPE_SIGNATURE</code></a>.
1760
+ </p>
1761
+ <p>
1762
+ If <em class="parameter"><code>length</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then the length of the string (in bytes) is
1763
+ returned there. For trusted values, this information is already
1764
+ known. For untrusted values, a <code class="function">strlen()</code> will be performed.
1765
+ </p>
1766
+ <p>
1767
+ It is an error to call this function with a <em class="parameter"><code>value</code></em> of any type
1768
+ other than those three.
1769
+ </p>
1770
+ <p>
1771
+ The return value remains valid as long as <em class="parameter"><code>value</code></em> exists.
1772
+ </p>
1773
+ <div class="variablelist"><table border="0">
1774
+ <col align="left" valign="top">
1775
+ <tbody>
1776
+ <tr>
1777
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1778
+ <td>a string <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1779
+ </td>
1780
+ </tr>
1781
+ <tr>
1782
+ <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1783
+ <td>a pointer to a <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a>, to store the length
1784
+ </td>
1785
+ </tr>
1786
+ <tr>
1787
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1788
+ <td>the constant string
1789
+ </td>
1790
+ </tr>
1791
+ </tbody>
1792
+ </table></div>
1793
+ <p class="since">Since 2.24</p>
1794
+ </div>
1795
+ <hr>
1796
+ <div class="refsect2" title="g_variant_dup_string ()">
1797
+ <a name="g-variant-dup-string"></a><h3>g_variant_dup_string ()</h3>
1798
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_variant_dup_string (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
1799
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
1800
+ <p>
1801
+ Similar to <a class="link" href="glib-GVariant.html#g-variant-get-string" title="g_variant_get_string ()"><code class="function">g_variant_get_string()</code></a> except that instead of returning
1802
+ a constant string, the string is duplicated.
1803
+ </p>
1804
+ <p>
1805
+ The return value must be freed using <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a>.
1806
+ </p>
1807
+ <div class="variablelist"><table border="0">
1808
+ <col align="left" valign="top">
1809
+ <tbody>
1810
+ <tr>
1811
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1812
+ <td>a string <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
1813
+ </td>
1814
+ </tr>
1815
+ <tr>
1816
+ <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1817
+ <td>a pointer to a <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a>, to store the length
1818
+ </td>
1819
+ </tr>
1820
+ <tr>
1821
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1822
+ <td>a newly allocated string
1823
+ </td>
1824
+ </tr>
1825
+ </tbody>
1826
+ </table></div>
1827
+ <p class="since">Since 2.24</p>
1828
+ </div>
1829
+ <hr>
1830
+ <div class="refsect2" title="g_variant_get_variant ()">
1831
+ <a name="g-variant-get-variant"></a><h3>g_variant_get_variant ()</h3>
1832
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_get_variant (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
1833
+ <p>
1834
+ Unboxes <em class="parameter"><code>value</code></em>. The result is the <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance that was
1835
+ contained in <em class="parameter"><code>value</code></em>.
1836
+ </p>
1837
+ <div class="variablelist"><table border="0">
1838
+ <col align="left" valign="top">
1839
+ <tbody>
1840
+ <tr>
1841
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1842
+ <td>a variant <span class="type">GVariance</span> instance
1843
+ </td>
1844
+ </tr>
1845
+ <tr>
1846
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1847
+ <td>the item contained in the variant
1848
+ </td>
1849
+ </tr>
1850
+ </tbody>
1851
+ </table></div>
1852
+ <p class="since">Since 2.24</p>
1853
+ </div>
1854
+ <hr>
1855
+ <div class="refsect2" title="g_variant_get_strv ()">
1856
+ <a name="g-variant-get-strv"></a><h3>g_variant_get_strv ()</h3>
1857
+ <pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** g_variant_get_strv (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
1858
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
1859
+ <p>
1860
+ Gets the contents of an array of strings <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>. This call
1861
+ makes a shallow copy; the return result should be released with
1862
+ <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a>, but the individual strings must not be modified.
1863
+ </p>
1864
+ <p>
1865
+ If <em class="parameter"><code>length</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then the number of elements in the result
1866
+ is stored there. In any case, the resulting array will be
1867
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated.
1868
+ </p>
1869
+ <p>
1870
+ For an empty array, <em class="parameter"><code>length</code></em> will be set to 0 and a pointer to a
1871
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> pointer will be returned.
1872
+ </p>
1873
+ <div class="variablelist"><table border="0">
1874
+ <col align="left" valign="top">
1875
+ <tbody>
1876
+ <tr>
1877
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1878
+ <td>an array of strings <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
1879
+ </td>
1880
+ </tr>
1881
+ <tr>
1882
+ <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1883
+ <td>the length of the result, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
1884
+ </td>
1885
+ </tr>
1886
+ <tr>
1887
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1888
+ <td>an array of constant strings
1889
+ </td>
1890
+ </tr>
1891
+ </tbody>
1892
+ </table></div>
1893
+ <p class="since">Since 2.24</p>
1894
+ </div>
1895
+ <hr>
1896
+ <div class="refsect2" title="g_variant_dup_strv ()">
1897
+ <a name="g-variant-dup-strv"></a><h3>g_variant_dup_strv ()</h3>
1898
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> ** g_variant_dup_strv (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
1899
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
1900
+ <p>
1901
+ Gets the contents of an array of strings <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>. This call
1902
+ makes a deep copy; the return result should be released with
1903
+ <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a>.
1904
+ </p>
1905
+ <p>
1906
+ If <em class="parameter"><code>length</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then the number of elements in the result
1907
+ is stored there. In any case, the resulting array will be
1908
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated.
1909
+ </p>
1910
+ <p>
1911
+ For an empty array, <em class="parameter"><code>length</code></em> will be set to 0 and a pointer to a
1912
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> pointer will be returned.
1913
+ </p>
1914
+ <div class="variablelist"><table border="0">
1915
+ <col align="left" valign="top">
1916
+ <tbody>
1917
+ <tr>
1918
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
1919
+ <td>an array of strings <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
1920
+ </td>
1921
+ </tr>
1922
+ <tr>
1923
+ <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
1924
+ <td>the length of the result, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
1925
+ </td>
1926
+ </tr>
1927
+ <tr>
1928
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1929
+ <td>an array of constant strings
1930
+ </td>
1931
+ </tr>
1932
+ </tbody>
1933
+ </table></div>
1934
+ <p class="since">Since 2.24</p>
1935
+ </div>
1936
+ <hr>
1937
+ <div class="refsect2" title="g_variant_new_maybe ()">
1938
+ <a name="g-variant-new-maybe"></a><h3>g_variant_new_maybe ()</h3>
1939
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_maybe (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *child_type</code></em>,
1940
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *child</code></em>);</pre>
1941
+ <p>
1942
+ Depending on if <em class="parameter"><code>value</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, either wraps <em class="parameter"><code>value</code></em> inside of a
1943
+ maybe container or creates a Nothing instance for the given <em class="parameter"><code>type</code></em>.
1944
+ </p>
1945
+ <p>
1946
+ At least one of <em class="parameter"><code>type</code></em> and <em class="parameter"><code>value</code></em> must be non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. If <em class="parameter"><code>type</code></em> is
1947
+ non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then it must be a definite type. If they are both
1948
+ non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then <em class="parameter"><code>type</code></em> must be the type of <em class="parameter"><code>value</code></em>.
1949
+ </p>
1950
+ <div class="variablelist"><table border="0">
1951
+ <col align="left" valign="top">
1952
+ <tbody>
1953
+ <tr>
1954
+ <td><p><span class="term"><em class="parameter"><code>child_type</code></em> :</span></p></td>
1955
+ <td>the <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> of the child
1956
+ </td>
1957
+ </tr>
1958
+ <tr>
1959
+ <td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
1960
+ <td>the child value, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
1961
+ </td>
1962
+ </tr>
1963
+ <tr>
1964
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1965
+ <td>a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> maybe instance
1966
+ </td>
1967
+ </tr>
1968
+ </tbody>
1969
+ </table></div>
1970
+ <p class="since">Since 2.24</p>
1971
+ </div>
1972
+ <hr>
1973
+ <div class="refsect2" title="g_variant_new_array ()">
1974
+ <a name="g-variant-new-array"></a><h3>g_variant_new_array ()</h3>
1975
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_array (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *child_type</code></em>,
1976
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> * const *children</code></em>,
1977
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n_children</code></em>);</pre>
1978
+ <p>
1979
+ Creates a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> array from <em class="parameter"><code>children</code></em>.
1980
+ </p>
1981
+ <p>
1982
+ <em class="parameter"><code>child_type</code></em> must be non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if <em class="parameter"><code>n_children</code></em> is zero. Otherwise, the
1983
+ child type is determined by inspecting the first element of the
1984
+ <em class="parameter"><code>children</code></em> array. If <em class="parameter"><code>child_type</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then it must be a
1985
+ definite type.
1986
+ </p>
1987
+ <p>
1988
+ The items of the array are taken from the <em class="parameter"><code>children</code></em> array. No entry
1989
+ in the <em class="parameter"><code>children</code></em> array may be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
1990
+ </p>
1991
+ <p>
1992
+ All items in the array must have the same type, which must be the
1993
+ same as <em class="parameter"><code>child_type</code></em>, if given.
1994
+ </p>
1995
+ <div class="variablelist"><table border="0">
1996
+ <col align="left" valign="top">
1997
+ <tbody>
1998
+ <tr>
1999
+ <td><p><span class="term"><em class="parameter"><code>child_type</code></em> :</span></p></td>
2000
+ <td>the element type of the new array
2001
+ </td>
2002
+ </tr>
2003
+ <tr>
2004
+ <td><p><span class="term"><em class="parameter"><code>children</code></em> :</span></p></td>
2005
+ <td>an array of <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> pointers, the children
2006
+ </td>
2007
+ </tr>
2008
+ <tr>
2009
+ <td><p><span class="term"><em class="parameter"><code>n_children</code></em> :</span></p></td>
2010
+ <td>the length of <em class="parameter"><code>children</code></em>
2011
+ </td>
2012
+ </tr>
2013
+ <tr>
2014
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2015
+ <td>a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> array
2016
+ </td>
2017
+ </tr>
2018
+ </tbody>
2019
+ </table></div>
2020
+ <p class="since">Since 2.24</p>
2021
+ </div>
2022
+ <hr>
2023
+ <div class="refsect2" title="g_variant_new_tuple ()">
2024
+ <a name="g-variant-new-tuple"></a><h3>g_variant_new_tuple ()</h3>
2025
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_tuple (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> * const *children</code></em>,
2026
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> n_children</code></em>);</pre>
2027
+ <p>
2028
+ Creates a new tuple <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> out of the items in <em class="parameter"><code>children</code></em>. The
2029
+ type is determined from the types of <em class="parameter"><code>children</code></em>. No entry in the
2030
+ <em class="parameter"><code>children</code></em> array may be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
2031
+ </p>
2032
+ <p>
2033
+ If <em class="parameter"><code>n_children</code></em> is 0 then the unit tuple is constructed.
2034
+ </p>
2035
+ <div class="variablelist"><table border="0">
2036
+ <col align="left" valign="top">
2037
+ <tbody>
2038
+ <tr>
2039
+ <td><p><span class="term"><em class="parameter"><code>children</code></em> :</span></p></td>
2040
+ <td>the items to make the tuple out of
2041
+ </td>
2042
+ </tr>
2043
+ <tr>
2044
+ <td><p><span class="term"><em class="parameter"><code>n_children</code></em> :</span></p></td>
2045
+ <td>the length of <em class="parameter"><code>children</code></em>
2046
+ </td>
2047
+ </tr>
2048
+ <tr>
2049
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2050
+ <td>a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> tuple
2051
+ </td>
2052
+ </tr>
2053
+ </tbody>
2054
+ </table></div>
2055
+ <p class="since">Since 2.24</p>
2056
+ </div>
2057
+ <hr>
2058
+ <div class="refsect2" title="g_variant_new_dict_entry ()">
2059
+ <a name="g-variant-new-dict-entry"></a><h3>g_variant_new_dict_entry ()</h3>
2060
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_dict_entry (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *key</code></em>,
2061
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2062
+ <p>
2063
+ Creates a new dictionary entry <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>. <em class="parameter"><code>key</code></em> and <em class="parameter"><code>value</code></em> must be
2064
+ non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
2065
+ </p>
2066
+ <p>
2067
+ <em class="parameter"><code>key</code></em> must be a value of a basic type (ie: not a container).
2068
+ </p>
2069
+ <div class="variablelist"><table border="0">
2070
+ <col align="left" valign="top">
2071
+ <tbody>
2072
+ <tr>
2073
+ <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
2074
+ <td>a basic <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>, the key
2075
+ </td>
2076
+ </tr>
2077
+ <tr>
2078
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2079
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>, the value
2080
+ </td>
2081
+ </tr>
2082
+ <tr>
2083
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2084
+ <td>a new dictionary entry <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2085
+ </td>
2086
+ </tr>
2087
+ </tbody>
2088
+ </table></div>
2089
+ <p class="since">Since 2.24</p>
2090
+ </div>
2091
+ <hr>
2092
+ <div class="refsect2" title="g_variant_get_maybe ()">
2093
+ <a name="g-variant-get-maybe"></a><h3>g_variant_get_maybe ()</h3>
2094
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_get_maybe (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2095
+ <p>
2096
+ Given a maybe-typed <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance, extract its value. If the
2097
+ value is Nothing, then this function returns <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
2098
+ </p>
2099
+ <div class="variablelist"><table border="0">
2100
+ <col align="left" valign="top">
2101
+ <tbody>
2102
+ <tr>
2103
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2104
+ <td>a maybe-typed value
2105
+ </td>
2106
+ </tr>
2107
+ <tr>
2108
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2109
+ <td>the contents of <em class="parameter"><code>value</code></em>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2110
+ </td>
2111
+ </tr>
2112
+ </tbody>
2113
+ </table></div>
2114
+ <p class="since">Since 2.24</p>
2115
+ </div>
2116
+ <hr>
2117
+ <div class="refsect2" title="g_variant_n_children ()">
2118
+ <a name="g-variant-n-children"></a><h3>g_variant_n_children ()</h3>
2119
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_variant_n_children (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2120
+ <p>
2121
+ Determines the number of children in a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
2122
+ This includes variants, maybes, arrays, tuples and dictionary
2123
+ entries. It is an error to call this function on any other type of
2124
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>.
2125
+ </p>
2126
+ <p>
2127
+ For variants, the return value is always 1. For values with maybe
2128
+ types, it is always zero or one. For arrays, it is the length of the
2129
+ array. For tuples it is the number of tuple items (which depends
2130
+ only on the type). For dictionary entries, it is always 2
2131
+ </p>
2132
+ <p>
2133
+ This function is O(1).
2134
+ </p>
2135
+ <div class="variablelist"><table border="0">
2136
+ <col align="left" valign="top">
2137
+ <tbody>
2138
+ <tr>
2139
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2140
+ <td>a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2141
+ </td>
2142
+ </tr>
2143
+ <tr>
2144
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2145
+ <td>the number of children in the container
2146
+ </td>
2147
+ </tr>
2148
+ </tbody>
2149
+ </table></div>
2150
+ <p class="since">Since 2.24</p>
2151
+ </div>
2152
+ <hr>
2153
+ <div class="refsect2" title="g_variant_get_child_value ()">
2154
+ <a name="g-variant-get-child-value"></a><h3>g_variant_get_child_value ()</h3>
2155
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_get_child_value (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
2156
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> index_</code></em>);</pre>
2157
+ <p>
2158
+ Reads a child item out of a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance. This
2159
+ includes variants, maybes, arrays, tuples and dictionary
2160
+ entries. It is an error to call this function on any other type of
2161
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>.
2162
+ </p>
2163
+ <p>
2164
+ It is an error if <em class="parameter"><code>index_</code></em> is greater than the number of child items
2165
+ in the container. See <a class="link" href="glib-GVariant.html#g-variant-n-children" title="g_variant_n_children ()"><code class="function">g_variant_n_children()</code></a>.
2166
+ </p>
2167
+ <p>
2168
+ This function is O(1).
2169
+ </p>
2170
+ <div class="variablelist"><table border="0">
2171
+ <col align="left" valign="top">
2172
+ <tbody>
2173
+ <tr>
2174
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2175
+ <td>a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2176
+ </td>
2177
+ </tr>
2178
+ <tr>
2179
+ <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
2180
+ <td>the index of the child to fetch
2181
+ </td>
2182
+ </tr>
2183
+ <tr>
2184
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2185
+ <td>the child at the specified index
2186
+ </td>
2187
+ </tr>
2188
+ </tbody>
2189
+ </table></div>
2190
+ <p class="since">Since 2.24</p>
2191
+ </div>
2192
+ <hr>
2193
+ <div class="refsect2" title="g_variant_get_child ()">
2194
+ <a name="g-variant-get-child"></a><h3>g_variant_get_child ()</h3>
2195
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_get_child (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
2196
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> index_</code></em>,
2197
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
2198
+ <em class="parameter"><code>...</code></em>);</pre>
2199
+ <p>
2200
+ Reads a child item out of a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance and
2201
+ deconstructs it according to <em class="parameter"><code>format_string</code></em>. This call is
2202
+ essentially a combination of <a class="link" href="glib-GVariant.html#g-variant-get-child-value" title="g_variant_get_child_value ()"><code class="function">g_variant_get_child_value()</code></a> and
2203
+ <a class="link" href="glib-GVariant.html#g-variant-get" title="g_variant_get ()"><code class="function">g_variant_get()</code></a>.
2204
+ </p>
2205
+ <div class="variablelist"><table border="0">
2206
+ <col align="left" valign="top">
2207
+ <tbody>
2208
+ <tr>
2209
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2210
+ <td>a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2211
+ </td>
2212
+ </tr>
2213
+ <tr>
2214
+ <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
2215
+ <td>the index of the child to deconstruct
2216
+ </td>
2217
+ </tr>
2218
+ <tr>
2219
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
2220
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> format string
2221
+ </td>
2222
+ </tr>
2223
+ <tr>
2224
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
2225
+ <td>arguments, as per <em class="parameter"><code>format_string</code></em>
2226
+ </td>
2227
+ </tr>
2228
+ </tbody>
2229
+ </table></div>
2230
+ <p class="since">Since 2.24</p>
2231
+ </div>
2232
+ <hr>
2233
+ <div class="refsect2" title="g_variant_get_fixed_array ()">
2234
+ <a name="g-variant-get-fixed-array"></a><h3>g_variant_get_fixed_array ()</h3>
2235
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="returnvalue">gconstpointer</span></a> g_variant_get_fixed_array (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
2236
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *n_elements</code></em>,
2237
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> element_size</code></em>);</pre>
2238
+ <p>
2239
+ Provides access to the serialised data for an array of fixed-sized
2240
+ items.
2241
+ </p>
2242
+ <p>
2243
+ <em class="parameter"><code>value</code></em> must be an array with fixed-sized elements. Numeric types are
2244
+ fixed-size as are tuples containing only other fixed-sized types.
2245
+ </p>
2246
+ <p>
2247
+ <em class="parameter"><code>element_size</code></em> must be the size of a single element in the array. For
2248
+ example, if calling this function for an array of 32 bit integers,
2249
+ you might say <code class="code">sizeof (gint32)</code>. This value isn't used
2250
+ except for the purpose of a double-check that the form of the
2251
+ seralised data matches the caller's expectation.
2252
+ </p>
2253
+ <p>
2254
+ <em class="parameter"><code>n_elements</code></em>, which must be non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is set equal to the number of
2255
+ items in the array.
2256
+ </p>
2257
+ <div class="variablelist"><table border="0">
2258
+ <col align="left" valign="top">
2259
+ <tbody>
2260
+ <tr>
2261
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2262
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> array with fixed-sized elements
2263
+ </td>
2264
+ </tr>
2265
+ <tr>
2266
+ <td><p><span class="term"><em class="parameter"><code>n_elements</code></em> :</span></p></td>
2267
+ <td>a pointer to the location to store the number of items
2268
+ </td>
2269
+ </tr>
2270
+ <tr>
2271
+ <td><p><span class="term"><em class="parameter"><code>element_size</code></em> :</span></p></td>
2272
+ <td>the size of each element
2273
+ </td>
2274
+ </tr>
2275
+ <tr>
2276
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2277
+ <td>a pointer to the fixed array
2278
+ </td>
2279
+ </tr>
2280
+ </tbody>
2281
+ </table></div>
2282
+ <p class="since">Since 2.24</p>
2283
+ </div>
2284
+ <hr>
2285
+ <div class="refsect2" title="g_variant_get_size ()">
2286
+ <a name="g-variant-get-size"></a><h3>g_variant_get_size ()</h3>
2287
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_variant_get_size (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2288
+ <p>
2289
+ Determines the number of bytes that would be required to store <em class="parameter"><code>value</code></em>
2290
+ with <a class="link" href="glib-GVariant.html#g-variant-store" title="g_variant_store ()"><code class="function">g_variant_store()</code></a>.
2291
+ </p>
2292
+ <p>
2293
+ If <em class="parameter"><code>value</code></em> has a fixed-sized type then this function always returned
2294
+ that fixed size.
2295
+ </p>
2296
+ <p>
2297
+ In the case that <em class="parameter"><code>value</code></em> is already in serialised form or the size has
2298
+ already been calculated (ie: this function has been called before)
2299
+ then this function is O(1). Otherwise, the size is calculated, an
2300
+ operation which is approximately O(n) in the number of values
2301
+ involved.
2302
+ </p>
2303
+ <div class="variablelist"><table border="0">
2304
+ <col align="left" valign="top">
2305
+ <tbody>
2306
+ <tr>
2307
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2308
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
2309
+ </td>
2310
+ </tr>
2311
+ <tr>
2312
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2313
+ <td>the serialised size of <em class="parameter"><code>value</code></em>
2314
+ </td>
2315
+ </tr>
2316
+ </tbody>
2317
+ </table></div>
2318
+ <p class="since">Since 2.24</p>
2319
+ </div>
2320
+ <hr>
2321
+ <div class="refsect2" title="g_variant_get_data ()">
2322
+ <a name="g-variant-get-data"></a><h3>g_variant_get_data ()</h3>
2323
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="returnvalue">gconstpointer</span></a> g_variant_get_data (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2324
+ <p>
2325
+ Returns a pointer to the serialised form of a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
2326
+ The returned data may not be in fully-normalised form if read from an
2327
+ untrusted source. The returned data must not be freed; it remains
2328
+ valid for as long as <em class="parameter"><code>value</code></em> exists.
2329
+ </p>
2330
+ <p>
2331
+ If <em class="parameter"><code>value</code></em> is a fixed-sized value that was deserialised from a
2332
+ corrupted serialised container then <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> may be returned. In this
2333
+ case, the proper thing to do is typically to use the appropriate
2334
+ number of nul bytes in place of <em class="parameter"><code>value</code></em>. If <em class="parameter"><code>value</code></em> is not fixed-sized
2335
+ then <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is never returned.
2336
+ </p>
2337
+ <p>
2338
+ In the case that <em class="parameter"><code>value</code></em> is already in serialised form, this function
2339
+ is O(1). If the value is not already in serialised form,
2340
+ serialisation occurs implicitly and is approximately O(n) in the size
2341
+ of the result.
2342
+ </p>
2343
+ <div class="variablelist"><table border="0">
2344
+ <col align="left" valign="top">
2345
+ <tbody>
2346
+ <tr>
2347
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2348
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
2349
+ </td>
2350
+ </tr>
2351
+ <tr>
2352
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2353
+ <td>the serialised form of <em class="parameter"><code>value</code></em>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2354
+ </td>
2355
+ </tr>
2356
+ </tbody>
2357
+ </table></div>
2358
+ <p class="since">Since 2.24</p>
2359
+ </div>
2360
+ <hr>
2361
+ <div class="refsect2" title="g_variant_store ()">
2362
+ <a name="g-variant-store"></a><h3>g_variant_store ()</h3>
2363
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_store (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
2364
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
2365
+ <p>
2366
+ Stores the serialised form of <em class="parameter"><code>value</code></em> at <em class="parameter"><code>data</code></em>. <em class="parameter"><code>data</code></em> should be
2367
+ large enough. See <a class="link" href="glib-GVariant.html#g-variant-get-size" title="g_variant_get_size ()"><code class="function">g_variant_get_size()</code></a>.
2368
+ </p>
2369
+ <p>
2370
+ The stored data is in machine native byte order but may not be in
2371
+ fully-normalised form if read from an untrusted source. See
2372
+ <code class="function">g_variant_normalise()</code> for a solution.
2373
+ </p>
2374
+ <p>
2375
+ This function is approximately O(n) in the size of <em class="parameter"><code>data</code></em>.
2376
+ </p>
2377
+ <div class="variablelist"><table border="0">
2378
+ <col align="left" valign="top">
2379
+ <tbody>
2380
+ <tr>
2381
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2382
+ <td>the <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> to store
2383
+ </td>
2384
+ </tr>
2385
+ <tr>
2386
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2387
+ <td>the location to store the serialised data at
2388
+ </td>
2389
+ </tr>
2390
+ </tbody>
2391
+ </table></div>
2392
+ <p class="since">Since 2.24</p>
2393
+ </div>
2394
+ <hr>
2395
+ <div class="refsect2" title="g_variant_new_from_data ()">
2396
+ <a name="g-variant-new-from-data"></a><h3>g_variant_new_from_data ()</h3>
2397
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_from_data (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>,
2398
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> data</code></em>,
2399
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> size</code></em>,
2400
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> trusted</code></em>,
2401
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>,
2402
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
2403
+ <p>
2404
+ Creates a new <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance from serialised data.
2405
+ </p>
2406
+ <p>
2407
+ <em class="parameter"><code>type</code></em> is the type of <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance that will be constructed.
2408
+ The interpretation of <em class="parameter"><code>data</code></em> depends on knowing the type.
2409
+ </p>
2410
+ <p>
2411
+ <em class="parameter"><code>data</code></em> is not modified by this function and must remain valid with an
2412
+ unchanging value until such a time as <em class="parameter"><code>notify</code></em> is called with
2413
+ <em class="parameter"><code>user_data</code></em>. If the contents of <em class="parameter"><code>data</code></em> change before that time then
2414
+ the result is undefined.
2415
+ </p>
2416
+ <p>
2417
+ If <em class="parameter"><code>data</code></em> is trusted to be serialised data in normal form then
2418
+ <em class="parameter"><code>trusted</code></em> should be <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>. This applies to serialised data created
2419
+ within this process or read from a trusted location on the disk (such
2420
+ as a file installed in /usr/lib alongside your application). You
2421
+ should set trusted to <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if <em class="parameter"><code>data</code></em> is read from the network, a
2422
+ file in the user's home directory, etc.
2423
+ </p>
2424
+ <p>
2425
+ <em class="parameter"><code>notify</code></em> will be called with <em class="parameter"><code>user_data</code></em> when <em class="parameter"><code>data</code></em> is no longer
2426
+ needed. The exact time of this call is unspecified and might even be
2427
+ before this function returns.
2428
+ </p>
2429
+ <div class="variablelist"><table border="0">
2430
+ <col align="left" valign="top">
2431
+ <tbody>
2432
+ <tr>
2433
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
2434
+ <td>a definite <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>
2435
+ </td>
2436
+ </tr>
2437
+ <tr>
2438
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2439
+ <td>the serialised data
2440
+ </td>
2441
+ </tr>
2442
+ <tr>
2443
+ <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
2444
+ <td>the size of <em class="parameter"><code>data</code></em>
2445
+ </td>
2446
+ </tr>
2447
+ <tr>
2448
+ <td><p><span class="term"><em class="parameter"><code>trusted</code></em> :</span></p></td>
2449
+ <td>
2450
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>data</code></em> is definitely in normal form
2451
+ </td>
2452
+ </tr>
2453
+ <tr>
2454
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2455
+ <td>function to call when <em class="parameter"><code>data</code></em> is no longer needed
2456
+ </td>
2457
+ </tr>
2458
+ <tr>
2459
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
2460
+ <td>data for <em class="parameter"><code>notify</code></em>
2461
+ </td>
2462
+ </tr>
2463
+ <tr>
2464
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2465
+ <td>a new floating <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> of type <em class="parameter"><code>type</code></em>
2466
+ </td>
2467
+ </tr>
2468
+ </tbody>
2469
+ </table></div>
2470
+ <p class="since">Since 2.24</p>
2471
+ </div>
2472
+ <hr>
2473
+ <div class="refsect2" title="g_variant_byteswap ()">
2474
+ <a name="g-variant-byteswap"></a><h3>g_variant_byteswap ()</h3>
2475
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_byteswap (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2476
+ <p>
2477
+ Performs a byteswapping operation on the contents of <em class="parameter"><code>value</code></em>. The
2478
+ result is that all multi-byte numeric data contained in <em class="parameter"><code>value</code></em> is
2479
+ byteswapped. That includes 16, 32, and 64bit signed and unsigned
2480
+ integers as well as file handles and double precision floating point
2481
+ values.
2482
+ </p>
2483
+ <p>
2484
+ This function is an identity mapping on any value that does not
2485
+ contain multi-byte numeric data. That include strings, booleans,
2486
+ bytes and containers containing only these things (recursively).
2487
+ </p>
2488
+ <p>
2489
+ The returned value is always in normal form and is marked as trusted.
2490
+ </p>
2491
+ <div class="variablelist"><table border="0">
2492
+ <col align="left" valign="top">
2493
+ <tbody>
2494
+ <tr>
2495
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2496
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2497
+ </td>
2498
+ </tr>
2499
+ <tr>
2500
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2501
+ <td>the byteswapped form of <em class="parameter"><code>value</code></em>
2502
+ </td>
2503
+ </tr>
2504
+ </tbody>
2505
+ </table></div>
2506
+ <p class="since">Since 2.24</p>
2507
+ </div>
2508
+ <hr>
2509
+ <div class="refsect2" title="g_variant_get_normal_form ()">
2510
+ <a name="g-variant-get-normal-form"></a><h3>g_variant_get_normal_form ()</h3>
2511
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_get_normal_form (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2512
+ <p>
2513
+ Gets a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance that has the same value as <em class="parameter"><code>value</code></em> and is
2514
+ trusted to be in normal form.
2515
+ </p>
2516
+ <p>
2517
+ If <em class="parameter"><code>value</code></em> is already trusted to be in normal form then a new
2518
+ reference to <em class="parameter"><code>value</code></em> is returned.
2519
+ </p>
2520
+ <p>
2521
+ If <em class="parameter"><code>value</code></em> is not already trusted, then it is scanned to check if it
2522
+ is in normal form. If it is found to be in normal form then it is
2523
+ marked as trusted and a new reference to it is returned.
2524
+ </p>
2525
+ <p>
2526
+ If <em class="parameter"><code>value</code></em> is found not to be in normal form then a new trusted
2527
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is created with the same value as <em class="parameter"><code>value</code></em>.
2528
+ </p>
2529
+ <p>
2530
+ It makes sense to call this function if you've received <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2531
+ data from untrusted sources and you want to ensure your serialised
2532
+ output is definitely in normal form.
2533
+ </p>
2534
+ <div class="variablelist"><table border="0">
2535
+ <col align="left" valign="top">
2536
+ <tbody>
2537
+ <tr>
2538
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2539
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2540
+ </td>
2541
+ </tr>
2542
+ <tr>
2543
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2544
+ <td>a trusted <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2545
+ </td>
2546
+ </tr>
2547
+ </tbody>
2548
+ </table></div>
2549
+ <p class="since">Since 2.24</p>
2550
+ </div>
2551
+ <hr>
2552
+ <div class="refsect2" title="g_variant_is_normal_form ()">
2553
+ <a name="g-variant-is-normal-form"></a><h3>g_variant_is_normal_form ()</h3>
2554
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_is_normal_form (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2555
+ <p>
2556
+ Checks if <em class="parameter"><code>value</code></em> is in normal form.
2557
+ </p>
2558
+ <p>
2559
+ The main reason to do this is to detect if a given chunk of
2560
+ serialised data is in normal form: load the data into a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2561
+ using <code class="function">g_variant_create_from_data()</code> and then use this function to
2562
+ check.
2563
+ </p>
2564
+ <p>
2565
+ If <em class="parameter"><code>value</code></em> is found to be in normal form then it will be marked as
2566
+ being trusted. If the value was already marked as being trusted then
2567
+ this function will immediately return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>.
2568
+ </p>
2569
+ <div class="variablelist"><table border="0">
2570
+ <col align="left" valign="top">
2571
+ <tbody>
2572
+ <tr>
2573
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2574
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
2575
+ </td>
2576
+ </tr>
2577
+ <tr>
2578
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2579
+ <td>
2580
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>value</code></em> is in normal form
2581
+ </td>
2582
+ </tr>
2583
+ </tbody>
2584
+ </table></div>
2585
+ <p class="since">Since 2.24</p>
2586
+ </div>
2587
+ <hr>
2588
+ <div class="refsect2" title="g_variant_hash ()">
2589
+ <a name="g-variant-hash"></a><h3>g_variant_hash ()</h3>
2590
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_variant_hash (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> value</code></em>);</pre>
2591
+ <p>
2592
+ Generates a hash value for a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance.
2593
+ </p>
2594
+ <p>
2595
+ The output of this function is guaranteed to be the same for a given
2596
+ value only per-process. It may change between different processor
2597
+ architectures or even different versions of GLib. Do not use this
2598
+ function as a basis for building protocols or file formats.
2599
+ </p>
2600
+ <p>
2601
+ The type of <em class="parameter"><code>value</code></em> is <a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> only to allow use of this
2602
+ function with <a class="link" href="glib-Hash-Tables.html#GHashTable" title="GHashTable"><span class="type">GHashTable</span></a>. <em class="parameter"><code>value</code></em> must be a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>.
2603
+ </p>
2604
+ <div class="variablelist"><table border="0">
2605
+ <col align="left" valign="top">
2606
+ <tbody>
2607
+ <tr>
2608
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2609
+ <td>a basic <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> value as a <a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a>
2610
+ </td>
2611
+ </tr>
2612
+ <tr>
2613
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2614
+ <td>a hash value corresponding to <em class="parameter"><code>value</code></em>
2615
+ </td>
2616
+ </tr>
2617
+ </tbody>
2618
+ </table></div>
2619
+ <p class="since">Since 2.24</p>
2620
+ </div>
2621
+ <hr>
2622
+ <div class="refsect2" title="g_variant_equal ()">
2623
+ <a name="g-variant-equal"></a><h3>g_variant_equal ()</h3>
2624
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_equal (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> one</code></em>,
2625
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> two</code></em>);</pre>
2626
+ <p>
2627
+ Checks if <em class="parameter"><code>one</code></em> and <em class="parameter"><code>two</code></em> have the same type and value.
2628
+ </p>
2629
+ <p>
2630
+ The types of <em class="parameter"><code>one</code></em> and <em class="parameter"><code>two</code></em> are <a class="link" href="glib-Basic-Types.html#gconstpointer" title="gconstpointer"><span class="type">gconstpointer</span></a> only to allow use of
2631
+ this function with <a class="link" href="glib-Hash-Tables.html#GHashTable" title="GHashTable"><span class="type">GHashTable</span></a>. They must each be a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>.
2632
+ </p>
2633
+ <div class="variablelist"><table border="0">
2634
+ <col align="left" valign="top">
2635
+ <tbody>
2636
+ <tr>
2637
+ <td><p><span class="term"><em class="parameter"><code>one</code></em> :</span></p></td>
2638
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
2639
+ </td>
2640
+ </tr>
2641
+ <tr>
2642
+ <td><p><span class="term"><em class="parameter"><code>two</code></em> :</span></p></td>
2643
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
2644
+ </td>
2645
+ </tr>
2646
+ <tr>
2647
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2648
+ <td>
2649
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>one</code></em> and <em class="parameter"><code>two</code></em> are equal
2650
+ </td>
2651
+ </tr>
2652
+ </tbody>
2653
+ </table></div>
2654
+ <p class="since">Since 2.24</p>
2655
+ </div>
2656
+ <hr>
2657
+ <div class="refsect2" title="g_variant_print ()">
2658
+ <a name="g-variant-print"></a><h3>g_variant_print ()</h3>
2659
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_variant_print (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
2660
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> type_annotate</code></em>);</pre>
2661
+ <p>
2662
+ Pretty-prints <em class="parameter"><code>value</code></em> in the format understood by <a class="link" href="glib-GVariant.html#g-variant-parse" title="g_variant_parse ()"><code class="function">g_variant_parse()</code></a>.
2663
+ </p>
2664
+ <p>
2665
+ If <em class="parameter"><code>type_annotate</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, then type information is included in
2666
+ the output.
2667
+ </p>
2668
+ <div class="variablelist"><table border="0">
2669
+ <col align="left" valign="top">
2670
+ <tbody>
2671
+ <tr>
2672
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2673
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2674
+ </td>
2675
+ </tr>
2676
+ <tr>
2677
+ <td><p><span class="term"><em class="parameter"><code>type_annotate</code></em> :</span></p></td>
2678
+ <td>
2679
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if type information should be included in
2680
+ the output
2681
+ </td>
2682
+ </tr>
2683
+ <tr>
2684
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2685
+ <td>a newly-allocated string holding the result.
2686
+ </td>
2687
+ </tr>
2688
+ </tbody>
2689
+ </table></div>
2690
+ </div>
2691
+ <hr>
2692
+ <div class="refsect2" title="g_variant_print_string ()">
2693
+ <a name="g-variant-print-string"></a><h3>g_variant_print_string ()</h3>
2694
+ <pre class="programlisting"><a class="link" href="glib-Strings.html#GString" title="GString"><span class="returnvalue">GString</span></a> * g_variant_print_string (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>,
2695
+ <em class="parameter"><code><a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> *string</code></em>,
2696
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> type_annotate</code></em>);</pre>
2697
+ <p>
2698
+ Behaves as <a class="link" href="glib-GVariant.html#g-variant-print" title="g_variant_print ()"><code class="function">g_variant_print()</code></a>, but operates on a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>.
2699
+ </p>
2700
+ <p>
2701
+ If <em class="parameter"><code>string</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then it is appended to and returned. Else,
2702
+ a new empty <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> is allocated and it is returned.
2703
+ </p>
2704
+ <div class="variablelist"><table border="0">
2705
+ <col align="left" valign="top">
2706
+ <tbody>
2707
+ <tr>
2708
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2709
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2710
+ </td>
2711
+ </tr>
2712
+ <tr>
2713
+ <td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
2714
+ <td>a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2715
+ </td>
2716
+ </tr>
2717
+ <tr>
2718
+ <td><p><span class="term"><em class="parameter"><code>type_annotate</code></em> :</span></p></td>
2719
+ <td>
2720
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if type information should be included in
2721
+ the output
2722
+ </td>
2723
+ </tr>
2724
+ <tr>
2725
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2726
+ <td>a <a class="link" href="glib-Strings.html#GString" title="GString"><span class="type">GString</span></a> containing the string
2727
+ </td>
2728
+ </tr>
2729
+ </tbody>
2730
+ </table></div>
2731
+ <p class="since">Since 2.24</p>
2732
+ </div>
2733
+ <hr>
2734
+ <div class="refsect2" title="GVariantIter">
2735
+ <a name="GVariantIter"></a><h3>GVariantIter</h3>
2736
+ <pre class="programlisting">typedef struct {
2737
+ } GVariantIter;
2738
+ </pre>
2739
+ <p>
2740
+ <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> is an opaque data structure and can only be accessed
2741
+ using the following functions.
2742
+ </p>
2743
+ </div>
2744
+ <hr>
2745
+ <div class="refsect2" title="g_variant_iter_copy ()">
2746
+ <a name="g-variant-iter-copy"></a><h3>g_variant_iter_copy ()</h3>
2747
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="returnvalue">GVariantIter</span></a> * g_variant_iter_copy (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);</pre>
2748
+ <p>
2749
+ Creates a new heap-allocated <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> to iterate over the
2750
+ container that was being iterated over by <em class="parameter"><code>iter</code></em>. Iteration begins on
2751
+ the new iterator from the current position of the old iterator but
2752
+ the two copies are independent past that point.
2753
+ </p>
2754
+ <p>
2755
+ Use <a class="link" href="glib-GVariant.html#g-variant-iter-free" title="g_variant_iter_free ()"><code class="function">g_variant_iter_free()</code></a> to free the return value when you no longer
2756
+ need it.
2757
+ </p>
2758
+ <p>
2759
+ A reference is taken to the container that <em class="parameter"><code>iter</code></em> is iterating over
2760
+ and will be releated only when <a class="link" href="glib-GVariant.html#g-variant-iter-free" title="g_variant_iter_free ()"><code class="function">g_variant_iter_free()</code></a> is called.
2761
+ </p>
2762
+ <div class="variablelist"><table border="0">
2763
+ <col align="left" valign="top">
2764
+ <tbody>
2765
+ <tr>
2766
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
2767
+ <td>a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2768
+ </td>
2769
+ </tr>
2770
+ <tr>
2771
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2772
+ <td>a new heap-allocated <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2773
+ </td>
2774
+ </tr>
2775
+ </tbody>
2776
+ </table></div>
2777
+ <p class="since">Since 2.24</p>
2778
+ </div>
2779
+ <hr>
2780
+ <div class="refsect2" title="g_variant_iter_free ()">
2781
+ <a name="g-variant-iter-free"></a><h3>g_variant_iter_free ()</h3>
2782
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_iter_free (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);</pre>
2783
+ <p>
2784
+ Frees a heap-allocated <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>. Only call this function on
2785
+ iterators that were returned by <a class="link" href="glib-GVariant.html#g-variant-iter-new" title="g_variant_iter_new ()"><code class="function">g_variant_iter_new()</code></a> or
2786
+ <a class="link" href="glib-GVariant.html#g-variant-iter-copy" title="g_variant_iter_copy ()"><code class="function">g_variant_iter_copy()</code></a>.
2787
+ </p>
2788
+ <div class="variablelist"><table border="0">
2789
+ <col align="left" valign="top">
2790
+ <tbody><tr>
2791
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
2792
+ <td>a heap-allocated <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2793
+ </td>
2794
+ </tr></tbody>
2795
+ </table></div>
2796
+ <p class="since">Since 2.24</p>
2797
+ </div>
2798
+ <hr>
2799
+ <div class="refsect2" title="g_variant_iter_init ()">
2800
+ <a name="g-variant-iter-init"></a><h3>g_variant_iter_init ()</h3>
2801
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_variant_iter_init (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>,
2802
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2803
+ <p>
2804
+ Initialises (without allocating) a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>. <em class="parameter"><code>iter</code></em> may be
2805
+ completely uninitialised prior to this call; its old value is
2806
+ ignored.
2807
+ </p>
2808
+ <p>
2809
+ The iterator remains valid for as long as <em class="parameter"><code>value</code></em> exists, and need not
2810
+ be freed in any way.
2811
+ </p>
2812
+ <div class="variablelist"><table border="0">
2813
+ <col align="left" valign="top">
2814
+ <tbody>
2815
+ <tr>
2816
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
2817
+ <td>a pointer to a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2818
+ </td>
2819
+ </tr>
2820
+ <tr>
2821
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2822
+ <td>a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2823
+ </td>
2824
+ </tr>
2825
+ <tr>
2826
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2827
+ <td>the number of items in <em class="parameter"><code>value</code></em>
2828
+ </td>
2829
+ </tr>
2830
+ </tbody>
2831
+ </table></div>
2832
+ <p class="since">Since 2.24</p>
2833
+ </div>
2834
+ <hr>
2835
+ <div class="refsect2" title="g_variant_iter_n_children ()">
2836
+ <a name="g-variant-iter-n-children"></a><h3>g_variant_iter_n_children ()</h3>
2837
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_variant_iter_n_children (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);</pre>
2838
+ <p>
2839
+ Queries the number of child items in the container that we are
2840
+ iterating over. This is the total number of items -- not the number
2841
+ of items remaining.
2842
+ </p>
2843
+ <p>
2844
+ This function might be useful for preallocation of arrays.
2845
+ </p>
2846
+ <div class="variablelist"><table border="0">
2847
+ <col align="left" valign="top">
2848
+ <tbody>
2849
+ <tr>
2850
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
2851
+ <td>a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2852
+ </td>
2853
+ </tr>
2854
+ <tr>
2855
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2856
+ <td>the number of children in the container
2857
+ </td>
2858
+ </tr>
2859
+ </tbody>
2860
+ </table></div>
2861
+ <p class="since">Since 2.24</p>
2862
+ </div>
2863
+ <hr>
2864
+ <div class="refsect2" title="g_variant_iter_new ()">
2865
+ <a name="g-variant-iter-new"></a><h3>g_variant_iter_new ()</h3>
2866
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="returnvalue">GVariantIter</span></a> * g_variant_iter_new (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
2867
+ <p>
2868
+ Creates a heap-allocated <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> for iterating over the items
2869
+ in <em class="parameter"><code>value</code></em>.
2870
+ </p>
2871
+ <p>
2872
+ Use <a class="link" href="glib-GVariant.html#g-variant-iter-free" title="g_variant_iter_free ()"><code class="function">g_variant_iter_free()</code></a> to free the return value when you no longer
2873
+ need it.
2874
+ </p>
2875
+ <p>
2876
+ A reference is taken to <em class="parameter"><code>value</code></em> and will be released only when
2877
+ <a class="link" href="glib-GVariant.html#g-variant-iter-free" title="g_variant_iter_free ()"><code class="function">g_variant_iter_free()</code></a> is called.
2878
+ </p>
2879
+ <div class="variablelist"><table border="0">
2880
+ <col align="left" valign="top">
2881
+ <tbody>
2882
+ <tr>
2883
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
2884
+ <td>a container <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
2885
+ </td>
2886
+ </tr>
2887
+ <tr>
2888
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2889
+ <td>a new heap-allocated <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2890
+ </td>
2891
+ </tr>
2892
+ </tbody>
2893
+ </table></div>
2894
+ <p class="since">Since 2.24</p>
2895
+ </div>
2896
+ <hr>
2897
+ <div class="refsect2" title="g_variant_iter_next_value ()">
2898
+ <a name="g-variant-iter-next-value"></a><h3>g_variant_iter_next_value ()</h3>
2899
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_iter_next_value (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>);</pre>
2900
+ <p>
2901
+ Gets the next item in the container. If no more items remain then
2902
+ <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is returned.
2903
+ </p>
2904
+ <p>
2905
+ Use <a class="link" href="glib-GVariant.html#g-variant-unref" title="g_variant_unref ()"><code class="function">g_variant_unref()</code></a> to drop your reference on the return value when
2906
+ you no longer need it.
2907
+ </p>
2908
+ <p>
2909
+ </p>
2910
+ <div class="example">
2911
+ <a name="id933696"></a><p class="title"><b>Example 23. Iterating with <a class="link" href="glib-GVariant.html#g-variant-iter-next-value" title="g_variant_iter_next_value ()"><code class="function">g_variant_iter_next_value()</code></a></b></p>
2912
+ <div class="example-contents">
2913
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2914
+ <tbody>
2915
+ <tr>
2916
+ <td class="listing_lines" align="right"><pre>1
2917
+ 2
2918
+ 3
2919
+ 4
2920
+ 5
2921
+ 6
2922
+ 7
2923
+ 8
2924
+ 9
2925
+ 10
2926
+ 11
2927
+ 12
2928
+ 13
2929
+ 14
2930
+ 15
2931
+ 16
2932
+ 17
2933
+ 18</pre></td>
2934
+ <td class="listing_code"><pre class="programlisting"><span class="comment">/* recursively iterate a container */</span>
2935
+ <span class="type">void</span>
2936
+ <span class="function">iterate_container_recursive</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">container</span><span class="symbol">)</span>
2937
+ <span class="cbracket">{</span>
2938
+ <span class="normal"> </span><span class="usertype">GVariantIter</span><span class="normal"> iter</span><span class="symbol">;</span>
2939
+ <span class="normal"> </span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">child</span><span class="symbol">;</span>
2940
+
2941
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-iter-init">g_variant_iter_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> dictionary</span><span class="symbol">);</span>
2942
+ <span class="normal"> </span><span class="keyword">while</span><span class="normal"> </span><span class="symbol">((</span><span class="normal">child </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-iter-next-value">g_variant_iter_next_value</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">iter</span><span class="symbol">)))</span>
2943
+ <span class="normal"> </span><span class="cbracket">{</span>
2944
+ <span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"type '%s'</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-get-type-string">g_variant_get_type_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">));</span>
2945
+
2946
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="glib-GVariant.html#g-variant-is-container">g_variant_is_container</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">))</span>
2947
+ <span class="normal"> </span><span class="function">iterate_container_recursive</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">);</span>
2948
+
2949
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-unref">g_variant_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">child</span><span class="symbol">);</span>
2950
+ <span class="normal"> </span><span class="cbracket">}</span>
2951
+ <span class="cbracket">}</span></pre></td>
2952
+ </tr>
2953
+ </tbody>
2954
+ </table>
2955
+ </div>
2956
+
2957
+ </div>
2958
+ <p><br class="example-break">
2959
+ </p>
2960
+ <div class="variablelist"><table border="0">
2961
+ <col align="left" valign="top">
2962
+ <tbody>
2963
+ <tr>
2964
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
2965
+ <td>a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
2966
+ </td>
2967
+ </tr>
2968
+ <tr>
2969
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2970
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2971
+ </td>
2972
+ </tr>
2973
+ </tbody>
2974
+ </table></div>
2975
+ <p class="since">Since 2.24</p>
2976
+ </div>
2977
+ <hr>
2978
+ <div class="refsect2" title="g_variant_iter_next ()">
2979
+ <a name="g-variant-iter-next"></a><h3>g_variant_iter_next ()</h3>
2980
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_iter_next (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>,
2981
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
2982
+ <em class="parameter"><code>...</code></em>);</pre>
2983
+ <p>
2984
+ Gets the next item in the container and unpacks it into the variable
2985
+ argument list according to <em class="parameter"><code>format_string</code></em>, returning <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>.
2986
+ </p>
2987
+ <p>
2988
+ If no more items remain then <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> is returned.
2989
+ </p>
2990
+ <p>
2991
+ All of the pointers given on the variable arguments list of this
2992
+ function are assumed to point at uninitialised memory. It is the
2993
+ responsibility of the caller to free all of the values returned by
2994
+ the unpacking process.
2995
+ </p>
2996
+ <p>
2997
+ </p>
2998
+ <div class="example">
2999
+ <a name="id933912"></a><p class="title"><b>Example 24. Memory management with <a class="link" href="glib-GVariant.html#g-variant-iter-next" title="g_variant_iter_next ()"><code class="function">g_variant_iter_next()</code></a></b></p>
3000
+ <div class="example-contents">
3001
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
3002
+ <tbody>
3003
+ <tr>
3004
+ <td class="listing_lines" align="right"><pre>1
3005
+ 2
3006
+ 3
3007
+ 4
3008
+ 5
3009
+ 6
3010
+ 7
3011
+ 8
3012
+ 9
3013
+ 10
3014
+ 11
3015
+ 12
3016
+ 13
3017
+ 14
3018
+ 15
3019
+ 16
3020
+ 17
3021
+ 18
3022
+ 19</pre></td>
3023
+ <td class="listing_code"><pre class="programlisting"><span class="comment">/* Iterates a dictionary of type 'a{sv}' */</span>
3024
+ <span class="type">void</span>
3025
+ <span class="function">iterate_dictionary</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">dictionary</span><span class="symbol">)</span>
3026
+ <span class="cbracket">{</span>
3027
+ <span class="normal"> </span><span class="usertype">GVariantIter</span><span class="normal"> iter</span><span class="symbol">;</span>
3028
+ <span class="normal"> </span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">value</span><span class="symbol">;</span>
3029
+ <span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">key</span><span class="symbol">;</span>
3030
+
3031
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-iter-init">g_variant_iter_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> dictionary</span><span class="symbol">);</span>
3032
+ <span class="normal"> </span><span class="keyword">while</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="glib-GVariant.html#g-variant-iter-next">g_variant_iter_next</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"{sv}"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">key</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">value</span><span class="symbol">))</span>
3033
+ <span class="normal"> </span><span class="cbracket">{</span>
3034
+ <span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Item '%s' has type '%s'</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> key</span><span class="symbol">,</span>
3035
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-get-type-string">g_variant_get_type_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">));</span>
3036
+
3037
+ <span class="normal"> </span><span class="comment">/* must free data for ourselves */</span>
3038
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-unref">g_variant_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">);</span>
3039
+ <span class="normal"> </span><span class="function"><a href="glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">key</span><span class="symbol">);</span>
3040
+ <span class="normal"> </span><span class="cbracket">}</span>
3041
+ <span class="cbracket">}</span></pre></td>
3042
+ </tr>
3043
+ </tbody>
3044
+ </table>
3045
+ </div>
3046
+
3047
+ </div>
3048
+ <p><br class="example-break">
3049
+ </p>
3050
+ <p>
3051
+ For a solution that is likely to be more convenient to C programmers
3052
+ when dealing with loops, see <a class="link" href="glib-GVariant.html#g-variant-iter-loop" title="g_variant_iter_loop ()"><code class="function">g_variant_iter_loop()</code></a>.
3053
+ </p>
3054
+ <div class="variablelist"><table border="0">
3055
+ <col align="left" valign="top">
3056
+ <tbody>
3057
+ <tr>
3058
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
3059
+ <td>a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
3060
+ </td>
3061
+ </tr>
3062
+ <tr>
3063
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
3064
+ <td>a GVariant format string
3065
+ </td>
3066
+ </tr>
3067
+ <tr>
3068
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
3069
+ <td>the arguments to unpack the value into
3070
+ </td>
3071
+ </tr>
3072
+ <tr>
3073
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3074
+ <td>
3075
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if a value was unpacked, or <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if there as no
3076
+ value
3077
+ </td>
3078
+ </tr>
3079
+ </tbody>
3080
+ </table></div>
3081
+ <p class="since">Since 2.24</p>
3082
+ </div>
3083
+ <hr>
3084
+ <div class="refsect2" title="g_variant_iter_loop ()">
3085
+ <a name="g-variant-iter-loop"></a><h3>g_variant_iter_loop ()</h3>
3086
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_variant_iter_loop (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a> *iter</code></em>,
3087
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
3088
+ <em class="parameter"><code>...</code></em>);</pre>
3089
+ <p>
3090
+ Gets the next item in the container and unpacks it into the variable
3091
+ argument list according to <em class="parameter"><code>format_string</code></em>, returning <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>.
3092
+ </p>
3093
+ <p>
3094
+ If no more items remain then <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> is returned.
3095
+ </p>
3096
+ <p>
3097
+ On the first call to this function, the pointers appearing on the
3098
+ variable argument list are assumed to point at uninitialised memory.
3099
+ On the second and later calls, it is assumed that the same pointers
3100
+ will be given and that they will point to the memory as set by the
3101
+ previous call to this function. This allows the previous values to
3102
+ be freed, as appropriate.
3103
+ </p>
3104
+ <p>
3105
+ This function is intended to be used with a while loop as
3106
+ demonstrated in the following example. This function can only be
3107
+ used when iterating over an array. It is only valid to call this
3108
+ function with a string constant for the format string and the same
3109
+ string constant must be used each time. Mixing calls to this
3110
+ function and <a class="link" href="glib-GVariant.html#g-variant-iter-next" title="g_variant_iter_next ()"><code class="function">g_variant_iter_next()</code></a> or <a class="link" href="glib-GVariant.html#g-variant-iter-next-value" title="g_variant_iter_next_value ()"><code class="function">g_variant_iter_next_value()</code></a> on
3111
+ the same iterator is not recommended.
3112
+ </p>
3113
+ <p>
3114
+ </p>
3115
+ <div class="example">
3116
+ <a name="id934211"></a><p class="title"><b>Example 25. Memory management with <a class="link" href="glib-GVariant.html#g-variant-iter-loop" title="g_variant_iter_loop ()"><code class="function">g_variant_iter_loop()</code></a></b></p>
3117
+ <div class="example-contents">
3118
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
3119
+ <tbody>
3120
+ <tr>
3121
+ <td class="listing_lines" align="right"><pre>1
3122
+ 2
3123
+ 3
3124
+ 4
3125
+ 5
3126
+ 6
3127
+ 7
3128
+ 8
3129
+ 9
3130
+ 10
3131
+ 11
3132
+ 12
3133
+ 13
3134
+ 14
3135
+ 15
3136
+ 16
3137
+ 17</pre></td>
3138
+ <td class="listing_code"><pre class="programlisting"><span class="comment">/* Iterates a dictionary of type 'a{sv}' */</span>
3139
+ <span class="type">void</span>
3140
+ <span class="function">iterate_dictionary</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">dictionary</span><span class="symbol">)</span>
3141
+ <span class="cbracket">{</span>
3142
+ <span class="normal"> </span><span class="usertype">GVariantIter</span><span class="normal"> iter</span><span class="symbol">;</span>
3143
+ <span class="normal"> </span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">value</span><span class="symbol">;</span>
3144
+ <span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">key</span><span class="symbol">;</span>
3145
+
3146
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-iter-init">g_variant_iter_init</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> dictionary</span><span class="symbol">);</span>
3147
+ <span class="normal"> </span><span class="keyword">while</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="glib-GVariant.html#g-variant-iter-loop">g_variant_iter_loop</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"{sv}"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">key</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">value</span><span class="symbol">))</span>
3148
+ <span class="normal"> </span><span class="cbracket">{</span>
3149
+ <span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Item '%s' has type '%s'</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> key</span><span class="symbol">,</span>
3150
+ <span class="normal"> </span><span class="function"><a href="glib-GVariant.html#g-variant-get-type-string">g_variant_get_type_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">));</span>
3151
+
3152
+ <span class="normal"> </span><span class="comment">/* no need to free 'key' and 'value' here */</span>
3153
+ <span class="normal"> </span><span class="cbracket">}</span>
3154
+ <span class="cbracket">}</span></pre></td>
3155
+ </tr>
3156
+ </tbody>
3157
+ </table>
3158
+ </div>
3159
+
3160
+ </div>
3161
+ <p><br class="example-break">
3162
+ </p>
3163
+ <p>
3164
+ If you want a slightly less magical alternative that requires more
3165
+ typing, see <a class="link" href="glib-GVariant.html#g-variant-iter-next" title="g_variant_iter_next ()"><code class="function">g_variant_iter_next()</code></a>.
3166
+ </p>
3167
+ <div class="variablelist"><table border="0">
3168
+ <col align="left" valign="top">
3169
+ <tbody>
3170
+ <tr>
3171
+ <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
3172
+ <td>a <a class="link" href="glib-GVariant.html#GVariantIter" title="GVariantIter"><span class="type">GVariantIter</span></a>
3173
+ </td>
3174
+ </tr>
3175
+ <tr>
3176
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
3177
+ <td>a GVariant format string
3178
+ </td>
3179
+ </tr>
3180
+ <tr>
3181
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
3182
+ <td>the arguments to unpack the value into
3183
+ </td>
3184
+ </tr>
3185
+ <tr>
3186
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3187
+ <td>
3188
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if a value was unpacked, or <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if there as no
3189
+ value
3190
+ </td>
3191
+ </tr>
3192
+ </tbody>
3193
+ </table></div>
3194
+ <p class="since">Since 2.24</p>
3195
+ </div>
3196
+ <hr>
3197
+ <div class="refsect2" title="GVariantBuilder">
3198
+ <a name="GVariantBuilder"></a><h3>GVariantBuilder</h3>
3199
+ <pre class="programlisting">typedef struct {
3200
+ } GVariantBuilder;
3201
+ </pre>
3202
+ <p>
3203
+ A utility type for constructing container-type <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instances.
3204
+ </p>
3205
+ <p>
3206
+ This is an opaque structure and may only be accessed using the
3207
+ following functions.
3208
+ </p>
3209
+ <p>
3210
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> is not threadsafe in any way. Do not attempt to
3211
+ access it from more than one thread.
3212
+ </p>
3213
+ </div>
3214
+ <hr>
3215
+ <div class="refsect2" title="g_variant_builder_unref ()">
3216
+ <a name="g-variant-builder-unref"></a><h3>g_variant_builder_unref ()</h3>
3217
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_unref (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
3218
+ <p>
3219
+ Decreases the reference count on <em class="parameter"><code>builder</code></em>.
3220
+ </p>
3221
+ <p>
3222
+ In the event that there are no more references, releases all memory
3223
+ associated with the <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>.
3224
+ </p>
3225
+ <p>
3226
+ Don't call this on stack-allocated <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> instances or bad
3227
+ things will happen.
3228
+ </p>
3229
+ <div class="variablelist"><table border="0">
3230
+ <col align="left" valign="top">
3231
+ <tbody><tr>
3232
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3233
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> allocated by <a class="link" href="glib-GVariant.html#g-variant-builder-new" title="g_variant_builder_new ()"><code class="function">g_variant_builder_new()</code></a>
3234
+ </td>
3235
+ </tr></tbody>
3236
+ </table></div>
3237
+ <p class="since">Since 2.24</p>
3238
+ </div>
3239
+ <hr>
3240
+ <div class="refsect2" title="g_variant_builder_ref ()">
3241
+ <a name="g-variant-builder-ref"></a><h3>g_variant_builder_ref ()</h3>
3242
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="returnvalue">GVariantBuilder</span></a> * g_variant_builder_ref (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
3243
+ <p>
3244
+ Increases the reference count on <em class="parameter"><code>builder</code></em>.
3245
+ </p>
3246
+ <p>
3247
+ Don't call this on stack-allocated <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> instances or bad
3248
+ things will happen.
3249
+ </p>
3250
+ <div class="variablelist"><table border="0">
3251
+ <col align="left" valign="top">
3252
+ <tbody>
3253
+ <tr>
3254
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3255
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> allocated by <a class="link" href="glib-GVariant.html#g-variant-builder-new" title="g_variant_builder_new ()"><code class="function">g_variant_builder_new()</code></a>
3256
+ </td>
3257
+ </tr>
3258
+ <tr>
3259
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3260
+ <td>a new reference to <em class="parameter"><code>builder</code></em>
3261
+ </td>
3262
+ </tr>
3263
+ </tbody>
3264
+ </table></div>
3265
+ <p class="since">Since 2.24</p>
3266
+ </div>
3267
+ <hr>
3268
+ <div class="refsect2" title="g_variant_builder_new ()">
3269
+ <a name="g-variant-builder-new"></a><h3>g_variant_builder_new ()</h3>
3270
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="returnvalue">GVariantBuilder</span></a> * g_variant_builder_new (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);</pre>
3271
+ <p>
3272
+ Allocates and initialises a new <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>.
3273
+ </p>
3274
+ <p>
3275
+ You should call <a class="link" href="glib-GVariant.html#g-variant-builder-unref" title="g_variant_builder_unref ()"><code class="function">g_variant_builder_unref()</code></a> on the return value when it
3276
+ is no longer needed. The memory will not be automatically freed by
3277
+ any other call.
3278
+ </p>
3279
+ <p>
3280
+ In most cases it is easier to place a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> directly on
3281
+ the stack of the calling function and initialise it with
3282
+ <a class="link" href="glib-GVariant.html#g-variant-builder-init" title="g_variant_builder_init ()"><code class="function">g_variant_builder_init()</code></a>.
3283
+ </p>
3284
+ <div class="variablelist"><table border="0">
3285
+ <col align="left" valign="top">
3286
+ <tbody>
3287
+ <tr>
3288
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3289
+ <td>a container type
3290
+ </td>
3291
+ </tr>
3292
+ <tr>
3293
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3294
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3295
+ </td>
3296
+ </tr>
3297
+ </tbody>
3298
+ </table></div>
3299
+ <p class="since">Since 2.24</p>
3300
+ </div>
3301
+ <hr>
3302
+ <div class="refsect2" title="g_variant_builder_init ()">
3303
+ <a name="g-variant-builder-init"></a><h3>g_variant_builder_init ()</h3>
3304
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_init (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
3305
+ <em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);</pre>
3306
+ <p>
3307
+ Initialises a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> structure.
3308
+ </p>
3309
+ <p>
3310
+ <em class="parameter"><code>type</code></em> must be non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. It specifies the type of container to
3311
+ construct. It can be an indefinite type such as
3312
+ <a class="link" href="glib-GVariantType.html#G-VARIANT-TYPE-ARRAY:CAPS" title="G_VARIANT_TYPE_ARRAY"><code class="literal">G_VARIANT_TYPE_ARRAY</code></a> or a definite type such as "as" or "(ii)".
3313
+ Maybe, array, tuple, dictionary entry and variant-typed values may be
3314
+ constructed.
3315
+ </p>
3316
+ <p>
3317
+ After the builder is initialised, values are added using
3318
+ <a class="link" href="glib-GVariant.html#g-variant-builder-add-value" title="g_variant_builder_add_value ()"><code class="function">g_variant_builder_add_value()</code></a> or <a class="link" href="glib-GVariant.html#g-variant-builder-add" title="g_variant_builder_add ()"><code class="function">g_variant_builder_add()</code></a>.
3319
+ </p>
3320
+ <p>
3321
+ After all the child values are added, <a class="link" href="glib-GVariant.html#g-variant-builder-end" title="g_variant_builder_end ()"><code class="function">g_variant_builder_end()</code></a> frees
3322
+ the memory associated with the builder and returns the <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> that
3323
+ was created.
3324
+ </p>
3325
+ <p>
3326
+ This function completely ignores the previous contents of <em class="parameter"><code>builder</code></em>.
3327
+ On one hand this means that it is valid to pass in completely
3328
+ uninitialised memory. On the other hand, this means that if you are
3329
+ initialising over top of an existing <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> you need to
3330
+ first call <a class="link" href="glib-GVariant.html#g-variant-builder-clear" title="g_variant_builder_clear ()"><code class="function">g_variant_builder_clear()</code></a> in order to avoid leaking
3331
+ memory.
3332
+ </p>
3333
+ <p>
3334
+ You must not call <a class="link" href="glib-GVariant.html#g-variant-builder-ref" title="g_variant_builder_ref ()"><code class="function">g_variant_builder_ref()</code></a> or
3335
+ <a class="link" href="glib-GVariant.html#g-variant-builder-unref" title="g_variant_builder_unref ()"><code class="function">g_variant_builder_unref()</code></a> on a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> that was initialised
3336
+ with this function. If you ever pass a reference to a
3337
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> outside of the control of your own code then you
3338
+ should assume that the person receiving that reference may try to use
3339
+ reference counting; you should use <a class="link" href="glib-GVariant.html#g-variant-builder-new" title="g_variant_builder_new ()"><code class="function">g_variant_builder_new()</code></a> instead of
3340
+ this function.
3341
+ </p>
3342
+ <div class="variablelist"><table border="0">
3343
+ <col align="left" valign="top">
3344
+ <tbody>
3345
+ <tr>
3346
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3347
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3348
+ </td>
3349
+ </tr>
3350
+ <tr>
3351
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3352
+ <td>a container type
3353
+ </td>
3354
+ </tr>
3355
+ </tbody>
3356
+ </table></div>
3357
+ <p class="since">Since 2.24</p>
3358
+ </div>
3359
+ <hr>
3360
+ <div class="refsect2" title="g_variant_builder_clear ()">
3361
+ <a name="g-variant-builder-clear"></a><h3>g_variant_builder_clear ()</h3>
3362
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_clear (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
3363
+ <p>
3364
+ Releases all memory associated with a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> without
3365
+ freeing the <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> structure itself.
3366
+ </p>
3367
+ <p>
3368
+ It typically only makes sense to do this on a stack-allocated
3369
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> if you want to abort building the value part-way
3370
+ through. This function need not be called if you call
3371
+ <a class="link" href="glib-GVariant.html#g-variant-builder-end" title="g_variant_builder_end ()"><code class="function">g_variant_builder_end()</code></a> and it also doesn't need to be called on
3372
+ builders allocated with g_variant_builder_new (see
3373
+ <code class="function">g_variant_builder_free()</code> for that).
3374
+ </p>
3375
+ <p>
3376
+ This function leaves the <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> structure set to all-zeros.
3377
+ It is valid to call this function on either an initialised
3378
+ <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> or one that is set to all-zeros but it is not valid
3379
+ to call this function on uninitialised memory.
3380
+ </p>
3381
+ <div class="variablelist"><table border="0">
3382
+ <col align="left" valign="top">
3383
+ <tbody><tr>
3384
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3385
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3386
+ </td>
3387
+ </tr></tbody>
3388
+ </table></div>
3389
+ <p class="since">Since 2.24</p>
3390
+ </div>
3391
+ <hr>
3392
+ <div class="refsect2" title="g_variant_builder_add_value ()">
3393
+ <a name="g-variant-builder-add-value"></a><h3>g_variant_builder_add_value ()</h3>
3394
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_add_value (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
3395
+ <em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre>
3396
+ <p>
3397
+ Adds <em class="parameter"><code>value</code></em> to <em class="parameter"><code>builder</code></em>.
3398
+ </p>
3399
+ <p>
3400
+ It is an error to call this function in any way that would create an
3401
+ inconsistent value to be constructed. Some examples of this are
3402
+ putting different types of items into an array, putting the wrong
3403
+ types or number of items in a tuple, putting more than one value into
3404
+ a variant, etc.
3405
+ </p>
3406
+ <div class="variablelist"><table border="0">
3407
+ <col align="left" valign="top">
3408
+ <tbody>
3409
+ <tr>
3410
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3411
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3412
+ </td>
3413
+ </tr>
3414
+ <tr>
3415
+ <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
3416
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
3417
+ </td>
3418
+ </tr>
3419
+ </tbody>
3420
+ </table></div>
3421
+ <p class="since">Since 2.24</p>
3422
+ </div>
3423
+ <hr>
3424
+ <div class="refsect2" title="g_variant_builder_add ()">
3425
+ <a name="g-variant-builder-add"></a><h3>g_variant_builder_add ()</h3>
3426
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_add (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
3427
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format_string</code></em>,
3428
+ <em class="parameter"><code>...</code></em>);</pre>
3429
+ <p>
3430
+ Adds to a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>.
3431
+ </p>
3432
+ <p>
3433
+ This call is a convenience wrapper that is exactly equivalent to
3434
+ calling <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a> followed by <a class="link" href="glib-GVariant.html#g-variant-builder-add-value" title="g_variant_builder_add_value ()"><code class="function">g_variant_builder_add_value()</code></a>.
3435
+ </p>
3436
+ <p>
3437
+ This function might be used as follows:
3438
+ </p>
3439
+ <p>
3440
+ </p>
3441
+ <pre class="programlisting">
3442
+ GVariant *
3443
+ make_pointless_dictionary (void)
3444
+ {
3445
+ GVariantBuilder *builder;
3446
+ int i;
3447
+
3448
+ builder = g_variant_builder_new (G_VARIANT_TYPE_CLASS_ARRAY,
3449
+ NULL);
3450
+ for (i = 0; i &lt; 16; i++)
3451
+ {
3452
+ gchar buf[3];
3453
+
3454
+ sprintf (buf, "%d", i);
3455
+ g_variant_builder_add (builder, "{is}", i, buf);
3456
+ }
3457
+
3458
+ return g_variant_builder_end (builder);
3459
+ }
3460
+ </pre>
3461
+ <p>
3462
+ </p>
3463
+ <div class="variablelist"><table border="0">
3464
+ <col align="left" valign="top">
3465
+ <tbody>
3466
+ <tr>
3467
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3468
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3469
+ </td>
3470
+ </tr>
3471
+ <tr>
3472
+ <td><p><span class="term"><em class="parameter"><code>format_string</code></em> :</span></p></td>
3473
+ <td>a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> varargs format string
3474
+ </td>
3475
+ </tr>
3476
+ <tr>
3477
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
3478
+ <td>arguments, as per <em class="parameter"><code>format_string</code></em>
3479
+ </td>
3480
+ </tr>
3481
+ </tbody>
3482
+ </table></div>
3483
+ <p class="since">Since 2.24</p>
3484
+ </div>
3485
+ <hr>
3486
+ <div class="refsect2" title="g_variant_builder_end ()">
3487
+ <a name="g-variant-builder-end"></a><h3>g_variant_builder_end ()</h3>
3488
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_builder_end (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
3489
+ <p>
3490
+ Ends the builder process and returns the constructed value.
3491
+ </p>
3492
+ <p>
3493
+ It is not permissible to use <em class="parameter"><code>builder</code></em> in any way after this call
3494
+ except for reference counting operations (in the case of a
3495
+ heap-allocated <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>) or by reinitialising it with
3496
+ <a class="link" href="glib-GVariant.html#g-variant-builder-init" title="g_variant_builder_init ()"><code class="function">g_variant_builder_init()</code></a> (in the case of stack-allocated).
3497
+ </p>
3498
+ <p>
3499
+ It is an error to call this function in any way that would create an
3500
+ inconsistent value to be constructed (ie: insufficient number of
3501
+ items added to a container with a specific number of children
3502
+ required). It is also an error to call this function if the builder
3503
+ was created with an indefinite array or maybe type and no children
3504
+ have been added; in this case it is impossible to infer the type of
3505
+ the empty array.
3506
+ </p>
3507
+ <div class="variablelist"><table border="0">
3508
+ <col align="left" valign="top">
3509
+ <tbody>
3510
+ <tr>
3511
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3512
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3513
+ </td>
3514
+ </tr>
3515
+ <tr>
3516
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3517
+ <td>a new, floating, <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
3518
+ </td>
3519
+ </tr>
3520
+ </tbody>
3521
+ </table></div>
3522
+ <p class="since">Since 2.24</p>
3523
+ </div>
3524
+ <hr>
3525
+ <div class="refsect2" title="g_variant_builder_open ()">
3526
+ <a name="g-variant-builder-open"></a><h3>g_variant_builder_open ()</h3>
3527
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_open (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>,
3528
+ <em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>);</pre>
3529
+ <p>
3530
+ Opens a subcontainer inside the given <em class="parameter"><code>builder</code></em>. When done adding
3531
+ items to the subcontainer, <a class="link" href="glib-GVariant.html#g-variant-builder-close" title="g_variant_builder_close ()"><code class="function">g_variant_builder_close()</code></a> must be called.
3532
+ </p>
3533
+ <p>
3534
+ It is an error to call this function in any way that would cause an
3535
+ inconsistent value to be constructed (ie: adding too many values or
3536
+ a value of an incorrect type).
3537
+ </p>
3538
+ <div class="variablelist"><table border="0">
3539
+ <col align="left" valign="top">
3540
+ <tbody>
3541
+ <tr>
3542
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3543
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3544
+ </td>
3545
+ </tr>
3546
+ <tr>
3547
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3548
+ <td>a <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>
3549
+ </td>
3550
+ </tr>
3551
+ </tbody>
3552
+ </table></div>
3553
+ <p class="since">Since 2.24</p>
3554
+ </div>
3555
+ <hr>
3556
+ <div class="refsect2" title="g_variant_builder_close ()">
3557
+ <a name="g-variant-builder-close"></a><h3>g_variant_builder_close ()</h3>
3558
+ <pre class="programlisting"><span class="returnvalue">void</span> g_variant_builder_close (<em class="parameter"><code><a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
3559
+ <p>
3560
+ Closes the subcontainer inside the given <em class="parameter"><code>builder</code></em> that was opened by
3561
+ the most recent call to <a class="link" href="glib-GVariant.html#g-variant-builder-open" title="g_variant_builder_open ()"><code class="function">g_variant_builder_open()</code></a>.
3562
+ </p>
3563
+ <p>
3564
+ It is an error to call this function in any way that would create an
3565
+ inconsistent value to be constructed (ie: too few values added to the
3566
+ subcontainer).
3567
+ </p>
3568
+ <div class="variablelist"><table border="0">
3569
+ <col align="left" valign="top">
3570
+ <tbody><tr>
3571
+ <td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
3572
+ <td>a <a class="link" href="glib-GVariant.html#GVariantBuilder" title="GVariantBuilder"><span class="type">GVariantBuilder</span></a>
3573
+ </td>
3574
+ </tr></tbody>
3575
+ </table></div>
3576
+ <p class="since">Since 2.24</p>
3577
+ </div>
3578
+ <hr>
3579
+ <div class="refsect2" title="G_VARIANT_PARSE_ERROR">
3580
+ <a name="G-VARIANT-PARSE-ERROR:CAPS"></a><h3>G_VARIANT_PARSE_ERROR</h3>
3581
+ <pre class="programlisting">#define G_VARIANT_PARSE_ERROR (g_variant_parser_get_error_quark ())
3582
+ </pre>
3583
+ <p>
3584
+ Error domain for GVariant text format parsing. Specific error codes
3585
+ are not currently defined for this domain. See <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> for
3586
+ information on error domains.
3587
+ </p>
3588
+ </div>
3589
+ <hr>
3590
+ <div class="refsect2" title="g_variant_parse ()">
3591
+ <a name="g-variant-parse"></a><h3>g_variant_parse ()</h3>
3592
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_parse (<em class="parameter"><code>const <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a> *type</code></em>,
3593
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *text</code></em>,
3594
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *limit</code></em>,
3595
+ <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **endptr</code></em>,
3596
+ <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **error</code></em>);</pre>
3597
+ <p>
3598
+ Parses a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> from a text representation.
3599
+ </p>
3600
+ <p>
3601
+ A single <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> is parsed from the content of <em class="parameter"><code>text</code></em>.
3602
+ </p>
3603
+ <p>
3604
+ The memory at <em class="parameter"><code>limit</code></em> will never be accessed and the parser behaves as
3605
+ if the character at <em class="parameter"><code>limit</code></em> is the nul terminator. This has the
3606
+ effect of bounding <em class="parameter"><code>text</code></em>.
3607
+ </p>
3608
+ <p>
3609
+ If <em class="parameter"><code>endptr</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then <em class="parameter"><code>text</code></em> is permitted to contain data
3610
+ following the value that this function parses and <em class="parameter"><code>endptr</code></em> will be
3611
+ updated to point to the first character past the end of the text
3612
+ parsed by this function. If <em class="parameter"><code>endptr</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> and there is extra data
3613
+ then an error is returned.
3614
+ </p>
3615
+ <p>
3616
+ If <em class="parameter"><code>type</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> then the value will be parsed to have that
3617
+ type. This may result in additional parse errors (in the case that
3618
+ the parsed value doesn't fit the type) but may also result in fewer
3619
+ errors (in the case that the type would have been ambiguous, such as
3620
+ with empty arrays).
3621
+ </p>
3622
+ <p>
3623
+ In the event that the parsing is successful, the resulting <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
3624
+ is returned.
3625
+ </p>
3626
+ <p>
3627
+ In case of any error, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> will be returned. If <em class="parameter"><code>error</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
3628
+ then it will be set to reflect the error that occured.
3629
+ </p>
3630
+ <p>
3631
+ Officially, the language understood by the parser is "any string
3632
+ produced by <a class="link" href="glib-GVariant.html#g-variant-print" title="g_variant_print ()"><code class="function">g_variant_print()</code></a>".
3633
+ </p>
3634
+ <div class="variablelist"><table border="0">
3635
+ <col align="left" valign="top">
3636
+ <tbody>
3637
+ <tr>
3638
+ <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3639
+ <td>a <a class="link" href="glib-GVariantType.html#GVariantType" title="GVariantType"><span class="type">GVariantType</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
3640
+ </td>
3641
+ </tr>
3642
+ <tr>
3643
+ <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
3644
+ <td>a string containing a GVariant in text form
3645
+ </td>
3646
+ </tr>
3647
+ <tr>
3648
+ <td><p><span class="term"><em class="parameter"><code>limit</code></em> :</span></p></td>
3649
+ <td>a pointer to the end of <em class="parameter"><code>text</code></em>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
3650
+ </td>
3651
+ </tr>
3652
+ <tr>
3653
+ <td><p><span class="term"><em class="parameter"><code>endptr</code></em> :</span></p></td>
3654
+ <td>a location to store the end pointer, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
3655
+ </td>
3656
+ </tr>
3657
+ <tr>
3658
+ <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
3659
+ <td>a pointer to a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> pointer, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
3660
+ </td>
3661
+ </tr>
3662
+ <tr>
3663
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3664
+ <td>a reference to a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
3665
+ </td>
3666
+ </tr>
3667
+ </tbody>
3668
+ </table></div>
3669
+ </div>
3670
+ <hr>
3671
+ <div class="refsect2" title="g_variant_new_parsed_va ()">
3672
+ <a name="g-variant-new-parsed-va"></a><h3>g_variant_new_parsed_va ()</h3>
3673
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_parsed_va (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
3674
+ <em class="parameter"><code><span class="type">va_list</span> *app</code></em>);</pre>
3675
+ <p>
3676
+ Parses <em class="parameter"><code>format</code></em> and returns the result.
3677
+ </p>
3678
+ <p>
3679
+ This is the version of <a class="link" href="glib-GVariant.html#g-variant-new-parsed" title="g_variant_new_parsed ()"><code class="function">g_variant_new_parsed()</code></a> intended to be used
3680
+ from libraries.
3681
+ </p>
3682
+ <p>
3683
+ The return value will be floating if it was a newly created GVariant
3684
+ instance. In the case that <em class="parameter"><code>format</code></em> simply specified the collection
3685
+ of a <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> pointer (eg: <em class="parameter"><code>format</code></em> was "%*") then the collected
3686
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> pointer will be returned unmodified, without adding any
3687
+ additional references.
3688
+ </p>
3689
+ <p>
3690
+ In order to behave correctly in all cases it is necessary for the
3691
+ calling function to <a class="link" href="glib-GVariant.html#g-variant-ref-sink" title="g_variant_ref_sink ()"><code class="function">g_variant_ref_sink()</code></a> the return result before
3692
+ returning control to the user that originally provided the pointer.
3693
+ At this point, the caller will have their own full reference to the
3694
+ result. This can also be done by adding the result to a container,
3695
+ or by passing it to another <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a> call.
3696
+ </p>
3697
+ <div class="variablelist"><table border="0">
3698
+ <col align="left" valign="top">
3699
+ <tbody>
3700
+ <tr>
3701
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
3702
+ <td>a text format <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
3703
+ </td>
3704
+ </tr>
3705
+ <tr>
3706
+ <td><p><span class="term"><em class="parameter"><code>app</code></em> :</span></p></td>
3707
+ <td>a pointer to a <span class="type">va_list</span>
3708
+ </td>
3709
+ </tr>
3710
+ <tr>
3711
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3712
+ <td>a new, usually floating, <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
3713
+ </td>
3714
+ </tr>
3715
+ </tbody>
3716
+ </table></div>
3717
+ </div>
3718
+ <hr>
3719
+ <div class="refsect2" title="g_variant_new_parsed ()">
3720
+ <a name="g-variant-new-parsed"></a><h3>g_variant_new_parsed ()</h3>
3721
+ <pre class="programlisting"><a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="returnvalue">GVariant</span></a> * g_variant_new_parsed (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
3722
+ <em class="parameter"><code>...</code></em>);</pre>
3723
+ <p>
3724
+ Parses <em class="parameter"><code>format</code></em> and returns the result.
3725
+ </p>
3726
+ <p>
3727
+ <em class="parameter"><code>format</code></em> must be a text format <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> with one extention: at any
3728
+ point that a value may appear in the text, a '%' character followed
3729
+ by a GVariant format string (as per <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a>) may appear. In
3730
+ that case, the same arguments are collected from the argument list as
3731
+ <a class="link" href="glib-GVariant.html#g-variant-new" title="g_variant_new ()"><code class="function">g_variant_new()</code></a> would have collected.
3732
+ </p>
3733
+ <p>
3734
+ Consider this simple example:
3735
+ </p>
3736
+ <p>
3737
+ </p>
3738
+ <div class="informalexample">
3739
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
3740
+ <tbody>
3741
+ <tr>
3742
+ <td class="listing_lines" align="right"><pre>1</pre></td>
3743
+ <td class="listing_code"><pre class="programlisting"><span class="function"><a href="glib-GVariant.html#g-variant-new-parsed">g_variant_new_parsed</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"[('one', 1), ('two', %i), (%s, 3)]"</span><span class="symbol">,</span><span class="normal"> </span><span class="number">2</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"three"</span><span class="symbol">);</span></pre></td>
3744
+ </tr>
3745
+ </tbody>
3746
+ </table>
3747
+ </div>
3748
+
3749
+ <p>
3750
+ </p>
3751
+ <p>
3752
+ In the example, the variable argument parameters are collected and
3753
+ filled in as if they were part of the original string to produce the
3754
+ result of <code class="code">[('one', 1), ('two', 2), ('three', 3)]</code>.
3755
+ </p>
3756
+ <p>
3757
+ This function is intended only to be used with <em class="parameter"><code>format</code></em> as a string
3758
+ literal. Any parse error is fatal to the calling process. If you
3759
+ want to parse data from untrusted sources, use <a class="link" href="glib-GVariant.html#g-variant-parse" title="g_variant_parse ()"><code class="function">g_variant_parse()</code></a>.
3760
+ </p>
3761
+ <p>
3762
+ You may not use this function to return, unmodified, a single
3763
+ <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> pointer from the argument list. ie: <em class="parameter"><code>format</code></em> may not solely
3764
+ be anything along the lines of "%*", "%?", "<code class="literal">r</code>", or anything starting
3765
+ with "%@".
3766
+ </p>
3767
+ <div class="variablelist"><table border="0">
3768
+ <col align="left" valign="top">
3769
+ <tbody>
3770
+ <tr>
3771
+ <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
3772
+ <td>a text format <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a>
3773
+ </td>
3774
+ </tr>
3775
+ <tr>
3776
+ <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
3777
+ <td>arguments as per <em class="parameter"><code>format</code></em>
3778
+ </td>
3779
+ </tr>
3780
+ <tr>
3781
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3782
+ <td>a new floating <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance
3783
+ </td>
3784
+ </tr>
3785
+ </tbody>
3786
+ </table></div>
3787
+ </div>
3788
+ </div>
3789
+ <div class="refsect1" title="See Also">
3790
+ <a name="glib-GVariant.see-also"></a><h2>See Also</h2>
3791
+ GVariantType
3792
+ </div>
3793
+ </div>
3794
+ <div class="footer">
3795
+ <hr>
3796
+ Generated by GTK-Doc V1.14</div>
3797
+ </body>
3798
+ </html>