gio2 0.90.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (856) hide show
  1. data/ChangeLog +60 -0
  2. data/README +34 -0
  3. data/Rakefile +76 -0
  4. data/ext/gio2/depend +5 -0
  5. data/ext/gio2/extconf.rb +91 -0
  6. data/ext/gio2/gappinfo.c +318 -0
  7. data/ext/gio2/gapplaunchcontext.c +79 -0
  8. data/ext/gio2/gasyncinitable.c +244 -0
  9. data/ext/gio2/gasyncresult.c +39 -0
  10. data/ext/gio2/gbufferedinputstream.c +184 -0
  11. data/ext/gio2/gbufferedoutputstream.c +82 -0
  12. data/ext/gio2/gcancellable.c +177 -0
  13. data/ext/gio2/gcharsetconverter.c +72 -0
  14. data/ext/gio2/gcontenttype.c +135 -0
  15. data/ext/gio2/gconverter.c +117 -0
  16. data/ext/gio2/gconverterinputstream.c +48 -0
  17. data/ext/gio2/gconverteroutputstream.c +48 -0
  18. data/ext/gio2/gdatainputstream.c +341 -0
  19. data/ext/gio2/gdataoutputstream.c +202 -0
  20. data/ext/gio2/gdesktopappinfo.c +90 -0
  21. data/ext/gio2/gdrive.c +267 -0
  22. data/ext/gio2/gemblem.c +71 -0
  23. data/ext/gio2/gemblemedicon.c +63 -0
  24. data/ext/gio2/gfile.c +2058 -0
  25. data/ext/gio2/gfileattribute.c +263 -0
  26. data/ext/gio2/gfileattributematcher.c +90 -0
  27. data/ext/gio2/gfiledescriptorbased.c +42 -0
  28. data/ext/gio2/gfileenumerator.c +167 -0
  29. data/ext/gio2/gfileicon.c +46 -0
  30. data/ext/gio2/gfileinfo.c +641 -0
  31. data/ext/gio2/gfileinputstream.c +92 -0
  32. data/ext/gio2/gfileiostream.c +98 -0
  33. data/ext/gio2/gfilemonitor.c +63 -0
  34. data/ext/gio2/gfilenamecompleter.c +72 -0
  35. data/ext/gio2/gfileoutputstream.c +100 -0
  36. data/ext/gio2/gfilterinputstream.c +56 -0
  37. data/ext/gio2/gfilteroutputstream.c +56 -0
  38. data/ext/gio2/gicon.c +69 -0
  39. data/ext/gio2/ginetaddress.c +188 -0
  40. data/ext/gio2/ginetsocketaddress.c +54 -0
  41. data/ext/gio2/ginitable.c +195 -0
  42. data/ext/gio2/ginputstream.c +341 -0
  43. data/ext/gio2/gio2.c +120 -0
  44. data/ext/gio2/gio2.def +2 -0
  45. data/ext/gio2/gio2.h +343 -0
  46. data/ext/gio2/gioerror.c +67 -0
  47. data/ext/gio2/giomodule.c +63 -0
  48. data/ext/gio2/gioscheduler.c +195 -0
  49. data/ext/gio2/giostream.c +129 -0
  50. data/ext/gio2/gloadableicon.c +91 -0
  51. data/ext/gio2/gmemoryinputstream.c +65 -0
  52. data/ext/gio2/gmemoryoutputstream.c +65 -0
  53. data/ext/gio2/gmount.c +283 -0
  54. data/ext/gio2/gmountoperation.c +168 -0
  55. data/ext/gio2/gnetworkaddress.c +71 -0
  56. data/ext/gio2/gnetworkservice.c +64 -0
  57. data/ext/gio2/goutputstream.c +343 -0
  58. data/ext/gio2/gresolver.c +230 -0
  59. data/ext/gio2/gseekable.c +89 -0
  60. data/ext/gio2/gsimpleasyncresult.c +153 -0
  61. data/ext/gio2/gsocket.c +451 -0
  62. data/ext/gio2/gsocketaddress.c +45 -0
  63. data/ext/gio2/gsocketclient.c +273 -0
  64. data/ext/gio2/gsocketconnectable.c +97 -0
  65. data/ext/gio2/gsocketconnection.c +82 -0
  66. data/ext/gio2/gsocketcontrolmessage.c +82 -0
  67. data/ext/gio2/gsocketlistener.c +239 -0
  68. data/ext/gio2/gsocketservice.c +64 -0
  69. data/ext/gio2/gsrvtarget.c +77 -0
  70. data/ext/gio2/gtcpconnection.c +48 -0
  71. data/ext/gio2/gthemedicon.c +86 -0
  72. data/ext/gio2/gthreadedsocketservice.c +39 -0
  73. data/ext/gio2/gunixconnection.c +69 -0
  74. data/ext/gio2/gunixfdlist.c +112 -0
  75. data/ext/gio2/gunixfdmessage.c +81 -0
  76. data/ext/gio2/gunixinputstream.c +73 -0
  77. data/ext/gio2/gunixmounts.c +346 -0
  78. data/ext/gio2/gunixoutputstream.c +73 -0
  79. data/ext/gio2/gunixsocketaddress.c +79 -0
  80. data/ext/gio2/gvfs.c +84 -0
  81. data/ext/gio2/gvolume.c +191 -0
  82. data/ext/gio2/gvolumemonitor.c +77 -0
  83. data/ext/gio2/gzlibcompressor.c +47 -0
  84. data/ext/gio2/gzlibdecompressor.c +43 -0
  85. data/ext/gio2/util.c +323 -0
  86. data/extconf.rb +49 -0
  87. data/lib/1.8/gio2.so +0 -0
  88. data/lib/1.9/gio2.so +0 -0
  89. data/lib/gio2.rb +141 -0
  90. data/vendor/local/bin/envsubst.exe +0 -0
  91. data/vendor/local/bin/gettext.exe +0 -0
  92. data/vendor/local/bin/gettext.sh +123 -0
  93. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  94. data/vendor/local/bin/glib-gettextize +188 -0
  95. data/vendor/local/bin/glib-mkenums +537 -0
  96. data/vendor/local/bin/gobject-query.exe +0 -0
  97. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  98. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  99. data/vendor/local/bin/intl.dll +0 -0
  100. data/vendor/local/bin/libasprintf-0.dll +0 -0
  101. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  102. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  103. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  104. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  105. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  106. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  107. data/vendor/local/bin/ngettext.exe +0 -0
  108. data/vendor/local/include/autosprintf.h +66 -0
  109. data/vendor/local/include/glib-2.0/gio/gappinfo.h +236 -0
  110. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
  111. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
  112. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
  113. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +81 -0
  114. data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
  115. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
  116. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
  117. data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
  118. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +79 -0
  119. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +79 -0
  120. data/vendor/local/include/glib-2.0/gio/gcredentials.h +76 -0
  121. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +150 -0
  122. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +115 -0
  123. data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +58 -0
  124. data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +46 -0
  125. data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +562 -0
  126. data/vendor/local/include/glib-2.0/gio/gdbuserror.h +100 -0
  127. data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +286 -0
  128. data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +149 -0
  129. data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +73 -0
  130. data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +112 -0
  131. data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +94 -0
  132. data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +167 -0
  133. data/vendor/local/include/glib-2.0/gio/gdbusserver.h +54 -0
  134. data/vendor/local/include/glib-2.0/gio/gdbusutils.h +44 -0
  135. data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
  136. data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
  137. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
  138. data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
  139. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
  140. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +132 -0
  141. data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
  142. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +952 -0
  143. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
  144. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
  145. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
  146. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
  147. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
  148. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
  149. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
  150. data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
  151. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
  152. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
  153. data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
  154. data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
  155. data/vendor/local/include/glib-2.0/gio/gio.h +122 -0
  156. data/vendor/local/include/glib-2.0/gio/gioenums.h +1221 -0
  157. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +121 -0
  158. data/vendor/local/include/glib-2.0/gio/gioerror.h +52 -0
  159. data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
  160. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
  161. data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
  162. data/vendor/local/include/glib-2.0/gio/giotypes.h +375 -0
  163. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
  164. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
  165. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +98 -0
  166. data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
  167. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
  168. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
  169. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +73 -0
  170. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +71 -0
  171. data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
  172. data/vendor/local/include/glib-2.0/gio/gpermission.h +118 -0
  173. data/vendor/local/include/glib-2.0/gio/gproxy.h +123 -0
  174. data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +76 -0
  175. data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +75 -0
  176. data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +96 -0
  177. data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
  178. data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
  179. data/vendor/local/include/glib-2.0/gio/gsettings.h +258 -0
  180. data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +138 -0
  181. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
  182. data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +45 -0
  183. data/vendor/local/include/glib-2.0/gio/gsocket.h +194 -0
  184. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
  185. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
  186. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +152 -0
  187. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +74 -0
  188. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
  189. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
  190. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
  191. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
  192. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
  193. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
  194. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
  195. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
  196. data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
  197. data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
  198. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +150 -0
  199. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +60 -0
  200. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +57 -0
  201. data/vendor/local/include/glib-2.0/glib-object.h +42 -0
  202. data/vendor/local/include/glib-2.0/glib.h +99 -0
  203. data/vendor/local/include/glib-2.0/glib/galloca.h +110 -0
  204. data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
  205. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
  206. data/vendor/local/include/glib-2.0/glib/gatomic.h +105 -0
  207. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
  208. data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
  209. data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
  210. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +215 -0
  211. data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
  212. data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
  213. data/vendor/local/include/glib-2.0/glib/gcompletion.h +81 -0
  214. data/vendor/local/include/glib-2.0/glib/gconvert.h +162 -0
  215. data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
  216. data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
  217. data/vendor/local/include/glib-2.0/glib/gdatetime.h +217 -0
  218. data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
  219. data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
  220. data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
  221. data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
  222. data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
  223. data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
  224. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
  225. data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
  226. data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
  227. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +266 -0
  228. data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
  229. data/vendor/local/include/glib-2.0/glib/gmacros.h +284 -0
  230. data/vendor/local/include/glib-2.0/glib/gmain.h +531 -0
  231. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
  232. data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
  233. data/vendor/local/include/glib-2.0/glib/gmem.h +309 -0
  234. data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
  235. data/vendor/local/include/glib-2.0/glib/gnode.h +290 -0
  236. data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
  237. data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
  238. data/vendor/local/include/glib-2.0/glib/gpoll.h +117 -0
  239. data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
  240. data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
  241. data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
  242. data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
  243. data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
  244. data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
  245. data/vendor/local/include/glib-2.0/glib/gregex.h +471 -0
  246. data/vendor/local/include/glib-2.0/glib/grel.h +101 -0
  247. data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
  248. data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
  249. data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
  250. data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
  251. data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
  252. data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
  253. data/vendor/local/include/glib-2.0/glib/gstdio.h +147 -0
  254. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +269 -0
  255. data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
  256. data/vendor/local/include/glib-2.0/glib/gtestutils.h +297 -0
  257. data/vendor/local/include/glib-2.0/glib/gthread.h +407 -0
  258. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
  259. data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
  260. data/vendor/local/include/glib-2.0/glib/gtimezone.h +44 -0
  261. data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
  262. data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
  263. data/vendor/local/include/glib-2.0/glib/gunicode.h +421 -0
  264. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
  265. data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
  266. data/vendor/local/include/glib-2.0/glib/gvariant.h +248 -0
  267. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +334 -0
  268. data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
  269. data/vendor/local/include/glib-2.0/gmodule.h +101 -0
  270. data/vendor/local/include/glib-2.0/gobject/gbinding.h +136 -0
  271. data/vendor/local/include/glib-2.0/gobject/gboxed.h +248 -0
  272. data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
  273. data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
  274. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +186 -0
  275. data/vendor/local/include/glib-2.0/gobject/gobject.h +567 -0
  276. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +193 -0
  277. data/vendor/local/include/glib-2.0/gobject/gparam.h +415 -0
  278. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1137 -0
  279. data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
  280. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
  281. data/vendor/local/include/glib-2.0/gobject/gtype.h +1736 -0
  282. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
  283. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
  284. data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
  285. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
  286. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +227 -0
  287. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +260 -0
  288. data/vendor/local/include/libintl.h +464 -0
  289. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  290. data/vendor/local/lib/gio-2.0.def +1143 -0
  291. data/vendor/local/lib/gio-2.0.lib +0 -0
  292. data/vendor/local/lib/glib-2.0.def +1452 -0
  293. data/vendor/local/lib/glib-2.0.lib +0 -0
  294. data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
  295. data/vendor/local/lib/gmodule-2.0.def +11 -0
  296. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  297. data/vendor/local/lib/gobject-2.0.def +370 -0
  298. data/vendor/local/lib/gobject-2.0.lib +0 -0
  299. data/vendor/local/lib/gthread-2.0.def +3 -0
  300. data/vendor/local/lib/gthread-2.0.lib +0 -0
  301. data/vendor/local/lib/intl.lib +0 -0
  302. data/vendor/local/lib/libasprintf.dll.a +0 -0
  303. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  304. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  305. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  306. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  307. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  308. data/vendor/local/lib/libintl.def +31 -0
  309. data/vendor/local/lib/libintl.dll.a +0 -0
  310. data/vendor/local/lib/pkgconfig/gio-2.0.pc +15 -0
  311. data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +11 -0
  312. data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
  313. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
  314. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
  315. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
  316. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
  317. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
  318. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
  319. data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
  320. data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +570 -0
  321. data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
  322. data/vendor/local/manifest/glib_2.26.0-2_win32.mft +102 -0
  323. data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
  324. data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
  325. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
  326. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
  327. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
  328. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
  329. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
  330. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
  331. data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
  332. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
  333. data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
  334. data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
  335. data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
  336. data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
  337. data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
  338. data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
  339. data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
  340. data/vendor/local/share/doc/glib-2.26.0/COPYING +482 -0
  341. data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
  342. data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +482 -0
  343. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
  344. data/vendor/local/share/glib-2.0/gdb/glib.py +249 -0
  345. data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
  346. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
  347. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +279 -0
  348. data/vendor/local/share/glib-2.0/schemas/gschema.dtd +60 -0
  349. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1403 -0
  350. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +733 -0
  351. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
  352. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +563 -0
  353. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +291 -0
  354. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
  355. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
  356. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +423 -0
  357. data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +398 -0
  358. data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +254 -0
  359. data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +6211 -0
  360. data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1833 -0
  361. data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +618 -0
  362. data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +2050 -0
  363. data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +1124 -0
  364. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +1215 -0
  365. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +540 -0
  366. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
  367. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
  368. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
  369. data/vendor/local/share/gtk-doc/html/gio/GFile.html +7462 -0
  370. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +120 -0
  371. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +516 -0
  372. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
  373. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
  374. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3144 -0
  375. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
  376. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
  377. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
  378. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
  379. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +188 -0
  380. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +189 -0
  381. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
  382. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
  383. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
  384. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
  385. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +196 -0
  386. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
  387. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
  388. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
  389. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
  390. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +393 -0
  391. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
  392. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
  393. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +343 -0
  394. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +311 -0
  395. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1012 -0
  396. data/vendor/local/share/gtk-doc/html/gio/GPermission.html +560 -0
  397. data/vendor/local/share/gtk-doc/html/gio/GProxy.html +312 -0
  398. data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +348 -0
  399. data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +301 -0
  400. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
  401. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
  402. data/vendor/local/share/gtk-doc/html/gio/GSettings.html +2424 -0
  403. data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +609 -0
  404. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1193 -0
  405. data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +107 -0
  406. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2438 -0
  407. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
  408. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +1292 -0
  409. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +513 -0
  410. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +337 -0
  411. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +275 -0
  412. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +745 -0
  413. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
  414. data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +165 -0
  415. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
  416. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
  417. data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +298 -0
  418. data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +222 -0
  419. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +389 -0
  420. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +288 -0
  421. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
  422. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
  423. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +491 -0
  424. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
  425. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
  426. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +705 -0
  427. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +252 -0
  428. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +170 -0
  429. data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +65 -0
  430. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
  431. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
  432. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1084 -0
  433. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +223 -0
  434. data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +1598 -0
  435. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +112 -0
  436. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +6250 -0
  437. data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
  438. data/vendor/local/share/gtk-doc/html/gio/ch01.html +207 -0
  439. data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -0
  440. data/vendor/local/share/gtk-doc/html/gio/ch03.html +180 -0
  441. data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
  442. data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
  443. data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
  444. data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
  445. data/vendor/local/share/gtk-doc/html/gio/ch24.html +75 -0
  446. data/vendor/local/share/gtk-doc/html/gio/ch25.html +217 -0
  447. data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +41 -0
  448. data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +39 -0
  449. data/vendor/local/share/gtk-doc/html/gio/ch26.html +57 -0
  450. data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +59 -0
  451. data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +159 -0
  452. data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +46 -0
  453. data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +48 -0
  454. data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +277 -0
  455. data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +95 -0
  456. data/vendor/local/share/gtk-doc/html/gio/ch27.html +70 -0
  457. data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +130 -0
  458. data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +202 -0
  459. data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +96 -0
  460. data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +823 -0
  461. data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +828 -0
  462. data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
  463. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +109 -0
  464. data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
  465. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
  466. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
  467. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
  468. data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +41 -0
  469. data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +59 -0
  470. data/vendor/local/share/gtk-doc/html/gio/gdbus.html +243 -0
  471. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +316 -0
  472. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1117 -0
  473. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +216 -0
  474. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
  475. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +473 -0
  476. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +391 -0
  477. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +159 -0
  478. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +159 -0
  479. data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +908 -0
  480. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +933 -0
  481. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +409 -0
  482. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
  483. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
  484. data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +736 -0
  485. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +909 -0
  486. data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +666 -0
  487. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +123 -0
  488. data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +53 -0
  489. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1736 -0
  490. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +2006 -0
  491. data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +102 -0
  492. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  493. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +53 -0
  494. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  495. data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
  496. data/vendor/local/share/gtk-doc/html/gio/index.html +435 -0
  497. data/vendor/local/share/gtk-doc/html/gio/index.sgml +2513 -0
  498. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  499. data/vendor/local/share/gtk-doc/html/gio/migrating.html +62 -0
  500. data/vendor/local/share/gtk-doc/html/gio/networking.html +69 -0
  501. data/vendor/local/share/gtk-doc/html/gio/permissions.html +39 -0
  502. data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
  503. data/vendor/local/share/gtk-doc/html/gio/pt02.html +390 -0
  504. data/vendor/local/share/gtk-doc/html/gio/resolver.html +50 -0
  505. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  506. data/vendor/local/share/gtk-doc/html/gio/settings.html +38 -0
  507. data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
  508. data/vendor/local/share/gtk-doc/html/gio/style.css +265 -0
  509. data/vendor/local/share/gtk-doc/html/gio/tools.html +44 -0
  510. data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
  511. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  512. data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
  513. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
  514. data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +77 -0
  515. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
  516. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
  517. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +559 -0
  518. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
  519. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
  520. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
  521. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
  522. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
  523. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +420 -0
  524. data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +359 -0
  525. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +396 -0
  526. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +417 -0
  527. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
  528. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +419 -0
  529. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +8214 -0
  530. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  531. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
  532. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
  533. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +414 -0
  534. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +466 -0
  535. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
  536. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
  537. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
  538. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2056 -0
  539. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
  540. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
  541. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
  542. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1094 -0
  543. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1671 -0
  544. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
  545. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
  546. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2045 -0
  547. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
  548. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
  549. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
  550. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1026 -0
  551. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1852 -0
  552. data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2201 -0
  553. data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +239 -0
  554. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +4278 -0
  555. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1864 -0
  556. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
  557. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
  558. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
  559. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
  560. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +692 -0
  561. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
  562. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2740 -0
  563. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
  564. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
  565. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
  566. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1033 -0
  567. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
  568. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
  569. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
  570. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +748 -0
  571. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1105 -0
  572. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1552 -0
  573. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1468 -0
  574. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +194 -0
  575. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2745 -0
  576. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
  577. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
  578. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
  579. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +532 -0
  580. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
  581. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
  582. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1282 -0
  583. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1213 -0
  584. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
  585. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +470 -0
  586. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
  587. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2960 -0
  588. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1291 -0
  589. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1805 -0
  590. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3478 -0
  591. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
  592. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
  593. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
  594. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
  595. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
  596. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +400 -0
  597. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3448 -0
  598. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +253 -0
  599. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
  600. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
  601. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +466 -0
  602. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
  603. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
  604. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
  605. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
  606. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
  607. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
  608. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
  609. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2217 -0
  610. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
  611. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +319 -0
  612. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +118 -0
  613. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2183 -0
  614. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2671 -0
  615. data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
  616. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
  617. data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
  618. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1288 -0
  619. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  620. data/vendor/local/share/gtk-doc/html/glib/index.html +344 -0
  621. data/vendor/local/share/gtk-doc/html/glib/index.sgml +2846 -0
  622. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  623. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  624. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  625. data/vendor/local/share/gtk-doc/html/glib/style.css +265 -0
  626. data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
  627. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  628. data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +803 -0
  629. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
  630. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
  631. data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +47 -0
  632. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
  633. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
  634. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
  635. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
  636. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
  637. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
  638. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +73 -0
  639. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +201 -0
  640. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
  641. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
  642. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
  643. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
  644. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2721 -0
  645. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
  646. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
  647. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
  648. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
  649. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
  650. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
  651. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +361 -0
  652. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +307 -0
  653. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  654. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +417 -0
  655. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2412 -0
  656. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
  657. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1433 -0
  658. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
  659. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
  660. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5555 -0
  661. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2875 -0
  662. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4460 -0
  663. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +416 -0
  664. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +260 -0
  665. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
  666. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
  667. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
  668. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +762 -0
  669. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +801 -0
  670. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
  671. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
  672. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
  673. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
  674. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  675. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
  676. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
  677. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
  678. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
  679. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
  680. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
  681. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
  682. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
  683. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
  684. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
  685. data/vendor/local/share/gtk-doc/html/gobject/index.html +192 -0
  686. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +786 -0
  687. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  688. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
  689. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
  690. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
  691. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
  692. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  693. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +85 -0
  694. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
  695. data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
  696. data/vendor/local/share/gtk-doc/html/gobject/style.css +265 -0
  697. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
  698. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
  699. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
  700. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
  701. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
  702. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  703. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  704. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  705. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  706. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  707. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  708. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  709. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  710. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  711. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  712. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  713. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  714. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  715. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  716. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  717. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  718. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  719. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  720. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  721. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  722. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  723. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  724. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  725. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  726. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  727. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  729. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  731. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  732. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  733. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  735. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  736. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  737. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  738. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  740. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  741. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  742. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  743. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  744. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  746. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  747. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  748. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  749. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  750. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  751. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  752. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  753. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  754. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  755. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  756. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  757. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  758. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  759. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  760. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  761. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  762. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  763. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  764. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  765. data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
  766. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  767. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  768. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  769. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  770. data/vendor/local/share/locale/locale.alias +77 -0
  771. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  772. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  773. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  774. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  775. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  776. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  777. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  778. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  779. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  780. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  781. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  782. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  783. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  784. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  785. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  786. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  787. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  788. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  789. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  790. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  791. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  792. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  793. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  794. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  795. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  796. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  797. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  798. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  799. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  800. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  801. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  802. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  803. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  804. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  805. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  806. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  807. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  808. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  809. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  810. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  811. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  812. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  813. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  814. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  815. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  816. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  817. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  818. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  819. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  820. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  821. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  822. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  823. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  824. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  825. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  826. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  827. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  828. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  829. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  830. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  831. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  832. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  833. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  834. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  835. data/vendor/local/share/man/man1/envsubst.1 +54 -0
  836. data/vendor/local/share/man/man1/gettext.1 +69 -0
  837. data/vendor/local/share/man/man1/glib-genmarshal.1 +312 -0
  838. data/vendor/local/share/man/man1/glib-mkenums.1 +246 -0
  839. data/vendor/local/share/man/man1/gobject-query.1 +83 -0
  840. data/vendor/local/share/man/man1/ngettext.1 +68 -0
  841. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
  842. data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
  843. data/vendor/local/share/man/man3/dcgettext.3 +1 -0
  844. data/vendor/local/share/man/man3/dcngettext.3 +1 -0
  845. data/vendor/local/share/man/man3/dgettext.3 +1 -0
  846. data/vendor/local/share/man/man3/dngettext.3 +1 -0
  847. data/vendor/local/share/man/man3/gettext.3 +99 -0
  848. data/vendor/local/share/man/man3/ngettext.3 +60 -0
  849. data/vendor/local/share/man/man3/textdomain.3 +57 -0
  850. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
  851. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
  852. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
  853. data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
  854. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +2867 -0
  855. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +64 -0
  856. metadata +952 -0
@@ -0,0 +1,3478 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>The Main Event Loop</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-core.html" title="GLib Core Application Support">
9
+ <link rel="prev" href="glib-core.html" title="GLib Core Application Support">
10
+ <link rel="next" href="glib-Threads.html" title="Threads">
11
+ <meta name="generator" content="GTK-Doc V1.15.1 (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-core.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
+ <td><a accesskey="u" href="glib-core.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="glib-Threads.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-The-Main-Event-Loop.synopsis" class="shortcut">Top</a>
25
+  | 
26
+ <a href="#glib-The-Main-Event-Loop.description" class="shortcut">Description</a>
27
+ </td></tr>
28
+ </table>
29
+ <div class="refentry">
30
+ <a name="glib-The-Main-Event-Loop"></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-The-Main-Event-Loop.top_of_page"></a>The Main Event Loop</span></h2>
34
+ <p>The Main Event Loop — manages all available sources of events</p>
35
+ </td>
36
+ <td valign="top" align="right"></td>
37
+ </tr></table></div>
38
+ <div class="refsynopsisdiv">
39
+ <a name="glib-The-Main-Event-Loop.synopsis"></a><h2>Synopsis</h2>
40
+ <pre class="synopsis">
41
+ #include &lt;glib.h&gt;
42
+
43
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop">GMainLoop</a>;
44
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="returnvalue">GMainLoop</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-new" title="g_main_loop_new ()">g_main_loop_new</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
45
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> is_running</code></em>);
46
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="returnvalue">GMainLoop</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-ref" title="g_main_loop_ref ()">g_main_loop_ref</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);
47
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-unref" title="g_main_loop_unref ()">g_main_loop_unref</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);
48
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()">g_main_loop_run</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);
49
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-quit" title="g_main_loop_quit ()">g_main_loop_quit</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);
50
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-is-running" title="g_main_loop_is_running ()">g_main_loop_is_running</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);
51
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-get-context" title="g_main_loop_get_context ()">g_main_loop_get_context</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);
52
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-new" title="g_main_new()">g_main_new</a> (is_running)
53
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-destroy" title="g_main_destroy()">g_main_destroy</a> (loop)
54
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-run" title="g_main_run()">g_main_run</a> (loop)
55
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-quit" title="g_main_quit()">g_main_quit</a> (loop)
56
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-is-running" title="g_main_is_running()">g_main_is_running</a> (loop)
57
+
58
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH:CAPS" title="G_PRIORITY_HIGH">G_PRIORITY_HIGH</a>
59
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT">G_PRIORITY_DEFAULT</a>
60
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS" title="G_PRIORITY_HIGH_IDLE">G_PRIORITY_HIGH_IDLE</a>
61
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS" title="G_PRIORITY_DEFAULT_IDLE">G_PRIORITY_DEFAULT_IDLE</a>
62
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-LOW:CAPS" title="G_PRIORITY_LOW">G_PRIORITY_LOW</a>
63
+
64
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext">GMainContext</a>;
65
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-new" title="g_main_context_new ()">g_main_context_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
66
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-ref" title="g_main_context_ref ()">g_main_context_ref</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
67
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-unref" title="g_main_context_unref ()">g_main_context_unref</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
68
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-default" title="g_main_context_default ()">g_main_context_default</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
69
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-iteration" title="g_main_context_iteration ()">g_main_context_iteration</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
70
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> may_block</code></em>);
71
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-iteration" title="g_main_iteration()">g_main_iteration</a> (may_block)
72
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-pending" title="g_main_context_pending ()">g_main_context_pending</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
73
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-pending" title="g_main_pending">g_main_pending</a>
74
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-id" title="g_main_context_find_source_by_id ()">g_main_context_find_source_by_id</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
75
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> source_id</code></em>);
76
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-user-data" title="g_main_context_find_source_by_user_data ()">g_main_context_find_source_by_user_data</a>
77
+ (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
78
+ <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>);
79
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-funcs-user-data" title="g_main_context_find_source_by_funcs_user_data ()">g_main_context_find_source_by_funcs_user_data</a>
80
+ (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
81
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *funcs</code></em>,
82
+ <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>);
83
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-wakeup" title="g_main_context_wakeup ()">g_main_context_wakeup</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
84
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-acquire" title="g_main_context_acquire ()">g_main_context_acquire</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
85
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-release" title="g_main_context_release ()">g_main_context_release</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
86
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-is-owner" title="g_main_context_is_owner ()">g_main_context_is_owner</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
87
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-wait" title="g_main_context_wait ()">g_main_context_wait</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
88
+ <em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>,
89
+ <em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);
90
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-prepare" title="g_main_context_prepare ()">g_main_context_prepare</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
91
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *priority</code></em>);
92
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-query" title="g_main_context_query ()">g_main_context_query</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
93
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_priority</code></em>,
94
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *timeout_</code></em>,
95
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fds</code></em>,
96
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> n_fds</code></em>);
97
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-check" title="g_main_context_check ()">g_main_context_check</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
98
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_priority</code></em>,
99
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fds</code></em>,
100
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> n_fds</code></em>);
101
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-dispatch" title="g_main_context_dispatch ()">g_main_context_dispatch</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
102
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-set-poll-func" title="g_main_context_set_poll_func ()">g_main_context_set_poll_func</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
103
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFunc" title="GPollFunc ()"><span class="type">GPollFunc</span></a> func</code></em>);
104
+ <a class="link" href="glib-The-Main-Event-Loop.html#GPollFunc" title="GPollFunc ()"><span class="returnvalue">GPollFunc</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-get-poll-func" title="g_main_context_get_poll_func ()">g_main_context_get_poll_func</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
105
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> (<a class="link" href="glib-The-Main-Event-Loop.html#GPollFunc" title="GPollFunc ()">*GPollFunc</a>) (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *ufds</code></em>,
106
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> nfsd</code></em>,
107
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> timeout_</code></em>);
108
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-add-poll" title="g_main_context_add_poll ()">g_main_context_add_poll</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
109
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>,
110
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>);
111
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-remove-poll" title="g_main_context_remove_poll ()">g_main_context_remove_poll</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
112
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>);
113
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-depth" title="g_main_depth ()">g_main_depth</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
114
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-current-source" title="g_main_current_source ()">g_main_current_source</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
115
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#g-main-set-poll-func" title="g_main_set_poll_func()">g_main_set_poll_func</a> (func)
116
+
117
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-get-thread-default" title="g_main_context_get_thread_default ()">g_main_context_get_thread_default</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
118
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-push-thread-default" title="g_main_context_push_thread_default ()">g_main_context_push_thread_default</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
119
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-pop-thread-default" title="g_main_context_pop_thread_default ()">g_main_context_pop_thread_default</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
120
+
121
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-source-new" title="g_timeout_source_new ()">g_timeout_source_new</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>);
122
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-source-new-seconds" title="g_timeout_source_new_seconds ()">g_timeout_source_new_seconds</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>);
123
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()">g_timeout_add</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
124
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
125
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
126
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-full" title="g_timeout_add_full ()">g_timeout_add_full</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
127
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
128
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
129
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
130
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);
131
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-seconds" title="g_timeout_add_seconds ()">g_timeout_add_seconds</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
132
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</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-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-seconds-full" title="g_timeout_add_seconds_full ()">g_timeout_add_seconds_full</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
135
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
136
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
137
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</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
+
140
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-source-new" title="g_idle_source_new ()">g_idle_source_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
141
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add" title="g_idle_add ()">g_idle_add</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
142
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
143
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add-full" title="g_idle_add_full ()">g_idle_add_full</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
144
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
145
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
146
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);
147
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-remove-by-data" title="g_idle_remove_by_data ()">g_idle_remove_by_data</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
148
+
149
+ typedef <a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid">GPid</a>;
150
+ <span class="returnvalue">void</span> (<a class="link" href="glib-The-Main-Event-Loop.html#GChildWatchFunc" title="GChildWatchFunc ()">*GChildWatchFunc</a>) (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>,
151
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> status</code></em>,
152
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
153
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-source-new" title="g_child_watch_source_new ()">g_child_watch_source_new</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>);
154
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-add" title="g_child_watch_add ()">g_child_watch_add</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>,
155
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GChildWatchFunc" title="GChildWatchFunc ()"><span class="type">GChildWatchFunc</span></a> function</code></em>,
156
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
157
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-add-full" title="g_child_watch_add_full ()">g_child_watch_add_full</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
158
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>,
159
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GChildWatchFunc" title="GChildWatchFunc ()"><span class="type">GChildWatchFunc</span></a> function</code></em>,
160
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
161
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);
162
+
163
+ <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD">GPollFD</a>;
164
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-poll" title="g_poll ()">g_poll</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fds</code></em>,
165
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> nfds</code></em>,
166
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> timeout</code></em>);
167
+ #define <a class="link" href="glib-The-Main-Event-Loop.html#G-POLLFD-FORMAT:CAPS" title="G_POLLFD_FORMAT">G_POLLFD_FORMAT</a>
168
+
169
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource">GSource</a>;
170
+ <span class="returnvalue">void</span> (<a class="link" href="glib-The-Main-Event-Loop.html#GSourceDummyMarshal" title="GSourceDummyMarshal ()">*GSourceDummyMarshal</a>) (<em class="parameter"><code><span class="type">void</span></code></em>);
171
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs">GSourceFuncs</a>;
172
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSourceCallbackFuncs" title="GSourceCallbackFuncs">GSourceCallbackFuncs</a>;
173
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-source-new" title="g_source_new ()">g_source_new</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *source_funcs</code></em>,
174
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> struct_size</code></em>);
175
+ <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-source-ref" title="g_source_ref ()">g_source_ref</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
176
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-unref" title="g_source_unref ()">g_source_unref</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
177
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-funcs" title="g_source_set_funcs ()">g_source_set_funcs</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
178
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *funcs</code></em>);
179
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()">g_source_attach</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
180
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
181
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-destroy" title="g_source_destroy ()">g_source_destroy</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
182
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-is-destroyed" title="g_source_is_destroyed ()">g_source_is_destroyed</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
183
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-priority" title="g_source_set_priority ()">g_source_set_priority</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
184
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>);
185
+ <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-priority" title="g_source_get_priority ()">g_source_get_priority</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
186
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-can-recurse" title="g_source_set_can_recurse ()">g_source_set_can_recurse</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
187
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> can_recurse</code></em>);
188
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-can-recurse" title="g_source_get_can_recurse ()">g_source_get_can_recurse</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
189
+ <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-id" title="g_source_get_id ()">g_source_get_id</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
190
+ const <span class="returnvalue">char</span> * <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-name" title="g_source_get_name ()">g_source_get_name</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
191
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-name" title="g_source_set_name ()">g_source_set_name</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
192
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
193
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-name-by-id" title="g_source_set_name_by_id ()">g_source_set_name_by_id</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> tag</code></em>,
194
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
195
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-context" title="g_source_get_context ()">g_source_get_context</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);
196
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-callback" title="g_source_set_callback ()">g_source_set_callback</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
197
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> func</code></em>,
198
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
199
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);
200
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()">*GSourceFunc</a>) (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>);
201
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-callback-indirect" title="g_source_set_callback_indirect ()">g_source_set_callback_indirect</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
202
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> callback_data</code></em>,
203
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceCallbackFuncs" title="GSourceCallbackFuncs"><span class="type">GSourceCallbackFuncs</span></a> *callback_funcs</code></em>);
204
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-add-poll" title="g_source_add_poll ()">g_source_add_poll</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
205
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>);
206
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-remove-poll" title="g_source_remove_poll ()">g_source_remove_poll</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
207
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>);
208
+ <span class="returnvalue">void</span> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-current-time" title="g_source_get_current_time ()">g_source_get_current_time</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
209
+ <em class="parameter"><code><a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="GTimeVal"><span class="type">GTimeVal</span></a> *timeval</code></em>);
210
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-remove" title="g_source_remove ()">g_source_remove</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> tag</code></em>);
211
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-remove-by-funcs-user-data" title="g_source_remove_by_funcs_user_data ()">g_source_remove_by_funcs_user_data</a> (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *funcs</code></em>,
212
+ <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>);
213
+ <a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-The-Main-Event-Loop.html#g-source-remove-by-user-data" title="g_source_remove_by_user_data ()">g_source_remove_by_user_data</a> (<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>);
214
+ </pre>
215
+ </div>
216
+ <div class="refsect1">
217
+ <a name="glib-The-Main-Event-Loop.description"></a><h2>Description</h2>
218
+ <p>
219
+ The main event loop manages all the available sources of events for
220
+ GLib and GTK+ applications. These events can come from any number of
221
+ different types of sources such as file descriptors (plain files,
222
+ pipes or sockets) and timeouts. New types of event sources can also
223
+ be added using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>.
224
+ </p>
225
+ <p>
226
+ To allow multiple independent sets of sources to be handled in
227
+ different threads, each source is associated with a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>.
228
+ A GMainContext can only be running in a single thread, but
229
+ sources can be added to it and removed from it from other threads.
230
+ </p>
231
+ <p>
232
+ Each event source is assigned a priority. The default priority,
233
+ <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><span class="type">G_PRIORITY_DEFAULT</span></a>, is 0. Values less than 0 denote higher priorities.
234
+ Values greater than 0 denote lower priorities. Events from high priority
235
+ sources are always processed before events from lower priority sources.
236
+ </p>
237
+ <p>
238
+ Idle functions can also be added, and assigned a priority. These will
239
+ be run whenever no events with a higher priority are ready to be processed.
240
+ </p>
241
+ <p>
242
+ The <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> data type represents a main event loop. A GMainLoop is
243
+ created with <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-new" title="g_main_loop_new ()"><code class="function">g_main_loop_new()</code></a>. After adding the initial event sources,
244
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a> is called. This continuously checks for new events from
245
+ each of the event sources and dispatches them. Finally, the processing of
246
+ an event from one of the sources leads to a call to <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-quit" title="g_main_loop_quit ()"><code class="function">g_main_loop_quit()</code></a> to
247
+ exit the main loop, and <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a> returns.
248
+ </p>
249
+ <p>
250
+ It is possible to create new instances of <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> recursively.
251
+ This is often used in GTK+ applications when showing modal dialog
252
+ boxes. Note that event sources are associated with a particular
253
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>, and will be checked and dispatched for all main
254
+ loops associated with that GMainContext.
255
+ </p>
256
+ <p>
257
+ GTK+ contains wrappers of some of these functions, e.g. <a href="http://library.gnome.org/devel/gtk/unstable/gtk3-General.html#gtk-main"><code class="function">gtk_main()</code></a>,
258
+ <a href="http://library.gnome.org/devel/gtk/unstable/gtk3-General.html#gtk-main-quit"><code class="function">gtk_main_quit()</code></a> and <a href="http://library.gnome.org/devel/gtk/unstable/gtk3-General.html#gtk-events-pending"><code class="function">gtk_events_pending()</code></a>.
259
+ </p>
260
+ <p>
261
+ </p>
262
+ <div class="refsect2">
263
+ <a name="id593794"></a><h3>Creating new source types</h3>
264
+ <p>One of the unusual features of the <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> functionality
265
+ is that new types of event source can be created and used in
266
+ addition to the builtin type of event source. A new event source
267
+ type is used for handling GDK events. A new source type is created
268
+ by <em class="firstterm">deriving</em> from the <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> structure.
269
+ The derived type of source is represented by a structure that has
270
+ the <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> structure as a first element, and other elements specific
271
+ to the new source type. To create an instance of the new source type,
272
+ call <a class="link" href="glib-The-Main-Event-Loop.html#g-source-new" title="g_source_new ()"><code class="function">g_source_new()</code></a> passing in the size of the derived structure and
273
+ a table of functions. These <a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> determine the behavior of
274
+ the new source type.</p>
275
+ <p>New source types basically interact with the main context
276
+ in two ways. Their prepare function in <a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> can set a timeout
277
+ to determine the maximum amount of time that the main loop will sleep
278
+ before checking the source again. In addition, or as well, the source
279
+ can add file descriptors to the set that the main context checks using
280
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-source-add-poll" title="g_source_add_poll ()"><code class="function">g_source_add_poll()</code></a>.</p>
281
+ </div>
282
+ <p>
283
+ </p>
284
+ <hr>
285
+ <div class="refsect2">
286
+ <a name="id593871"></a><h3>Customizing the main loop iteration</h3>
287
+ <p>Single iterations of a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> can be run with
288
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-iteration" title="g_main_context_iteration ()"><code class="function">g_main_context_iteration()</code></a>. In some cases, more detailed control
289
+ of exactly how the details of the main loop work is desired, for
290
+ instance, when integrating the <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> with an external main loop.
291
+ In such cases, you can call the component functions of
292
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-iteration" title="g_main_context_iteration ()"><code class="function">g_main_context_iteration()</code></a> directly. These functions are
293
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-prepare" title="g_main_context_prepare ()"><code class="function">g_main_context_prepare()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-query" title="g_main_context_query ()"><code class="function">g_main_context_query()</code></a>,
294
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-check" title="g_main_context_check ()"><code class="function">g_main_context_check()</code></a> and <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-dispatch" title="g_main_context_dispatch ()"><code class="function">g_main_context_dispatch()</code></a>.</p>
295
+ <p>The operation of these functions can best be seen in terms
296
+ of a state diagram, as shown in <a class="xref" href="glib-The-Main-Event-Loop.html#mainloop-states" title="Figure 1. States of a Main Context">Figure 1, “States of a Main Context”</a>.</p>
297
+ <div class="figure">
298
+ <a name="mainloop-states"></a><p class="title"><b>Figure 1. States of a Main Context</b></p>
299
+ <div class="figure-contents"><div><img src="mainloop-states.gif" alt="States of a Main Context"></div></div>
300
+ </div>
301
+ <br class="figure-break">
302
+ </div>
303
+ <p>
304
+ </p>
305
+ </div>
306
+ <div class="refsect1">
307
+ <a name="glib-The-Main-Event-Loop.details"></a><h2>Details</h2>
308
+ <div class="refsect2">
309
+ <a name="GMainLoop"></a><h3>GMainLoop</h3>
310
+ <pre class="programlisting">typedef struct _GMainLoop GMainLoop;</pre>
311
+ <p>
312
+ The <span class="structname">GMainLoop</span> struct is an opaque data type
313
+ representing the main event loop of a GLib or GTK+ application.
314
+ </p>
315
+ </div>
316
+ <hr>
317
+ <div class="refsect2">
318
+ <a name="g-main-loop-new"></a><h3>g_main_loop_new ()</h3>
319
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="returnvalue">GMainLoop</span></a> * g_main_loop_new (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
320
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> is_running</code></em>);</pre>
321
+ <p>
322
+ Creates a new <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> structure.
323
+ </p>
324
+ <div class="variablelist"><table border="0">
325
+ <col align="left" valign="top">
326
+ <tbody>
327
+ <tr>
328
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
329
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the default context will be used).
330
+ </td>
331
+ </tr>
332
+ <tr>
333
+ <td><p><span class="term"><em class="parameter"><code>is_running</code></em> :</span></p></td>
334
+ <td>set to <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> to indicate that the loop is running. This
335
+ is not very important since calling <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a> will set this to
336
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> anyway.
337
+ </td>
338
+ </tr>
339
+ <tr>
340
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
341
+ <td> a new <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>.
342
+ </td>
343
+ </tr>
344
+ </tbody>
345
+ </table></div>
346
+ </div>
347
+ <hr>
348
+ <div class="refsect2">
349
+ <a name="g-main-loop-ref"></a><h3>g_main_loop_ref ()</h3>
350
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="returnvalue">GMainLoop</span></a> * g_main_loop_ref (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);</pre>
351
+ <p>
352
+ Increases the reference count on a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> object by one.
353
+ </p>
354
+ <div class="variablelist"><table border="0">
355
+ <col align="left" valign="top">
356
+ <tbody>
357
+ <tr>
358
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
359
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
360
+ </td>
361
+ </tr>
362
+ <tr>
363
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
364
+ <td> <em class="parameter"><code>loop</code></em>
365
+ </td>
366
+ </tr>
367
+ </tbody>
368
+ </table></div>
369
+ </div>
370
+ <hr>
371
+ <div class="refsect2">
372
+ <a name="g-main-loop-unref"></a><h3>g_main_loop_unref ()</h3>
373
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_loop_unref (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);</pre>
374
+ <p>
375
+ Decreases the reference count on a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> object by one. If
376
+ the result is zero, free the loop and free all associated memory.
377
+ </p>
378
+ <div class="variablelist"><table border="0">
379
+ <col align="left" valign="top">
380
+ <tbody><tr>
381
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
382
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
383
+ </td>
384
+ </tr></tbody>
385
+ </table></div>
386
+ </div>
387
+ <hr>
388
+ <div class="refsect2">
389
+ <a name="g-main-loop-run"></a><h3>g_main_loop_run ()</h3>
390
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_loop_run (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);</pre>
391
+ <p>
392
+ Runs a main loop until <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-quit" title="g_main_loop_quit ()"><code class="function">g_main_loop_quit()</code></a> is called on the loop.
393
+ If this is called for the thread of the loop's <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>,
394
+ it will process events from the loop, otherwise it will
395
+ simply wait.
396
+ </p>
397
+ <div class="variablelist"><table border="0">
398
+ <col align="left" valign="top">
399
+ <tbody><tr>
400
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
401
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
402
+ </td>
403
+ </tr></tbody>
404
+ </table></div>
405
+ </div>
406
+ <hr>
407
+ <div class="refsect2">
408
+ <a name="g-main-loop-quit"></a><h3>g_main_loop_quit ()</h3>
409
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_loop_quit (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);</pre>
410
+ <p>
411
+ Stops a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> from running. Any calls to <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a>
412
+ for the loop will return.
413
+ </p>
414
+ <p>
415
+ Note that sources that have already been dispatched when
416
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-quit" title="g_main_loop_quit ()"><code class="function">g_main_loop_quit()</code></a> is called will still be executed.
417
+ </p>
418
+ <div class="variablelist"><table border="0">
419
+ <col align="left" valign="top">
420
+ <tbody><tr>
421
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
422
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
423
+ </td>
424
+ </tr></tbody>
425
+ </table></div>
426
+ </div>
427
+ <hr>
428
+ <div class="refsect2">
429
+ <a name="g-main-loop-is-running"></a><h3>g_main_loop_is_running ()</h3>
430
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_loop_is_running (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);</pre>
431
+ <p>
432
+ Checks to see if the main loop is currently being run via <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a>.
433
+ </p>
434
+ <div class="variablelist"><table border="0">
435
+ <col align="left" valign="top">
436
+ <tbody>
437
+ <tr>
438
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
439
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>.
440
+ </td>
441
+ </tr>
442
+ <tr>
443
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
444
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the mainloop is currently being run.
445
+ </td>
446
+ </tr>
447
+ </tbody>
448
+ </table></div>
449
+ </div>
450
+ <hr>
451
+ <div class="refsect2">
452
+ <a name="g-main-loop-get-context"></a><h3>g_main_loop_get_context ()</h3>
453
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * g_main_loop_get_context (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> *loop</code></em>);</pre>
454
+ <p>
455
+ Returns the <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> of <em class="parameter"><code>loop</code></em>.
456
+ </p>
457
+ <div class="variablelist"><table border="0">
458
+ <col align="left" valign="top">
459
+ <tbody>
460
+ <tr>
461
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
462
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>.
463
+ </td>
464
+ </tr>
465
+ <tr>
466
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
467
+ <td> the <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> of <em class="parameter"><code>loop</code></em>
468
+ </td>
469
+ </tr>
470
+ </tbody>
471
+ </table></div>
472
+ </div>
473
+ <hr>
474
+ <div class="refsect2">
475
+ <a name="g-main-new"></a><h3>g_main_new()</h3>
476
+ <pre class="programlisting">#define g_main_new(is_running)</pre>
477
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
478
+ <h3 class="title">Warning</h3>
479
+ <p><code class="literal">g_main_new</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-new" title="g_main_loop_new ()"><code class="function">g_main_loop_new()</code></a> instead</p>
480
+ </div>
481
+ <p>
482
+ Creates a new <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> for th default main context.
483
+ </p>
484
+ <div class="variablelist"><table border="0">
485
+ <col align="left" valign="top">
486
+ <tbody>
487
+ <tr>
488
+ <td><p><span class="term"><em class="parameter"><code>is_running</code></em> :</span></p></td>
489
+ <td>set to <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> to indicate that the loop is running. This
490
+ is not very important since calling <a class="link" href="glib-The-Main-Event-Loop.html#g-main-run" title="g_main_run()"><code class="function">g_main_run()</code></a> will set this
491
+ to <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> anyway.
492
+ </td>
493
+ </tr>
494
+ <tr>
495
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
496
+ <td> a new <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
497
+
498
+ </td>
499
+ </tr>
500
+ </tbody>
501
+ </table></div>
502
+ </div>
503
+ <hr>
504
+ <div class="refsect2">
505
+ <a name="g-main-destroy"></a><h3>g_main_destroy()</h3>
506
+ <pre class="programlisting">#define g_main_destroy(loop)</pre>
507
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
508
+ <h3 class="title">Warning</h3>
509
+ <p><code class="literal">g_main_destroy</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-unref" title="g_main_loop_unref ()"><code class="function">g_main_loop_unref()</code></a> instead</p>
510
+ </div>
511
+ <p>
512
+ Frees the memory allocated for the <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>.
513
+ </p>
514
+ <div class="variablelist"><table border="0">
515
+ <col align="left" valign="top">
516
+ <tbody><tr>
517
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
518
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
519
+ </td>
520
+ </tr></tbody>
521
+ </table></div>
522
+ </div>
523
+ <hr>
524
+ <div class="refsect2">
525
+ <a name="g-main-run"></a><h3>g_main_run()</h3>
526
+ <pre class="programlisting">#define g_main_run(loop)</pre>
527
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
528
+ <h3 class="title">Warning</h3>
529
+ <p><code class="literal">g_main_run</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a> instead</p>
530
+ </div>
531
+ <p>
532
+ Runs a main loop until it stops running.
533
+ </p>
534
+ <div class="variablelist"><table border="0">
535
+ <col align="left" valign="top">
536
+ <tbody><tr>
537
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
538
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
539
+ </td>
540
+ </tr></tbody>
541
+ </table></div>
542
+ </div>
543
+ <hr>
544
+ <div class="refsect2">
545
+ <a name="g-main-quit"></a><h3>g_main_quit()</h3>
546
+ <pre class="programlisting">#define g_main_quit(loop)</pre>
547
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
548
+ <h3 class="title">Warning</h3>
549
+ <p><code class="literal">g_main_quit</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-quit" title="g_main_loop_quit ()"><code class="function">g_main_loop_quit()</code></a> instead</p>
550
+ </div>
551
+ <p>
552
+ Stops the <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>.
553
+ If <a class="link" href="glib-The-Main-Event-Loop.html#g-main-run" title="g_main_run()"><code class="function">g_main_run()</code></a> was called to run the <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>, it will now return.
554
+ </p>
555
+ <div class="variablelist"><table border="0">
556
+ <col align="left" valign="top">
557
+ <tbody><tr>
558
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
559
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
560
+ </td>
561
+ </tr></tbody>
562
+ </table></div>
563
+ </div>
564
+ <hr>
565
+ <div class="refsect2">
566
+ <a name="g-main-is-running"></a><h3>g_main_is_running()</h3>
567
+ <pre class="programlisting">#define g_main_is_running(loop)</pre>
568
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
569
+ <h3 class="title">Warning</h3>
570
+ <p><code class="literal">g_main_is_running</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-is-running" title="g_main_loop_is_running ()"><code class="function">g_main_loop_is_running()</code></a> instead</p>
571
+ </div>
572
+ <p>
573
+ Checks if the main loop is running.
574
+ </p>
575
+ <div class="variablelist"><table border="0">
576
+ <col align="left" valign="top">
577
+ <tbody>
578
+ <tr>
579
+ <td><p><span class="term"><em class="parameter"><code>loop</code></em> :</span></p></td>
580
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a>
581
+ </td>
582
+ </tr>
583
+ <tr>
584
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
585
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the main loop is running
586
+
587
+ </td>
588
+ </tr>
589
+ </tbody>
590
+ </table></div>
591
+ </div>
592
+ <hr>
593
+ <div class="refsect2">
594
+ <a name="G-PRIORITY-HIGH:CAPS"></a><h3>G_PRIORITY_HIGH</h3>
595
+ <pre class="programlisting">#define G_PRIORITY_HIGH -100
596
+ </pre>
597
+ <p>
598
+ Use this for high priority event sources.
599
+ </p>
600
+ <p>
601
+ It is not used within GLib or GTK+.
602
+ </p>
603
+ </div>
604
+ <hr>
605
+ <div class="refsect2">
606
+ <a name="G-PRIORITY-DEFAULT:CAPS"></a><h3>G_PRIORITY_DEFAULT</h3>
607
+ <pre class="programlisting">#define G_PRIORITY_DEFAULT 0
608
+ </pre>
609
+ <p>
610
+ Use this for default priority event sources.
611
+ </p>
612
+ <p>
613
+ In GLib this priority is used when adding timeout functions
614
+ with <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>. In GDK this priority is used for events
615
+ from the X server.
616
+ </p>
617
+ </div>
618
+ <hr>
619
+ <div class="refsect2">
620
+ <a name="G-PRIORITY-HIGH-IDLE:CAPS"></a><h3>G_PRIORITY_HIGH_IDLE</h3>
621
+ <pre class="programlisting">#define G_PRIORITY_HIGH_IDLE 100
622
+ </pre>
623
+ <p>
624
+ Use this for high priority idle functions.
625
+ </p>
626
+ <p>
627
+ GTK+ uses <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS" title="G_PRIORITY_HIGH_IDLE"><span class="type">G_PRIORITY_HIGH_IDLE</span></a> + 10 for resizing operations,
628
+ and <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS" title="G_PRIORITY_HIGH_IDLE"><span class="type">G_PRIORITY_HIGH_IDLE</span></a> + 20 for redrawing operations. (This is
629
+ done to ensure that any pending resizes are processed before any
630
+ pending redraws, so that widgets are not redrawn twice unnecessarily.)
631
+ </p>
632
+ </div>
633
+ <hr>
634
+ <div class="refsect2">
635
+ <a name="G-PRIORITY-DEFAULT-IDLE:CAPS"></a><h3>G_PRIORITY_DEFAULT_IDLE</h3>
636
+ <pre class="programlisting">#define G_PRIORITY_DEFAULT_IDLE 200
637
+ </pre>
638
+ <p>
639
+ Use this for default priority idle functions.
640
+ </p>
641
+ <p>
642
+ In GLib this priority is used when adding idle functions with
643
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add" title="g_idle_add ()"><code class="function">g_idle_add()</code></a>.
644
+ </p>
645
+ </div>
646
+ <hr>
647
+ <div class="refsect2">
648
+ <a name="G-PRIORITY-LOW:CAPS"></a><h3>G_PRIORITY_LOW</h3>
649
+ <pre class="programlisting">#define G_PRIORITY_LOW 300
650
+ </pre>
651
+ <p>
652
+ Use this for very low priority background tasks.
653
+ </p>
654
+ <p>
655
+ It is not used within GLib or GTK+.
656
+ </p>
657
+ </div>
658
+ <hr>
659
+ <div class="refsect2">
660
+ <a name="GMainContext"></a><h3>GMainContext</h3>
661
+ <pre class="programlisting">typedef struct _GMainContext GMainContext;</pre>
662
+ <p>
663
+ The <span class="structname">GMainContext</span> struct is an opaque data
664
+ type representing a set of sources to be handled in a main loop.
665
+ </p>
666
+ </div>
667
+ <hr>
668
+ <div class="refsect2">
669
+ <a name="g-main-context-new"></a><h3>g_main_context_new ()</h3>
670
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * g_main_context_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
671
+ <p>
672
+ Creates a new <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> structure.
673
+ </p>
674
+ <div class="variablelist"><table border="0">
675
+ <col align="left" valign="top">
676
+ <tbody><tr>
677
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
678
+ <td> the new <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
679
+ </td>
680
+ </tr></tbody>
681
+ </table></div>
682
+ </div>
683
+ <hr>
684
+ <div class="refsect2">
685
+ <a name="g-main-context-ref"></a><h3>g_main_context_ref ()</h3>
686
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * g_main_context_ref (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
687
+ <p>
688
+ Increases the reference count on a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> object by one.
689
+ </p>
690
+ <div class="variablelist"><table border="0">
691
+ <col align="left" valign="top">
692
+ <tbody>
693
+ <tr>
694
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
695
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
696
+ </td>
697
+ </tr>
698
+ <tr>
699
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
700
+ <td> the <em class="parameter"><code>context</code></em> that was passed in (since 2.6)
701
+ </td>
702
+ </tr>
703
+ </tbody>
704
+ </table></div>
705
+ </div>
706
+ <hr>
707
+ <div class="refsect2">
708
+ <a name="g-main-context-unref"></a><h3>g_main_context_unref ()</h3>
709
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_unref (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
710
+ <p>
711
+ Decreases the reference count on a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> object by one. If
712
+ the result is zero, free the context and free all associated memory.
713
+ </p>
714
+ <div class="variablelist"><table border="0">
715
+ <col align="left" valign="top">
716
+ <tbody><tr>
717
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
718
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
719
+ </td>
720
+ </tr></tbody>
721
+ </table></div>
722
+ </div>
723
+ <hr>
724
+ <div class="refsect2">
725
+ <a name="g-main-context-default"></a><h3>g_main_context_default ()</h3>
726
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * g_main_context_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
727
+ <p>
728
+ Returns the global default main context. This is the main context
729
+ used for main loop functions when a main loop is not explicitly
730
+ specified, and corresponds to the "main" main loop. See also
731
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-get-thread-default" title="g_main_context_get_thread_default ()"><code class="function">g_main_context_get_thread_default()</code></a>.
732
+ </p>
733
+ <div class="variablelist"><table border="0">
734
+ <col align="left" valign="top">
735
+ <tbody><tr>
736
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
737
+ <td> the global default main context.
738
+ </td>
739
+ </tr></tbody>
740
+ </table></div>
741
+ </div>
742
+ <hr>
743
+ <div class="refsect2">
744
+ <a name="g-main-context-iteration"></a><h3>g_main_context_iteration ()</h3>
745
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_context_iteration (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
746
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> may_block</code></em>);</pre>
747
+ <p>
748
+ Runs a single iteration for the given main loop. This involves
749
+ checking to see if any event sources are ready to be processed,
750
+ then if no events sources are ready and <em class="parameter"><code>may_block</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, waiting
751
+ for a source to become ready, then dispatching the highest priority
752
+ events sources that are ready. Otherwise, if <em class="parameter"><code>may_block</code></em> is <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>
753
+ sources are not waited to become ready, only those highest priority
754
+ events sources will be dispatched (if any), that are ready at this
755
+ given moment without further waiting.
756
+ </p>
757
+ <p>
758
+ Note that even when <em class="parameter"><code>may_block</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, it is still possible for
759
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-iteration" title="g_main_context_iteration ()"><code class="function">g_main_context_iteration()</code></a> to return <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>, since the the wait may
760
+ be interrupted for other reasons than an event source becoming ready.
761
+ </p>
762
+ <div class="variablelist"><table border="0">
763
+ <col align="left" valign="top">
764
+ <tbody>
765
+ <tr>
766
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
767
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the default context will be used)
768
+ </td>
769
+ </tr>
770
+ <tr>
771
+ <td><p><span class="term"><em class="parameter"><code>may_block</code></em> :</span></p></td>
772
+ <td>whether the call may block.
773
+ </td>
774
+ </tr>
775
+ <tr>
776
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
777
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if events were dispatched.
778
+ </td>
779
+ </tr>
780
+ </tbody>
781
+ </table></div>
782
+ </div>
783
+ <hr>
784
+ <div class="refsect2">
785
+ <a name="g-main-iteration"></a><h3>g_main_iteration()</h3>
786
+ <pre class="programlisting">#define g_main_iteration(may_block)</pre>
787
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
788
+ <h3 class="title">Warning</h3>
789
+ <p><code class="literal">g_main_iteration</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-iteration" title="g_main_context_iteration ()"><code class="function">g_main_context_iteration()</code></a> instead.</p>
790
+ </div>
791
+ <p>
792
+ Runs a single iteration for the default <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>.
793
+ </p>
794
+ <div class="variablelist"><table border="0">
795
+ <col align="left" valign="top">
796
+ <tbody>
797
+ <tr>
798
+ <td><p><span class="term"><em class="parameter"><code>may_block</code></em> :</span></p></td>
799
+ <td>set to <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if it should block (i.e. wait) until an event
800
+ source becomes ready. It will return after an event source has been
801
+ processed. If set to <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> it will return immediately if no event
802
+ source is ready to be processed.
803
+ </td>
804
+ </tr>
805
+ <tr>
806
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
807
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if more events are pending.
808
+
809
+ </td>
810
+ </tr>
811
+ </tbody>
812
+ </table></div>
813
+ </div>
814
+ <hr>
815
+ <div class="refsect2">
816
+ <a name="g-main-context-pending"></a><h3>g_main_context_pending ()</h3>
817
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_context_pending (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
818
+ <p>
819
+ Checks if any sources have pending events for the given context.
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>context</code></em> :</span></p></td>
826
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the default context will be used)
827
+ </td>
828
+ </tr>
829
+ <tr>
830
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
831
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if events are pending.
832
+ </td>
833
+ </tr>
834
+ </tbody>
835
+ </table></div>
836
+ </div>
837
+ <hr>
838
+ <div class="refsect2">
839
+ <a name="g-main-pending"></a><h3>g_main_pending</h3>
840
+ <pre class="programlisting">#define g_main_pending()</pre>
841
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
842
+ <h3 class="title">Warning</h3>
843
+ <p><code class="literal">g_main_pending</code> is deprecated and should not be used in newly-written code.</p>
844
+ </div>
845
+ <p>
846
+ Checks if any events are pending for the default <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
847
+ (i.e. ready to be processed).
848
+ </p>
849
+ <div class="variablelist"><table border="0">
850
+ <col align="left" valign="top">
851
+ <tbody><tr>
852
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
853
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if any events are pending.
854
+
855
+ Deprected: 2.2: Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-pending" title="g_main_context_pending ()"><code class="function">g_main_context_pending()</code></a> instead.
856
+ </td>
857
+ </tr></tbody>
858
+ </table></div>
859
+ </div>
860
+ <hr>
861
+ <div class="refsect2">
862
+ <a name="g-main-context-find-source-by-id"></a><h3>g_main_context_find_source_by_id ()</h3>
863
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_main_context_find_source_by_id (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
864
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> source_id</code></em>);</pre>
865
+ <p>
866
+ Finds a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> given a pair of context and ID.
867
+ </p>
868
+ <div class="variablelist"><table border="0">
869
+ <col align="left" valign="top">
870
+ <tbody>
871
+ <tr>
872
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
873
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the default context will be used)
874
+ </td>
875
+ </tr>
876
+ <tr>
877
+ <td><p><span class="term"><em class="parameter"><code>source_id</code></em> :</span></p></td>
878
+ <td>the source ID, as returned by <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-id" title="g_source_get_id ()"><code class="function">g_source_get_id()</code></a>.
879
+ </td>
880
+ </tr>
881
+ <tr>
882
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
883
+ <td> the <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> if found, otherwise, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
884
+ </td>
885
+ </tr>
886
+ </tbody>
887
+ </table></div>
888
+ </div>
889
+ <hr>
890
+ <div class="refsect2">
891
+ <a name="g-main-context-find-source-by-user-data"></a><h3>g_main_context_find_source_by_user_data ()</h3>
892
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_main_context_find_source_by_user_data
893
+ (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
894
+ <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>
895
+ <p>
896
+ Finds a source with the given user data for the callback. If
897
+ multiple sources exist with the same user data, the first
898
+ one found will be returned.
899
+ </p>
900
+ <div class="variablelist"><table border="0">
901
+ <col align="left" valign="top">
902
+ <tbody>
903
+ <tr>
904
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
905
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
906
+ </td>
907
+ </tr>
908
+ <tr>
909
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
910
+ <td>the user_data for the callback.
911
+ </td>
912
+ </tr>
913
+ <tr>
914
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
915
+ <td> the source, if one was found, otherwise <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
916
+ </td>
917
+ </tr>
918
+ </tbody>
919
+ </table></div>
920
+ </div>
921
+ <hr>
922
+ <div class="refsect2">
923
+ <a name="g-main-context-find-source-by-funcs-user-data"></a><h3>g_main_context_find_source_by_funcs_user_data ()</h3>
924
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_main_context_find_source_by_funcs_user_data
925
+ (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
926
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *funcs</code></em>,
927
+ <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>
928
+ <p>
929
+ Finds a source with the given source functions and user data. If
930
+ multiple sources exist with the same source function and user data,
931
+ the first one found will be returned.
932
+ </p>
933
+ <div class="variablelist"><table border="0">
934
+ <col align="left" valign="top">
935
+ <tbody>
936
+ <tr>
937
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
938
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the default context will be used).
939
+ </td>
940
+ </tr>
941
+ <tr>
942
+ <td><p><span class="term"><em class="parameter"><code>funcs</code></em> :</span></p></td>
943
+ <td>the <em class="parameter"><code>source_funcs</code></em> passed to <a class="link" href="glib-The-Main-Event-Loop.html#g-source-new" title="g_source_new ()"><code class="function">g_source_new()</code></a>.
944
+ </td>
945
+ </tr>
946
+ <tr>
947
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
948
+ <td>the user data from the callback.
949
+ </td>
950
+ </tr>
951
+ <tr>
952
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
953
+ <td> the source, if one was found, otherwise <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
954
+ </td>
955
+ </tr>
956
+ </tbody>
957
+ </table></div>
958
+ </div>
959
+ <hr>
960
+ <div class="refsect2">
961
+ <a name="g-main-context-wakeup"></a><h3>g_main_context_wakeup ()</h3>
962
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_wakeup (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
963
+ <p>
964
+ If <em class="parameter"><code>context</code></em> is currently waiting in a <code class="function">poll()</code>, interrupt
965
+ the <code class="function">poll()</code>, and continue the iteration process.
966
+ </p>
967
+ <div class="variablelist"><table border="0">
968
+ <col align="left" valign="top">
969
+ <tbody><tr>
970
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
971
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
972
+ </td>
973
+ </tr></tbody>
974
+ </table></div>
975
+ </div>
976
+ <hr>
977
+ <div class="refsect2">
978
+ <a name="g-main-context-acquire"></a><h3>g_main_context_acquire ()</h3>
979
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_context_acquire (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
980
+ <p>
981
+ Tries to become the owner of the specified context.
982
+ If some other thread is the owner of the context,
983
+ returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> immediately. Ownership is properly
984
+ recursive: the owner can require ownership again
985
+ and will release ownership when <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-release" title="g_main_context_release ()"><code class="function">g_main_context_release()</code></a>
986
+ is called as many times as <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-acquire" title="g_main_context_acquire ()"><code class="function">g_main_context_acquire()</code></a>.
987
+ </p>
988
+ <p>
989
+ You must be the owner of a context before you
990
+ can call <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-prepare" title="g_main_context_prepare ()"><code class="function">g_main_context_prepare()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-query" title="g_main_context_query ()"><code class="function">g_main_context_query()</code></a>,
991
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-check" title="g_main_context_check ()"><code class="function">g_main_context_check()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-dispatch" title="g_main_context_dispatch ()"><code class="function">g_main_context_dispatch()</code></a>.
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>context</code></em> :</span></p></td>
998
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
999
+ </td>
1000
+ </tr>
1001
+ <tr>
1002
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1003
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the operation succeeded, and
1004
+ this thread is now the owner of <em class="parameter"><code>context</code></em>.
1005
+ </td>
1006
+ </tr>
1007
+ </tbody>
1008
+ </table></div>
1009
+ </div>
1010
+ <hr>
1011
+ <div class="refsect2">
1012
+ <a name="g-main-context-release"></a><h3>g_main_context_release ()</h3>
1013
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_release (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
1014
+ <p>
1015
+ Releases ownership of a context previously acquired by this thread
1016
+ with <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-acquire" title="g_main_context_acquire ()"><code class="function">g_main_context_acquire()</code></a>. If the context was acquired multiple
1017
+ times, the ownership will be released only when <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-release" title="g_main_context_release ()"><code class="function">g_main_context_release()</code></a>
1018
+ is called as many times as it was acquired.
1019
+ </p>
1020
+ <div class="variablelist"><table border="0">
1021
+ <col align="left" valign="top">
1022
+ <tbody><tr>
1023
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1024
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1025
+ </td>
1026
+ </tr></tbody>
1027
+ </table></div>
1028
+ </div>
1029
+ <hr>
1030
+ <div class="refsect2">
1031
+ <a name="g-main-context-is-owner"></a><h3>g_main_context_is_owner ()</h3>
1032
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_context_is_owner (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
1033
+ <p>
1034
+ Determines whether this thread holds the (recursive)
1035
+ ownership of this <span class="type">GMaincontext</span>. This is useful to
1036
+ know before waiting on another thread that may be
1037
+ blocking to get ownership of <em class="parameter"><code>context</code></em>.
1038
+ </p>
1039
+ <div class="variablelist"><table border="0">
1040
+ <col align="left" valign="top">
1041
+ <tbody>
1042
+ <tr>
1043
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1044
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1045
+ </td>
1046
+ </tr>
1047
+ <tr>
1048
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1049
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if current thread is owner of <em class="parameter"><code>context</code></em>.
1050
+
1051
+ </td>
1052
+ </tr>
1053
+ </tbody>
1054
+ </table></div>
1055
+ <p class="since">Since 2.10</p>
1056
+ </div>
1057
+ <hr>
1058
+ <div class="refsect2">
1059
+ <a name="g-main-context-wait"></a><h3>g_main_context_wait ()</h3>
1060
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_context_wait (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1061
+ <em class="parameter"><code><a class="link" href="glib-Threads.html#GCond" title="GCond"><span class="type">GCond</span></a> *cond</code></em>,
1062
+ <em class="parameter"><code><a class="link" href="glib-Threads.html#GMutex" title="GMutex"><span class="type">GMutex</span></a> *mutex</code></em>);</pre>
1063
+ <p>
1064
+ Tries to become the owner of the specified context,
1065
+ as with <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-acquire" title="g_main_context_acquire ()"><code class="function">g_main_context_acquire()</code></a>. But if another thread
1066
+ is the owner, atomically drop <em class="parameter"><code>mutex</code></em> and wait on <em class="parameter"><code>cond</code></em> until
1067
+ that owner releases ownership or until <em class="parameter"><code>cond</code></em> is signaled, then
1068
+ try again (once) to become the owner.
1069
+ </p>
1070
+ <div class="variablelist"><table border="0">
1071
+ <col align="left" valign="top">
1072
+ <tbody>
1073
+ <tr>
1074
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1075
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1076
+ </td>
1077
+ </tr>
1078
+ <tr>
1079
+ <td><p><span class="term"><em class="parameter"><code>cond</code></em> :</span></p></td>
1080
+ <td>a condition variable
1081
+ </td>
1082
+ </tr>
1083
+ <tr>
1084
+ <td><p><span class="term"><em class="parameter"><code>mutex</code></em> :</span></p></td>
1085
+ <td>a mutex, currently held
1086
+ </td>
1087
+ </tr>
1088
+ <tr>
1089
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1090
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the operation succeeded, and
1091
+ this thread is now the owner of <em class="parameter"><code>context</code></em>.
1092
+ </td>
1093
+ </tr>
1094
+ </tbody>
1095
+ </table></div>
1096
+ </div>
1097
+ <hr>
1098
+ <div class="refsect2">
1099
+ <a name="g-main-context-prepare"></a><h3>g_main_context_prepare ()</h3>
1100
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_main_context_prepare (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1101
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *priority</code></em>);</pre>
1102
+ <p>
1103
+ Prepares to poll sources within a main loop. The resulting information
1104
+ for polling is determined by calling <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-query" title="g_main_context_query ()"><code class="function">g_main_context_query()</code></a>.
1105
+ </p>
1106
+ <div class="variablelist"><table border="0">
1107
+ <col align="left" valign="top">
1108
+ <tbody>
1109
+ <tr>
1110
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1111
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1112
+ </td>
1113
+ </tr>
1114
+ <tr>
1115
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1116
+ <td>location to store priority of highest priority
1117
+ source already ready.
1118
+ </td>
1119
+ </tr>
1120
+ <tr>
1121
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1122
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if some source is ready to be dispatched
1123
+ prior to polling.
1124
+ </td>
1125
+ </tr>
1126
+ </tbody>
1127
+ </table></div>
1128
+ </div>
1129
+ <hr>
1130
+ <div class="refsect2">
1131
+ <a name="g-main-context-query"></a><h3>g_main_context_query ()</h3>
1132
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_main_context_query (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1133
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_priority</code></em>,
1134
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> *timeout_</code></em>,
1135
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fds</code></em>,
1136
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> n_fds</code></em>);</pre>
1137
+ <p>
1138
+ Determines information necessary to poll this main loop.
1139
+ </p>
1140
+ <div class="variablelist"><table border="0">
1141
+ <col align="left" valign="top">
1142
+ <tbody>
1143
+ <tr>
1144
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1145
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1146
+ </td>
1147
+ </tr>
1148
+ <tr>
1149
+ <td><p><span class="term"><em class="parameter"><code>max_priority</code></em> :</span></p></td>
1150
+ <td>maximum priority source to check
1151
+ </td>
1152
+ </tr>
1153
+ <tr>
1154
+ <td><p><span class="term"><em class="parameter"><code>timeout_</code></em> :</span></p></td>
1155
+ <td>location to store timeout to be used in polling
1156
+ </td>
1157
+ </tr>
1158
+ <tr>
1159
+ <td><p><span class="term"><em class="parameter"><code>fds</code></em> :</span></p></td>
1160
+ <td>location to store <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> records that need to be polled.
1161
+ </td>
1162
+ </tr>
1163
+ <tr>
1164
+ <td><p><span class="term"><em class="parameter"><code>n_fds</code></em> :</span></p></td>
1165
+ <td>length of <em class="parameter"><code>fds</code></em>.
1166
+ </td>
1167
+ </tr>
1168
+ <tr>
1169
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1170
+ <td> the number of records actually stored in <em class="parameter"><code>fds</code></em>,
1171
+ or, if more than <em class="parameter"><code>n_fds</code></em> records need to be stored, the number
1172
+ of records that need to be stored.
1173
+ </td>
1174
+ </tr>
1175
+ </tbody>
1176
+ </table></div>
1177
+ </div>
1178
+ <hr>
1179
+ <div class="refsect2">
1180
+ <a name="g-main-context-check"></a><h3>g_main_context_check ()</h3>
1181
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_main_context_check (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1182
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> max_priority</code></em>,
1183
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fds</code></em>,
1184
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> n_fds</code></em>);</pre>
1185
+ <p>
1186
+ Passes the results of polling back to the main loop.
1187
+ </p>
1188
+ <div class="variablelist"><table border="0">
1189
+ <col align="left" valign="top">
1190
+ <tbody>
1191
+ <tr>
1192
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1193
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1194
+ </td>
1195
+ </tr>
1196
+ <tr>
1197
+ <td><p><span class="term"><em class="parameter"><code>max_priority</code></em> :</span></p></td>
1198
+ <td>the maximum numerical priority of sources to check
1199
+ </td>
1200
+ </tr>
1201
+ <tr>
1202
+ <td><p><span class="term"><em class="parameter"><code>fds</code></em> :</span></p></td>
1203
+ <td>array of <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a>'s that was passed to the last call to
1204
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-query" title="g_main_context_query ()"><code class="function">g_main_context_query()</code></a>
1205
+ </td>
1206
+ </tr>
1207
+ <tr>
1208
+ <td><p><span class="term"><em class="parameter"><code>n_fds</code></em> :</span></p></td>
1209
+ <td>return value of <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-query" title="g_main_context_query ()"><code class="function">g_main_context_query()</code></a>
1210
+ </td>
1211
+ </tr>
1212
+ <tr>
1213
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1214
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if some sources are ready to be dispatched.
1215
+ </td>
1216
+ </tr>
1217
+ </tbody>
1218
+ </table></div>
1219
+ </div>
1220
+ <hr>
1221
+ <div class="refsect2">
1222
+ <a name="g-main-context-dispatch"></a><h3>g_main_context_dispatch ()</h3>
1223
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_dispatch (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
1224
+ <p>
1225
+ Dispatches all pending sources.
1226
+ </p>
1227
+ <div class="variablelist"><table border="0">
1228
+ <col align="left" valign="top">
1229
+ <tbody><tr>
1230
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1231
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1232
+ </td>
1233
+ </tr></tbody>
1234
+ </table></div>
1235
+ </div>
1236
+ <hr>
1237
+ <div class="refsect2">
1238
+ <a name="g-main-context-set-poll-func"></a><h3>g_main_context_set_poll_func ()</h3>
1239
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_set_poll_func (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1240
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFunc" title="GPollFunc ()"><span class="type">GPollFunc</span></a> func</code></em>);</pre>
1241
+ <p>
1242
+ Sets the function to use to handle polling of file descriptors. It
1243
+ will be used instead of the <code class="function">poll()</code> system call
1244
+ (or GLib's replacement function, which is used where
1245
+ <code class="function">poll()</code> isn't available).
1246
+ </p>
1247
+ <p>
1248
+ This function could possibly be used to integrate the GLib event
1249
+ loop with an external event loop.
1250
+ </p>
1251
+ <div class="variablelist"><table border="0">
1252
+ <col align="left" valign="top">
1253
+ <tbody>
1254
+ <tr>
1255
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1256
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1257
+ </td>
1258
+ </tr>
1259
+ <tr>
1260
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1261
+ <td>the function to call to poll all file descriptors
1262
+ </td>
1263
+ </tr>
1264
+ </tbody>
1265
+ </table></div>
1266
+ </div>
1267
+ <hr>
1268
+ <div class="refsect2">
1269
+ <a name="g-main-context-get-poll-func"></a><h3>g_main_context_get_poll_func ()</h3>
1270
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GPollFunc" title="GPollFunc ()"><span class="returnvalue">GPollFunc</span></a> g_main_context_get_poll_func (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
1271
+ <p>
1272
+ Gets the poll function set by <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-set-poll-func" title="g_main_context_set_poll_func ()"><code class="function">g_main_context_set_poll_func()</code></a>.
1273
+ </p>
1274
+ <div class="variablelist"><table border="0">
1275
+ <col align="left" valign="top">
1276
+ <tbody>
1277
+ <tr>
1278
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1279
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1280
+ </td>
1281
+ </tr>
1282
+ <tr>
1283
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1284
+ <td> the poll function
1285
+ </td>
1286
+ </tr>
1287
+ </tbody>
1288
+ </table></div>
1289
+ </div>
1290
+ <hr>
1291
+ <div class="refsect2">
1292
+ <a name="GPollFunc"></a><h3>GPollFunc ()</h3>
1293
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> (*GPollFunc) (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *ufds</code></em>,
1294
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> nfsd</code></em>,
1295
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> timeout_</code></em>);</pre>
1296
+ <p>
1297
+ Specifies the type of function passed to <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-set-poll-func" title="g_main_context_set_poll_func ()"><code class="function">g_main_context_set_poll_func()</code></a>.
1298
+ The semantics of the function should match those of the <code class="function">poll()</code> system call.
1299
+ </p>
1300
+ <div class="variablelist"><table border="0">
1301
+ <col align="left" valign="top">
1302
+ <tbody>
1303
+ <tr>
1304
+ <td><p><span class="term"><em class="parameter"><code>ufds</code></em> :</span></p></td>
1305
+ <td>an array of <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> elements
1306
+ </td>
1307
+ </tr>
1308
+ <tr>
1309
+ <td><p><span class="term"><em class="parameter"><code>nfsd</code></em> :</span></p></td>
1310
+ <td>the number of elements in <em class="parameter"><code>ufds</code></em>
1311
+ </td>
1312
+ </tr>
1313
+ <tr>
1314
+ <td><p><span class="term"><em class="parameter"><code>timeout_</code></em> :</span></p></td>
1315
+ <td>the maximum time to wait for an event of the file descriptors.
1316
+ A negative value indicates an infinite timeout.
1317
+ </td>
1318
+ </tr>
1319
+ <tr>
1320
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1321
+ <td> the number of <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> elements which have events or errors
1322
+ reported, or -1 if an error occurred.
1323
+ </td>
1324
+ </tr>
1325
+ </tbody>
1326
+ </table></div>
1327
+ </div>
1328
+ <hr>
1329
+ <div class="refsect2">
1330
+ <a name="g-main-context-add-poll"></a><h3>g_main_context_add_poll ()</h3>
1331
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_add_poll (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1332
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>,
1333
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>);</pre>
1334
+ <p>
1335
+ Adds a file descriptor to the set of file descriptors polled for
1336
+ this context. This will very seldomly be used directly. Instead
1337
+ a typical event source will use <a class="link" href="glib-The-Main-Event-Loop.html#g-source-add-poll" title="g_source_add_poll ()"><code class="function">g_source_add_poll()</code></a> instead.
1338
+ </p>
1339
+ <div class="variablelist"><table border="0">
1340
+ <col align="left" valign="top">
1341
+ <tbody>
1342
+ <tr>
1343
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1344
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the default context)
1345
+ </td>
1346
+ </tr>
1347
+ <tr>
1348
+ <td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td>
1349
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> structure holding information about a file
1350
+ descriptor to watch.
1351
+ </td>
1352
+ </tr>
1353
+ <tr>
1354
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1355
+ <td>the priority for this file descriptor which should be
1356
+ the same as the priority used for <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a> to ensure that the
1357
+ file descriptor is polled whenever the results may be needed.
1358
+ </td>
1359
+ </tr>
1360
+ </tbody>
1361
+ </table></div>
1362
+ </div>
1363
+ <hr>
1364
+ <div class="refsect2">
1365
+ <a name="g-main-context-remove-poll"></a><h3>g_main_context_remove_poll ()</h3>
1366
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_remove_poll (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>,
1367
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>);</pre>
1368
+ <p>
1369
+ Removes file descriptor from the set of file descriptors to be
1370
+ polled for a particular context.
1371
+ </p>
1372
+ <div class="variablelist"><table border="0">
1373
+ <col align="left" valign="top">
1374
+ <tbody>
1375
+ <tr>
1376
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1377
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1378
+ </td>
1379
+ </tr>
1380
+ <tr>
1381
+ <td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td>
1382
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> descriptor previously added with <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-add-poll" title="g_main_context_add_poll ()"><code class="function">g_main_context_add_poll()</code></a>
1383
+ </td>
1384
+ </tr>
1385
+ </tbody>
1386
+ </table></div>
1387
+ </div>
1388
+ <hr>
1389
+ <div class="refsect2">
1390
+ <a name="g-main-depth"></a><h3>g_main_depth ()</h3>
1391
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_main_depth (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1392
+ <p>
1393
+ Returns the depth of the stack of calls to
1394
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-dispatch" title="g_main_context_dispatch ()"><code class="function">g_main_context_dispatch()</code></a> on any <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> in the current thread.
1395
+ That is, when called from the toplevel, it gives 0. When
1396
+ called from within a callback from <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-iteration" title="g_main_context_iteration ()"><code class="function">g_main_context_iteration()</code></a>
1397
+ (or <a class="link" href="glib-The-Main-Event-Loop.html#g-main-loop-run" title="g_main_loop_run ()"><code class="function">g_main_loop_run()</code></a>, etc.) it returns 1. When called from within
1398
+ a callback to a recursive call to <code class="function">g_main_context_iterate()</code>,
1399
+ it returns 2. And so forth.
1400
+ </p>
1401
+ <p>
1402
+ This function is useful in a situation like the following:
1403
+ Imagine an extremely simple "garbage collected" system.
1404
+ </p>
1405
+ <p>
1406
+ </p>
1407
+ <div class="informalexample">
1408
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1409
+ <tbody>
1410
+ <tr>
1411
+ <td class="listing_lines" align="right"><pre>1
1412
+ 2
1413
+ 3
1414
+ 4
1415
+ 5
1416
+ 6
1417
+ 7
1418
+ 8
1419
+ 9
1420
+ 10
1421
+ 11
1422
+ 12
1423
+ 13
1424
+ 14
1425
+ 15
1426
+ 16
1427
+ 17
1428
+ 18
1429
+ 19
1430
+ 20
1431
+ 21
1432
+ 22
1433
+ 23
1434
+ 24
1435
+ 25
1436
+ 26
1437
+ 27</pre></td>
1438
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">free_list</span><span class="symbol">;</span>
1439
+
1440
+ <span class="normal"><a href="glib-Basic-Types.html#gpointer">gpointer</a></span>
1441
+ <span class="function">allocate_memory</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gsize</span><span class="normal"> size</span><span class="symbol">)</span>
1442
+ <span class="cbracket">{</span><span class="normal"> </span>
1443
+ <span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> result </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-Memory-Allocation.html#g-malloc">g_malloc</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">size</span><span class="symbol">);</span>
1444
+ <span class="normal"> free_list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">free_list</span><span class="symbol">,</span><span class="normal"> result</span><span class="symbol">);</span>
1445
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> result</span><span class="symbol">;</span>
1446
+ <span class="cbracket">}</span>
1447
+
1448
+ <span class="type">void</span>
1449
+ <span class="function">free_allocated_memory</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
1450
+ <span class="cbracket">{</span>
1451
+ <span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">l</span><span class="symbol">;</span>
1452
+ <span class="normal"> </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">l </span><span class="symbol">=</span><span class="normal"> free_list</span><span class="symbol">;</span><span class="normal"> l</span><span class="symbol">;</span><span class="normal"> l </span><span class="symbol">=</span><span class="normal"> l</span><span class="symbol">-&gt;</span><span class="normal">next</span><span class="symbol">);</span>
1453
+ <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">l</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>
1454
+ <span class="normal"> </span><span class="function"><a href="glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">free_list</span><span class="symbol">);</span>
1455
+ <span class="normal"> free_list </span><span class="symbol">=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
1456
+ <span class="normal"> </span><span class="cbracket">}</span>
1457
+
1458
+ <span class="symbol">[...]</span>
1459
+
1460
+ <span class="keyword">while</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span><span class="normal"> </span>
1461
+ <span class="normal"> </span><span class="cbracket">{</span>
1462
+ <span class="normal"> </span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-main-context-iteration">g_main_context_iteration</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
1463
+ <span class="normal"> </span><span class="function">free_allocated_memory</span><span class="symbol">();</span>
1464
+ <span class="normal"> </span><span class="cbracket">}</span></pre></td>
1465
+ </tr>
1466
+ </tbody>
1467
+ </table>
1468
+ </div>
1469
+
1470
+ <p>
1471
+ </p>
1472
+ <p>
1473
+ This works from an application, however, if you want to do the same
1474
+ thing from a library, it gets more difficult, since you no longer
1475
+ control the main loop. You might think you can simply use an idle
1476
+ function to make the call to <code class="function">free_allocated_memory()</code>, but that
1477
+ doesn't work, since the idle function could be called from a
1478
+ recursive callback. This can be fixed by using <a class="link" href="glib-The-Main-Event-Loop.html#g-main-depth" title="g_main_depth ()"><code class="function">g_main_depth()</code></a>
1479
+ </p>
1480
+ <p>
1481
+ </p>
1482
+ <div class="informalexample">
1483
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1484
+ <tbody>
1485
+ <tr>
1486
+ <td class="listing_lines" align="right"><pre>1
1487
+ 2
1488
+ 3
1489
+ 4
1490
+ 5
1491
+ 6
1492
+ 7
1493
+ 8
1494
+ 9
1495
+ 10
1496
+ 11
1497
+ 12
1498
+ 13
1499
+ 14
1500
+ 15
1501
+ 16
1502
+ 17
1503
+ 18
1504
+ 19
1505
+ 20
1506
+ 21
1507
+ 22
1508
+ 23
1509
+ 24
1510
+ 25
1511
+ 26
1512
+ 27
1513
+ 28
1514
+ 29
1515
+ 30</pre></td>
1516
+ <td class="listing_code"><pre class="programlisting"><span class="normal"><a href="glib-Basic-Types.html#gpointer">gpointer</a></span>
1517
+ <span class="function">allocate_memory</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gsize</span><span class="normal"> size</span><span class="symbol">)</span>
1518
+ <span class="cbracket">{</span><span class="normal"> </span>
1519
+ <span class="normal"> </span><span class="usertype">FreeListBlock</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">block </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-Memory-Allocation.html#g-new">g_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">FreeListBlock</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">);</span>
1520
+ <span class="normal"> block</span><span class="symbol">-&gt;</span><span class="normal">mem </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-Memory-Allocation.html#g-malloc">g_malloc</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">size</span><span class="symbol">);</span>
1521
+ <span class="normal"> block</span><span class="symbol">-&gt;</span><span class="normal">depth </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-main-depth">g_main_depth</a></span><span class="normal"> </span><span class="symbol">();</span><span class="normal"> </span>
1522
+ <span class="normal"> free_list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">free_list</span><span class="symbol">,</span><span class="normal"> block</span><span class="symbol">);</span>
1523
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> block</span><span class="symbol">-&gt;</span><span class="normal">mem</span><span class="symbol">;</span>
1524
+ <span class="cbracket">}</span>
1525
+
1526
+ <span class="type">void</span>
1527
+ <span class="function">free_allocated_memory</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
1528
+ <span class="cbracket">{</span>
1529
+ <span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">l</span><span class="symbol">;</span>
1530
+ <span class="normal"> </span>
1531
+ <span class="normal"> </span><span class="type">int</span><span class="normal"> depth </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-main-depth">g_main_depth</a></span><span class="normal"> </span><span class="symbol">();</span>
1532
+ <span class="normal"> </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">l </span><span class="symbol">=</span><span class="normal"> free_list</span><span class="symbol">;</span><span class="normal"> l</span><span class="symbol">;</span><span class="normal"> </span><span class="symbol">);</span>
1533
+ <span class="normal"> </span><span class="cbracket">{</span>
1534
+ <span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">next </span><span class="symbol">=</span><span class="normal"> l</span><span class="symbol">-&gt;</span><span class="normal">next</span><span class="symbol">;</span>
1535
+ <span class="normal"> </span><span class="usertype">FreeListBlock</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">block </span><span class="symbol">=</span><span class="normal"> l</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">;</span>
1536
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">block</span><span class="symbol">-&gt;</span><span class="normal">depth </span><span class="symbol">&gt;</span><span class="normal"> depth</span><span class="symbol">)</span>
1537
+ <span class="normal"> </span><span class="cbracket">{</span>
1538
+ <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">block</span><span class="symbol">-&gt;</span><span class="normal">mem</span><span class="symbol">);</span>
1539
+ <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">block</span><span class="symbol">);</span>
1540
+ <span class="normal"> free_list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-Doubly-Linked-Lists.html#g-list-delete-link">g_list_delete_link</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">free_list</span><span class="symbol">,</span><span class="normal"> l</span><span class="symbol">);</span>
1541
+ <span class="normal"> </span><span class="cbracket">}</span>
1542
+ <span class="normal"> </span>
1543
+ <span class="normal"> l </span><span class="symbol">=</span><span class="normal"> next</span><span class="symbol">;</span>
1544
+ <span class="normal"> </span><span class="cbracket">}</span>
1545
+ <span class="normal"> </span><span class="cbracket">}</span></pre></td>
1546
+ </tr>
1547
+ </tbody>
1548
+ </table>
1549
+ </div>
1550
+
1551
+ <p>
1552
+ </p>
1553
+ <p>
1554
+ There is a temptation to use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-depth" title="g_main_depth ()"><code class="function">g_main_depth()</code></a> to solve
1555
+ problems with reentrancy. For instance, while waiting for data
1556
+ to be received from the network in response to a menu item,
1557
+ the menu item might be selected again. It might seem that
1558
+ one could make the menu item's callback return immediately
1559
+ and do nothing if <a class="link" href="glib-The-Main-Event-Loop.html#g-main-depth" title="g_main_depth ()"><code class="function">g_main_depth()</code></a> returns a value greater than 1.
1560
+ However, this should be avoided since the user then sees selecting
1561
+ the menu item do nothing. Furthermore, you'll find yourself adding
1562
+ these checks all over your code, since there are doubtless many,
1563
+ many things that the user could do. Instead, you can use the
1564
+ following techniques:
1565
+ </p>
1566
+ <p>
1567
+ </p>
1568
+ <div class="orderedlist"><ol class="orderedlist" type="1">
1569
+ <li class="listitem"><p>
1570
+ Use <a href="http://library.gnome.org/devel/gtk/unstable/GtkWidget.html#gtk-widget-set-sensitive"><code class="function">gtk_widget_set_sensitive()</code></a> or modal dialogs to prevent
1571
+ the user from interacting with elements while the main
1572
+ loop is recursing.
1573
+ </p></li>
1574
+ <li class="listitem"><p>
1575
+ Avoid main loop recursion in situations where you can't handle
1576
+ arbitrary callbacks. Instead, structure your code so that you
1577
+ simply return to the main loop and then get called again when
1578
+ there is more work to do.
1579
+ </p></li>
1580
+ </ol></div>
1581
+ <p>
1582
+ </p>
1583
+ <div class="variablelist"><table border="0">
1584
+ <col align="left" valign="top">
1585
+ <tbody><tr>
1586
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1587
+ <td> The main loop recursion level in the current thread
1588
+ </td>
1589
+ </tr></tbody>
1590
+ </table></div>
1591
+ </div>
1592
+ <hr>
1593
+ <div class="refsect2">
1594
+ <a name="g-main-current-source"></a><h3>g_main_current_source ()</h3>
1595
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_main_current_source (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1596
+ <p>
1597
+ Returns the currently firing source for this thread.
1598
+ </p>
1599
+ <div class="variablelist"><table border="0">
1600
+ <col align="left" valign="top">
1601
+ <tbody><tr>
1602
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1603
+ <td> The currently firing source or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
1604
+
1605
+ </td>
1606
+ </tr></tbody>
1607
+ </table></div>
1608
+ <p class="since">Since 2.12</p>
1609
+ </div>
1610
+ <hr>
1611
+ <div class="refsect2">
1612
+ <a name="g-main-set-poll-func"></a><h3>g_main_set_poll_func()</h3>
1613
+ <pre class="programlisting">#define g_main_set_poll_func(func)</pre>
1614
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
1615
+ <h3 class="title">Warning</h3>
1616
+ <p><code class="literal">g_main_set_poll_func</code> has been deprecated since version 2.2 and should not be used in newly-written code. Use <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-set-poll-func" title="g_main_context_set_poll_func ()"><code class="function">g_main_context_set_poll_func()</code></a> again</p>
1617
+ </div>
1618
+ <p>
1619
+ Sets the function to use for the handle polling of file descriptors
1620
+ for the default main context.
1621
+ </p>
1622
+ <div class="variablelist"><table border="0">
1623
+ <col align="left" valign="top">
1624
+ <tbody><tr>
1625
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1626
+ <td>the function to call to poll all file descriptors
1627
+ </td>
1628
+ </tr></tbody>
1629
+ </table></div>
1630
+ </div>
1631
+ <hr>
1632
+ <div class="refsect2">
1633
+ <a name="g-main-context-get-thread-default"></a><h3>g_main_context_get_thread_default ()</h3>
1634
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * g_main_context_get_thread_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1635
+ <p>
1636
+ Gets the thread-default <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> for this thread. Asynchronous
1637
+ operations that want to be able to be run in contexts other than
1638
+ the default one should call this method to get a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> to
1639
+ add their <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>s to. (Note that even in single-threaded
1640
+ programs applications may sometimes want to temporarily push a
1641
+ non-default context, so it is not safe to assume that this will
1642
+ always return <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if threads are not initialized.)
1643
+ </p>
1644
+ <div class="variablelist"><table border="0">
1645
+ <col align="left" valign="top">
1646
+ <tbody><tr>
1647
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1648
+ <td> the thread-default <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the
1649
+ thread-default context is the global default context.
1650
+
1651
+ </td>
1652
+ </tr></tbody>
1653
+ </table></div>
1654
+ <p class="since">Since 2.22</p>
1655
+ </div>
1656
+ <hr>
1657
+ <div class="refsect2">
1658
+ <a name="g-main-context-push-thread-default"></a><h3>g_main_context_push_thread_default ()</h3>
1659
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_push_thread_default (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
1660
+ <p>
1661
+ Acquires <em class="parameter"><code>context</code></em> and sets it as the thread-default context for the
1662
+ current thread. This will cause certain asynchronous operations
1663
+ (such as most gio-based I/O) which are
1664
+ started in this thread to run under <em class="parameter"><code>context</code></em> and deliver their
1665
+ results to its main loop, rather than running under the global
1666
+ default context in the main thread. Note that calling this function
1667
+ changes the context returned by
1668
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-get-thread-default" title="g_main_context_get_thread_default ()"><code class="function">g_main_context_get_thread_default()</code></a>, <span class="emphasis"><em>not</em></span> the
1669
+ one returned by <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-default" title="g_main_context_default ()"><code class="function">g_main_context_default()</code></a>, so it does not affect the
1670
+ context used by functions like <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add" title="g_idle_add ()"><code class="function">g_idle_add()</code></a>.
1671
+ </p>
1672
+ <p>
1673
+ Normally you would call this function shortly after creating a new
1674
+ thread, passing it a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> which will be run by a
1675
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainLoop" title="GMainLoop"><span class="type">GMainLoop</span></a> in that thread, to set a new default context for all
1676
+ async operations in that thread. (In this case, you don't need to
1677
+ ever call <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-pop-thread-default" title="g_main_context_pop_thread_default ()"><code class="function">g_main_context_pop_thread_default()</code></a>.) In some cases
1678
+ however, you may want to schedule a single operation in a
1679
+ non-default context, or temporarily use a non-default context in
1680
+ the main thread. In that case, you can wrap the call to the
1681
+ asynchronous operation inside a
1682
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-push-thread-default" title="g_main_context_push_thread_default ()"><code class="function">g_main_context_push_thread_default()</code></a> /
1683
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-pop-thread-default" title="g_main_context_pop_thread_default ()"><code class="function">g_main_context_pop_thread_default()</code></a> pair, but it is up to you to
1684
+ ensure that no other asynchronous operations accidentally get
1685
+ started while the non-default context is active.
1686
+ </p>
1687
+ <p>
1688
+ Beware that libraries that predate this function may not correctly
1689
+ handle being used from a thread with a thread-default context. Eg,
1690
+ see <a href="http://library.gnome.org/devel/gio/unstable/GFile.html#g-file-supports-thread-contexts"><code class="function">g_file_supports_thread_contexts()</code></a>.
1691
+ </p>
1692
+ <div class="variablelist"><table border="0">
1693
+ <col align="left" valign="top">
1694
+ <tbody><tr>
1695
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1696
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the global default context
1697
+ </td>
1698
+ </tr></tbody>
1699
+ </table></div>
1700
+ <p class="since">Since 2.22</p>
1701
+ </div>
1702
+ <hr>
1703
+ <div class="refsect2">
1704
+ <a name="g-main-context-pop-thread-default"></a><h3>g_main_context_pop_thread_default ()</h3>
1705
+ <pre class="programlisting"><span class="returnvalue">void</span> g_main_context_pop_thread_default (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
1706
+ <p>
1707
+ Pops <em class="parameter"><code>context</code></em> off the thread-default context stack (verifying that
1708
+ it was on the top of the stack).
1709
+ </p>
1710
+ <div class="variablelist"><table border="0">
1711
+ <col align="left" valign="top">
1712
+ <tbody><tr>
1713
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
1714
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> object, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
1715
+ </td>
1716
+ </tr></tbody>
1717
+ </table></div>
1718
+ <p class="since">Since 2.22</p>
1719
+ </div>
1720
+ <hr>
1721
+ <div class="refsect2">
1722
+ <a name="g-timeout-source-new"></a><h3>g_timeout_source_new ()</h3>
1723
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_timeout_source_new (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>);</pre>
1724
+ <p>
1725
+ Creates a new timeout source.
1726
+ </p>
1727
+ <p>
1728
+ The source will not initially be associated with any <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1729
+ and must be added to one with <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a> before it will be
1730
+ executed.
1731
+ </p>
1732
+ <div class="variablelist"><table border="0">
1733
+ <col align="left" valign="top">
1734
+ <tbody>
1735
+ <tr>
1736
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1737
+ <td>the timeout interval in milliseconds.
1738
+ </td>
1739
+ </tr>
1740
+ <tr>
1741
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1742
+ <td> the newly-created timeout source
1743
+ </td>
1744
+ </tr>
1745
+ </tbody>
1746
+ </table></div>
1747
+ </div>
1748
+ <hr>
1749
+ <div class="refsect2">
1750
+ <a name="g-timeout-source-new-seconds"></a><h3>g_timeout_source_new_seconds ()</h3>
1751
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_timeout_source_new_seconds (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>);</pre>
1752
+ <p>
1753
+ Creates a new timeout source.
1754
+ </p>
1755
+ <p>
1756
+ The source will not initially be associated with any <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
1757
+ and must be added to one with <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a> before it will be
1758
+ executed.
1759
+ </p>
1760
+ <p>
1761
+ The scheduling granularity/accuracy of this timeout source will be
1762
+ in seconds.
1763
+ </p>
1764
+ <div class="variablelist"><table border="0">
1765
+ <col align="left" valign="top">
1766
+ <tbody>
1767
+ <tr>
1768
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1769
+ <td>the timeout interval in seconds
1770
+ </td>
1771
+ </tr>
1772
+ <tr>
1773
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1774
+ <td> the newly-created timeout source
1775
+
1776
+ </td>
1777
+ </tr>
1778
+ </tbody>
1779
+ </table></div>
1780
+ <p class="since">Since 2.14</p>
1781
+ </div>
1782
+ <hr>
1783
+ <div class="refsect2">
1784
+ <a name="g-timeout-add"></a><h3>g_timeout_add ()</h3>
1785
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_timeout_add (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
1786
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
1787
+ <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>
1788
+ <p>
1789
+ Sets a function to be called at regular intervals, with the default
1790
+ priority, <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><span class="type">G_PRIORITY_DEFAULT</span></a>. The function is called repeatedly
1791
+ until it returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>, at which point the timeout is automatically
1792
+ destroyed and the function will not be called again. The first call
1793
+ to the function will be at the end of the first <em class="parameter"><code>interval</code></em>.
1794
+ </p>
1795
+ <p>
1796
+ Note that timeout functions may be delayed, due to the processing of other
1797
+ event sources. Thus they should not be relied on for precise timing.
1798
+ After each call to the timeout function, the time of the next
1799
+ timeout is recalculated based on the current time and the given interval
1800
+ (it does not try to 'catch up' time lost in delays).
1801
+ </p>
1802
+ <p>
1803
+ If you want to have a timer in the "seconds" range and do not care
1804
+ about the exact time of the first call of the timer, use the
1805
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-seconds" title="g_timeout_add_seconds ()"><code class="function">g_timeout_add_seconds()</code></a> function; this function allows for more
1806
+ optimizations and more efficient system power usage.
1807
+ </p>
1808
+ <p>
1809
+ This internally creates a main loop source using <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-source-new" title="g_timeout_source_new ()"><code class="function">g_timeout_source_new()</code></a>
1810
+ and attaches it to the main loop context using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>. You can
1811
+ do these steps manually if you need greater control.
1812
+ </p>
1813
+ <div class="variablelist"><table border="0">
1814
+ <col align="left" valign="top">
1815
+ <tbody>
1816
+ <tr>
1817
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1818
+ <td>the time between calls to the function, in milliseconds
1819
+ (1/1000ths of a second)
1820
+ </td>
1821
+ </tr>
1822
+ <tr>
1823
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
1824
+ <td>function to call
1825
+ </td>
1826
+ </tr>
1827
+ <tr>
1828
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1829
+ <td>data to pass to <em class="parameter"><code>function</code></em>
1830
+ </td>
1831
+ </tr>
1832
+ <tr>
1833
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1834
+ <td> the ID (greater than 0) of the event source.
1835
+ </td>
1836
+ </tr>
1837
+ </tbody>
1838
+ </table></div>
1839
+ </div>
1840
+ <hr>
1841
+ <div class="refsect2">
1842
+ <a name="g-timeout-add-full"></a><h3>g_timeout_add_full ()</h3>
1843
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_timeout_add_full (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
1844
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
1845
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
1846
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
1847
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
1848
+ <p>
1849
+ Sets a function to be called at regular intervals, with the given
1850
+ priority. The function is called repeatedly until it returns
1851
+ <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>, at which point the timeout is automatically destroyed and
1852
+ the function will not be called again. The <em class="parameter"><code>notify</code></em> function is
1853
+ called when the timeout is destroyed. The first call to the
1854
+ function will be at the end of the first <em class="parameter"><code>interval</code></em>.
1855
+ </p>
1856
+ <p>
1857
+ Note that timeout functions may be delayed, due to the processing of other
1858
+ event sources. Thus they should not be relied on for precise timing.
1859
+ After each call to the timeout function, the time of the next
1860
+ timeout is recalculated based on the current time and the given interval
1861
+ (it does not try to 'catch up' time lost in delays).
1862
+ </p>
1863
+ <p>
1864
+ This internally creates a main loop source using <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-source-new" title="g_timeout_source_new ()"><code class="function">g_timeout_source_new()</code></a>
1865
+ and attaches it to the main loop context using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>. You can
1866
+ do these steps manually if you need greater control.
1867
+ </p>
1868
+ <div class="variablelist"><table border="0">
1869
+ <col align="left" valign="top">
1870
+ <tbody>
1871
+ <tr>
1872
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
1873
+ <td>the priority of the timeout source. Typically this will be in
1874
+ the range between <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><span class="type">G_PRIORITY_DEFAULT</span></a> and <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH:CAPS" title="G_PRIORITY_HIGH"><span class="type">G_PRIORITY_HIGH</span></a>.
1875
+ </td>
1876
+ </tr>
1877
+ <tr>
1878
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1879
+ <td>the time between calls to the function, in milliseconds
1880
+ (1/1000ths of a second)
1881
+ </td>
1882
+ </tr>
1883
+ <tr>
1884
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
1885
+ <td>function to call
1886
+ </td>
1887
+ </tr>
1888
+ <tr>
1889
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1890
+ <td>data to pass to <em class="parameter"><code>function</code></em>
1891
+ </td>
1892
+ </tr>
1893
+ <tr>
1894
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1895
+ <td>function to call when the timeout is removed, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
1896
+ </td>
1897
+ </tr>
1898
+ <tr>
1899
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1900
+ <td> the ID (greater than 0) of the event source.
1901
+ </td>
1902
+ </tr>
1903
+ </tbody>
1904
+ </table></div>
1905
+ </div>
1906
+ <hr>
1907
+ <div class="refsect2">
1908
+ <a name="g-timeout-add-seconds"></a><h3>g_timeout_add_seconds ()</h3>
1909
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_timeout_add_seconds (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
1910
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
1911
+ <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>
1912
+ <p>
1913
+ Sets a function to be called at regular intervals with the default
1914
+ priority, <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><span class="type">G_PRIORITY_DEFAULT</span></a>. The function is called repeatedly until
1915
+ it returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>, at which point the timeout is automatically destroyed
1916
+ and the function will not be called again.
1917
+ </p>
1918
+ <p>
1919
+ This internally creates a main loop source using
1920
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-source-new-seconds" title="g_timeout_source_new_seconds ()"><code class="function">g_timeout_source_new_seconds()</code></a> and attaches it to the main loop context
1921
+ using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>. You can do these steps manually if you need
1922
+ greater control. Also see <code class="function">g_timout_add_seconds_full()</code>.
1923
+ </p>
1924
+ <div class="variablelist"><table border="0">
1925
+ <col align="left" valign="top">
1926
+ <tbody>
1927
+ <tr>
1928
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
1929
+ <td>the time between calls to the function, in seconds
1930
+ </td>
1931
+ </tr>
1932
+ <tr>
1933
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
1934
+ <td>function to call
1935
+ </td>
1936
+ </tr>
1937
+ <tr>
1938
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1939
+ <td>data to pass to <em class="parameter"><code>function</code></em>
1940
+ </td>
1941
+ </tr>
1942
+ <tr>
1943
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1944
+ <td> the ID (greater than 0) of the event source.
1945
+
1946
+ </td>
1947
+ </tr>
1948
+ </tbody>
1949
+ </table></div>
1950
+ <p class="since">Since 2.14</p>
1951
+ </div>
1952
+ <hr>
1953
+ <div class="refsect2">
1954
+ <a name="g-timeout-add-seconds-full"></a><h3>g_timeout_add_seconds_full ()</h3>
1955
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_timeout_add_seconds_full (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
1956
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> interval</code></em>,
1957
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
1958
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
1959
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
1960
+ <p>
1961
+ Sets a function to be called at regular intervals, with <em class="parameter"><code>priority</code></em>.
1962
+ The function is called repeatedly until it returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>, at which
1963
+ point the timeout is automatically destroyed and the function will
1964
+ not be called again.
1965
+ </p>
1966
+ <p>
1967
+ Unlike <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>, this function operates at whole second granularity.
1968
+ The initial starting point of the timer is determined by the implementation
1969
+ and the implementation is expected to group multiple timers together so that
1970
+ they fire all at the same time.
1971
+ To allow this grouping, the <em class="parameter"><code>interval</code></em> to the first timer is rounded
1972
+ and can deviate up to one second from the specified interval.
1973
+ Subsequent timer iterations will generally run at the specified interval.
1974
+ </p>
1975
+ <p>
1976
+ Note that timeout functions may be delayed, due to the processing of other
1977
+ event sources. Thus they should not be relied on for precise timing.
1978
+ After each call to the timeout function, the time of the next
1979
+ timeout is recalculated based on the current time and the given <em class="parameter"><code>interval</code></em>
1980
+ </p>
1981
+ <p>
1982
+ If you want timing more precise than whole seconds, use <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>
1983
+ instead.
1984
+ </p>
1985
+ <p>
1986
+ The grouping of timers to fire at the same time results in a more power
1987
+ and CPU efficient behavior so if your timer is in multiples of seconds
1988
+ and you don't require the first timer exactly one second from now, the
1989
+ use of <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-seconds" title="g_timeout_add_seconds ()"><code class="function">g_timeout_add_seconds()</code></a> is preferred over <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>.
1990
+ </p>
1991
+ <p>
1992
+ This internally creates a main loop source using
1993
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-source-new-seconds" title="g_timeout_source_new_seconds ()"><code class="function">g_timeout_source_new_seconds()</code></a> and attaches it to the main loop context
1994
+ using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>. You can do these steps manually if you need
1995
+ greater control.
1996
+ </p>
1997
+ <div class="variablelist"><table border="0">
1998
+ <col align="left" valign="top">
1999
+ <tbody>
2000
+ <tr>
2001
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2002
+ <td>the priority of the timeout source. Typically this will be in
2003
+ the range between <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><span class="type">G_PRIORITY_DEFAULT</span></a> and <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH:CAPS" title="G_PRIORITY_HIGH"><span class="type">G_PRIORITY_HIGH</span></a>.
2004
+ </td>
2005
+ </tr>
2006
+ <tr>
2007
+ <td><p><span class="term"><em class="parameter"><code>interval</code></em> :</span></p></td>
2008
+ <td>the time between calls to the function, in seconds
2009
+ </td>
2010
+ </tr>
2011
+ <tr>
2012
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
2013
+ <td>function to call
2014
+ </td>
2015
+ </tr>
2016
+ <tr>
2017
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2018
+ <td>data to pass to <em class="parameter"><code>function</code></em>
2019
+ </td>
2020
+ </tr>
2021
+ <tr>
2022
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2023
+ <td>function to call when the timeout is removed, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2024
+ </td>
2025
+ </tr>
2026
+ <tr>
2027
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2028
+ <td> the ID (greater than 0) of the event source.
2029
+
2030
+ </td>
2031
+ </tr>
2032
+ </tbody>
2033
+ </table></div>
2034
+ <p class="since">Since 2.14</p>
2035
+ </div>
2036
+ <hr>
2037
+ <div class="refsect2">
2038
+ <a name="g-idle-source-new"></a><h3>g_idle_source_new ()</h3>
2039
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_idle_source_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2040
+ <p>
2041
+ Creates a new idle source.
2042
+ </p>
2043
+ <p>
2044
+ The source will not initially be associated with any <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
2045
+ and must be added to one with <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a> before it will be
2046
+ executed. Note that the default priority for idle sources is
2047
+ <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS" title="G_PRIORITY_DEFAULT_IDLE"><code class="literal">G_PRIORITY_DEFAULT_IDLE</code></a>, as compared to other sources which
2048
+ have a default priority of <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><code class="literal">G_PRIORITY_DEFAULT</code></a>.
2049
+ </p>
2050
+ <div class="variablelist"><table border="0">
2051
+ <col align="left" valign="top">
2052
+ <tbody><tr>
2053
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2054
+ <td> the newly-created idle source
2055
+ </td>
2056
+ </tr></tbody>
2057
+ </table></div>
2058
+ </div>
2059
+ <hr>
2060
+ <div class="refsect2">
2061
+ <a name="g-idle-add"></a><h3>g_idle_add ()</h3>
2062
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_idle_add (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
2063
+ <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>
2064
+ <p>
2065
+ Adds a function to be called whenever there are no higher priority
2066
+ events pending to the default main loop. The function is given the
2067
+ default idle priority, <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS" title="G_PRIORITY_DEFAULT_IDLE"><span class="type">G_PRIORITY_DEFAULT_IDLE</span></a>. If the function
2068
+ returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> it is automatically removed from the list of event
2069
+ sources and will not be called again.
2070
+ </p>
2071
+ <p>
2072
+ This internally creates a main loop source using <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-source-new" title="g_idle_source_new ()"><code class="function">g_idle_source_new()</code></a>
2073
+ and attaches it to the main loop context using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>.
2074
+ You can do these steps manually if you need greater control.
2075
+ </p>
2076
+ <div class="variablelist"><table border="0">
2077
+ <col align="left" valign="top">
2078
+ <tbody>
2079
+ <tr>
2080
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
2081
+ <td>function to call
2082
+ </td>
2083
+ </tr>
2084
+ <tr>
2085
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2086
+ <td>data to pass to <em class="parameter"><code>function</code></em>.
2087
+ </td>
2088
+ </tr>
2089
+ <tr>
2090
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2091
+ <td> the ID (greater than 0) of the event source.
2092
+ </td>
2093
+ </tr>
2094
+ </tbody>
2095
+ </table></div>
2096
+ </div>
2097
+ <hr>
2098
+ <div class="refsect2">
2099
+ <a name="g-idle-add-full"></a><h3>g_idle_add_full ()</h3>
2100
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_idle_add_full (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
2101
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> function</code></em>,
2102
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
2103
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
2104
+ <p>
2105
+ Adds a function to be called whenever there are no higher priority
2106
+ events pending. If the function returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> it is automatically
2107
+ removed from the list of event sources and will not be called again.
2108
+ </p>
2109
+ <p>
2110
+ This internally creates a main loop source using <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-source-new" title="g_idle_source_new ()"><code class="function">g_idle_source_new()</code></a>
2111
+ and attaches it to the main loop context using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>.
2112
+ You can do these steps manually if you need greater control.
2113
+ </p>
2114
+ <div class="variablelist"><table border="0">
2115
+ <col align="left" valign="top">
2116
+ <tbody>
2117
+ <tr>
2118
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2119
+ <td>the priority of the idle source. Typically this will be in the
2120
+ range between <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS" title="G_PRIORITY_DEFAULT_IDLE"><span class="type">G_PRIORITY_DEFAULT_IDLE</span></a> and <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS" title="G_PRIORITY_HIGH_IDLE"><span class="type">G_PRIORITY_HIGH_IDLE</span></a>.
2121
+ </td>
2122
+ </tr>
2123
+ <tr>
2124
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
2125
+ <td>function to call
2126
+ </td>
2127
+ </tr>
2128
+ <tr>
2129
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2130
+ <td>data to pass to <em class="parameter"><code>function</code></em>
2131
+ </td>
2132
+ </tr>
2133
+ <tr>
2134
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2135
+ <td>function to call when the idle is removed, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2136
+ </td>
2137
+ </tr>
2138
+ <tr>
2139
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2140
+ <td> the ID (greater than 0) of the event source.
2141
+ </td>
2142
+ </tr>
2143
+ </tbody>
2144
+ </table></div>
2145
+ </div>
2146
+ <hr>
2147
+ <div class="refsect2">
2148
+ <a name="g-idle-remove-by-data"></a><h3>g_idle_remove_by_data ()</h3>
2149
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_idle_remove_by_data (<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>
2150
+ <p>
2151
+ Removes the idle function with the given data.
2152
+ </p>
2153
+ <div class="variablelist"><table border="0">
2154
+ <col align="left" valign="top">
2155
+ <tbody>
2156
+ <tr>
2157
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2158
+ <td>the data for the idle source's callback.
2159
+ </td>
2160
+ </tr>
2161
+ <tr>
2162
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2163
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if an idle source was found and removed.
2164
+ </td>
2165
+ </tr>
2166
+ </tbody>
2167
+ </table></div>
2168
+ </div>
2169
+ <hr>
2170
+ <div class="refsect2">
2171
+ <a name="GPid"></a><h3>GPid</h3>
2172
+ <pre class="programlisting">typedef int GPid;
2173
+ </pre>
2174
+ <p>
2175
+ A type which is used to hold a process identification.
2176
+ </p>
2177
+ <p>
2178
+ On UNIX, processes are identified by a process id (an integer),
2179
+ while Windows uses process handles (which are pointers).
2180
+ </p>
2181
+ </div>
2182
+ <hr>
2183
+ <div class="refsect2">
2184
+ <a name="GChildWatchFunc"></a><h3>GChildWatchFunc ()</h3>
2185
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GChildWatchFunc) (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>,
2186
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> status</code></em>,
2187
+ <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>
2188
+ <p>
2189
+ The type of functions to be called when a child exists.
2190
+ </p>
2191
+ <div class="variablelist"><table border="0">
2192
+ <col align="left" valign="top">
2193
+ <tbody>
2194
+ <tr>
2195
+ <td><p><span class="term"><em class="parameter"><code>pid</code></em> :</span></p></td>
2196
+ <td>the process id of the child process
2197
+ </td>
2198
+ </tr>
2199
+ <tr>
2200
+ <td><p><span class="term"><em class="parameter"><code>status</code></em> :</span></p></td>
2201
+ <td>Status information about the child process,
2202
+ see waitpid(2) for more information about this field
2203
+ </td>
2204
+ </tr>
2205
+ <tr>
2206
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2207
+ <td>user data passed to <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-add" title="g_child_watch_add ()"><code class="function">g_child_watch_add()</code></a>
2208
+ </td>
2209
+ </tr>
2210
+ </tbody>
2211
+ </table></div>
2212
+ </div>
2213
+ <hr>
2214
+ <div class="refsect2">
2215
+ <a name="g-child-watch-source-new"></a><h3>g_child_watch_source_new ()</h3>
2216
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_child_watch_source_new (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>);</pre>
2217
+ <p>
2218
+ Creates a new child_watch source.
2219
+ </p>
2220
+ <p>
2221
+ The source will not initially be associated with any <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
2222
+ and must be added to one with <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a> before it will be
2223
+ executed.
2224
+ </p>
2225
+ <p>
2226
+ Note that child watch sources can only be used in conjunction with
2227
+ <code class="literal">g_spawn...</code> when the <a class="link" href="glib-Spawning-Processes.html#G-SPAWN-DO-NOT-REAP-CHILD:CAPS"><code class="literal">G_SPAWN_DO_NOT_REAP_CHILD</code></a>
2228
+ flag is used.
2229
+ </p>
2230
+ <p>
2231
+ Note that on platforms where <a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> must be explicitly closed
2232
+ (see <a class="link" href="glib-Spawning-Processes.html#g-spawn-close-pid" title="g_spawn_close_pid ()"><code class="function">g_spawn_close_pid()</code></a>) <em class="parameter"><code>pid</code></em> must not be closed while the
2233
+ source is still active. Typically, you will want to call
2234
+ <a class="link" href="glib-Spawning-Processes.html#g-spawn-close-pid" title="g_spawn_close_pid ()"><code class="function">g_spawn_close_pid()</code></a> in the callback function for the source.
2235
+ </p>
2236
+ <p>
2237
+ Note further that using <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-source-new" title="g_child_watch_source_new ()"><code class="function">g_child_watch_source_new()</code></a> is not
2238
+ compatible with calling <code class="literal">waitpid(-1)</code> in
2239
+ the application. Calling <code class="function">waitpid()</code> for individual pids will
2240
+ still work fine.
2241
+ </p>
2242
+ <div class="variablelist"><table border="0">
2243
+ <col align="left" valign="top">
2244
+ <tbody>
2245
+ <tr>
2246
+ <td><p><span class="term"><em class="parameter"><code>pid</code></em> :</span></p></td>
2247
+ <td>process to watch. On POSIX the pid of a child process. On
2248
+ Windows a handle for a process (which doesn't have to be a child).
2249
+ </td>
2250
+ </tr>
2251
+ <tr>
2252
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2253
+ <td> the newly-created child watch source
2254
+
2255
+ </td>
2256
+ </tr>
2257
+ </tbody>
2258
+ </table></div>
2259
+ <p class="since">Since 2.4</p>
2260
+ </div>
2261
+ <hr>
2262
+ <div class="refsect2">
2263
+ <a name="g-child-watch-add"></a><h3>g_child_watch_add ()</h3>
2264
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_child_watch_add (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>,
2265
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GChildWatchFunc" title="GChildWatchFunc ()"><span class="type">GChildWatchFunc</span></a> function</code></em>,
2266
+ <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>
2267
+ <p>
2268
+ Sets a function to be called when the child indicated by <em class="parameter"><code>pid</code></em>
2269
+ exits, at a default priority, <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS" title="G_PRIORITY_DEFAULT"><span class="type">G_PRIORITY_DEFAULT</span></a>.
2270
+ </p>
2271
+ <p>
2272
+ If you obtain <em class="parameter"><code>pid</code></em> from <a class="link" href="glib-Spawning-Processes.html#g-spawn-async" title="g_spawn_async ()"><code class="function">g_spawn_async()</code></a> or <a class="link" href="glib-Spawning-Processes.html#g-spawn-async-with-pipes" title="g_spawn_async_with_pipes ()"><code class="function">g_spawn_async_with_pipes()</code></a>
2273
+ you will need to pass <a class="link" href="glib-Spawning-Processes.html#G-SPAWN-DO-NOT-REAP-CHILD:CAPS"><span class="type">G_SPAWN_DO_NOT_REAP_CHILD</span></a> as flag to
2274
+ the spawn function for the child watching to work.
2275
+ </p>
2276
+ <p>
2277
+ Note that on platforms where <a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> must be explicitly closed
2278
+ (see <a class="link" href="glib-Spawning-Processes.html#g-spawn-close-pid" title="g_spawn_close_pid ()"><code class="function">g_spawn_close_pid()</code></a>) <em class="parameter"><code>pid</code></em> must not be closed while the
2279
+ source is still active. Typically, you will want to call
2280
+ <a class="link" href="glib-Spawning-Processes.html#g-spawn-close-pid" title="g_spawn_close_pid ()"><code class="function">g_spawn_close_pid()</code></a> in the callback function for the source.
2281
+ </p>
2282
+ <p>
2283
+ GLib supports only a single callback per process id.
2284
+ </p>
2285
+ <p>
2286
+ This internally creates a main loop source using
2287
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-source-new" title="g_child_watch_source_new ()"><code class="function">g_child_watch_source_new()</code></a> and attaches it to the main loop context
2288
+ using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>. You can do these steps manually if you
2289
+ need greater control.
2290
+ </p>
2291
+ <div class="variablelist"><table border="0">
2292
+ <col align="left" valign="top">
2293
+ <tbody>
2294
+ <tr>
2295
+ <td><p><span class="term"><em class="parameter"><code>pid</code></em> :</span></p></td>
2296
+ <td>process id to watch. On POSIX the pid of a child process. On
2297
+ Windows a handle for a process (which doesn't have to be a child).
2298
+ </td>
2299
+ </tr>
2300
+ <tr>
2301
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
2302
+ <td>function to call
2303
+ </td>
2304
+ </tr>
2305
+ <tr>
2306
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2307
+ <td>data to pass to <em class="parameter"><code>function</code></em>
2308
+ </td>
2309
+ </tr>
2310
+ <tr>
2311
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2312
+ <td> the ID (greater than 0) of the event source.
2313
+
2314
+ </td>
2315
+ </tr>
2316
+ </tbody>
2317
+ </table></div>
2318
+ <p class="since">Since 2.4</p>
2319
+ </div>
2320
+ <hr>
2321
+ <div class="refsect2">
2322
+ <a name="g-child-watch-add-full"></a><h3>g_child_watch_add_full ()</h3>
2323
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_child_watch_add_full (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>,
2324
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> pid</code></em>,
2325
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GChildWatchFunc" title="GChildWatchFunc ()"><span class="type">GChildWatchFunc</span></a> function</code></em>,
2326
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
2327
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
2328
+ <p>
2329
+ Sets a function to be called when the child indicated by <em class="parameter"><code>pid</code></em>
2330
+ exits, at the priority <em class="parameter"><code>priority</code></em>.
2331
+ </p>
2332
+ <p>
2333
+ If you obtain <em class="parameter"><code>pid</code></em> from <a class="link" href="glib-Spawning-Processes.html#g-spawn-async" title="g_spawn_async ()"><code class="function">g_spawn_async()</code></a> or <a class="link" href="glib-Spawning-Processes.html#g-spawn-async-with-pipes" title="g_spawn_async_with_pipes ()"><code class="function">g_spawn_async_with_pipes()</code></a>
2334
+ you will need to pass <a class="link" href="glib-Spawning-Processes.html#G-SPAWN-DO-NOT-REAP-CHILD:CAPS"><span class="type">G_SPAWN_DO_NOT_REAP_CHILD</span></a> as flag to
2335
+ the spawn function for the child watching to work.
2336
+ </p>
2337
+ <p>
2338
+ Note that on platforms where <a class="link" href="glib-The-Main-Event-Loop.html#GPid" title="GPid"><span class="type">GPid</span></a> must be explicitly closed
2339
+ (see <a class="link" href="glib-Spawning-Processes.html#g-spawn-close-pid" title="g_spawn_close_pid ()"><code class="function">g_spawn_close_pid()</code></a>) <em class="parameter"><code>pid</code></em> must not be closed while the
2340
+ source is still active. Typically, you will want to call
2341
+ <a class="link" href="glib-Spawning-Processes.html#g-spawn-close-pid" title="g_spawn_close_pid ()"><code class="function">g_spawn_close_pid()</code></a> in the callback function for the source.
2342
+ </p>
2343
+ <p>
2344
+ GLib supports only a single callback per process id.
2345
+ </p>
2346
+ <p>
2347
+ This internally creates a main loop source using
2348
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-source-new" title="g_child_watch_source_new ()"><code class="function">g_child_watch_source_new()</code></a> and attaches it to the main loop context
2349
+ using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>. You can do these steps manually if you
2350
+ need greater control.
2351
+ </p>
2352
+ <div class="variablelist"><table border="0">
2353
+ <col align="left" valign="top">
2354
+ <tbody>
2355
+ <tr>
2356
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2357
+ <td>the priority of the idle source. Typically this will be in the
2358
+ range between <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS" title="G_PRIORITY_DEFAULT_IDLE"><span class="type">G_PRIORITY_DEFAULT_IDLE</span></a> and <a class="link" href="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS" title="G_PRIORITY_HIGH_IDLE"><span class="type">G_PRIORITY_HIGH_IDLE</span></a>.
2359
+ </td>
2360
+ </tr>
2361
+ <tr>
2362
+ <td><p><span class="term"><em class="parameter"><code>pid</code></em> :</span></p></td>
2363
+ <td>process to watch. On POSIX the pid of a child process. On
2364
+ Windows a handle for a process (which doesn't have to be a child).
2365
+ </td>
2366
+ </tr>
2367
+ <tr>
2368
+ <td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
2369
+ <td>function to call
2370
+ </td>
2371
+ </tr>
2372
+ <tr>
2373
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2374
+ <td>data to pass to <em class="parameter"><code>function</code></em>
2375
+ </td>
2376
+ </tr>
2377
+ <tr>
2378
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
2379
+ <td>function to call when the idle is removed, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
2380
+ </td>
2381
+ </tr>
2382
+ <tr>
2383
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2384
+ <td> the ID (greater than 0) of the event source.
2385
+
2386
+ </td>
2387
+ </tr>
2388
+ </tbody>
2389
+ </table></div>
2390
+ <p class="since">Since 2.4</p>
2391
+ </div>
2392
+ <hr>
2393
+ <div class="refsect2">
2394
+ <a name="GPollFD"></a><h3>GPollFD</h3>
2395
+ <pre class="programlisting">typedef struct {
2396
+ #if defined (G_OS_WIN32) &amp;&amp; GLIB_SIZEOF_VOID_P == 8
2397
+ gint64 fd;
2398
+ #else
2399
+ gint fd;
2400
+ #endif
2401
+ gushort events;
2402
+ gushort revents;
2403
+ } GPollFD;
2404
+ </pre>
2405
+ <div class="variablelist"><table border="0">
2406
+ <col align="left" valign="top">
2407
+ <tbody>
2408
+ <tr>
2409
+ <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a> <em class="structfield"><code><a name="GPollFD.fd"></a>fd</code></em>;</span></p></td>
2410
+ <td>
2411
+ </td>
2412
+ </tr>
2413
+ <tr>
2414
+ <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GPollFD.fd"></a>fd</code></em>;</span></p></td>
2415
+ <td></td>
2416
+ </tr>
2417
+ <tr>
2418
+ <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gushort" title="gushort"><span class="type">gushort</span></a> <em class="structfield"><code><a name="GPollFD.events"></a>events</code></em>;</span></p></td>
2419
+ <td>a bitwise combination from <a class="link" href="glib-IO-Channels.html#GIOCondition" title="enum GIOCondition"><span class="type">GIOCondition</span></a>, specifying which
2420
+ events should be polled for. Typically for reading from a file
2421
+ descriptor you would use <a class="link" href="glib-IO-Channels.html#G-IO-IN:CAPS"><code class="literal">G_IO_IN</code></a> | <a class="link" href="glib-IO-Channels.html#G-IO-HUP:CAPS"><code class="literal">G_IO_HUP</code></a> | <a class="link" href="glib-IO-Channels.html#G-IO-ERR:CAPS"><code class="literal">G_IO_ERR</code></a>, and
2422
+ for writing you would use <a class="link" href="glib-IO-Channels.html#G-IO-OUT:CAPS"><code class="literal">G_IO_OUT</code></a> | <a class="link" href="glib-IO-Channels.html#G-IO-ERR:CAPS"><code class="literal">G_IO_ERR</code></a>.
2423
+ </td>
2424
+ </tr>
2425
+ <tr>
2426
+ <td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gushort" title="gushort"><span class="type">gushort</span></a> <em class="structfield"><code><a name="GPollFD.revents"></a>revents</code></em>;</span></p></td>
2427
+ <td>a bitwise combination of flags from <a class="link" href="glib-IO-Channels.html#GIOCondition" title="enum GIOCondition"><span class="type">GIOCondition</span></a>, returned
2428
+ from the <code class="function">poll()</code> function to indicate which events occurred.
2429
+ </td>
2430
+ </tr>
2431
+ </tbody>
2432
+ </table></div>
2433
+ </div>
2434
+ <hr>
2435
+ <div class="refsect2">
2436
+ <a name="g-poll"></a><h3>g_poll ()</h3>
2437
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_poll (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fds</code></em>,
2438
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> nfds</code></em>,
2439
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> timeout</code></em>);</pre>
2440
+ <p>
2441
+ Polls <em class="parameter"><code>fds</code></em>, as with the <code class="function">poll()</code> system call, but portably. (On
2442
+ systems that don't have <code class="function">poll()</code>, it is emulated using <code class="function">select()</code>.)
2443
+ This is used internally by <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>, but it can be called
2444
+ directly if you need to block until a file descriptor is ready, but
2445
+ don't want to run the full main loop.
2446
+ </p>
2447
+ <p>
2448
+ Each element of <em class="parameter"><code>fds</code></em> is a <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> describing a single file
2449
+ descriptor to poll. The <code class="literal">fd</code> field indicates the file descriptor,
2450
+ and the <code class="literal">events</code> field indicates the events to poll for. On return,
2451
+ the <code class="literal">revents</code> fields will be filled with the events that actually
2452
+ occurred.
2453
+ </p>
2454
+ <p>
2455
+ On POSIX systems, the file descriptors in <em class="parameter"><code>fds</code></em> can be any sort of
2456
+ file descriptor, but the situation is much more complicated on
2457
+ Windows. If you need to use <a class="link" href="glib-The-Main-Event-Loop.html#g-poll" title="g_poll ()"><code class="function">g_poll()</code></a> in code that has to run on
2458
+ Windows, the easiest solution is to construct all of your
2459
+ <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a>s with <code class="function">g_io_channel_win32_make_pollfd()</code>.
2460
+ </p>
2461
+ <div class="variablelist"><table border="0">
2462
+ <col align="left" valign="top">
2463
+ <tbody>
2464
+ <tr>
2465
+ <td><p><span class="term"><em class="parameter"><code>fds</code></em> :</span></p></td>
2466
+ <td>file descriptors to poll
2467
+ </td>
2468
+ </tr>
2469
+ <tr>
2470
+ <td><p><span class="term"><em class="parameter"><code>nfds</code></em> :</span></p></td>
2471
+ <td>the number of file descriptors in <em class="parameter"><code>fds</code></em>
2472
+ </td>
2473
+ </tr>
2474
+ <tr>
2475
+ <td><p><span class="term"><em class="parameter"><code>timeout</code></em> :</span></p></td>
2476
+ <td>amount of time to wait, in milliseconds, or -1 to wait forever
2477
+ </td>
2478
+ </tr>
2479
+ <tr>
2480
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2481
+ <td> the number of entries in <em class="parameter"><code>fds</code></em> whose <code class="literal">revents</code> fields
2482
+ were filled in, or 0 if the operation timed out, or -1 on error or
2483
+ if the call was interrupted.
2484
+
2485
+ </td>
2486
+ </tr>
2487
+ </tbody>
2488
+ </table></div>
2489
+ <p class="since">Since 2.20</p>
2490
+ </div>
2491
+ <hr>
2492
+ <div class="refsect2">
2493
+ <a name="G-POLLFD-FORMAT:CAPS"></a><h3>G_POLLFD_FORMAT</h3>
2494
+ <pre class="programlisting">#define G_POLLFD_FORMAT</pre>
2495
+ <p>
2496
+ </p>
2497
+ </div>
2498
+ <hr>
2499
+ <div class="refsect2">
2500
+ <a name="GSource"></a><h3>GSource</h3>
2501
+ <pre class="programlisting">typedef struct {
2502
+ } GSource;
2503
+ </pre>
2504
+ <p>
2505
+ The <span class="structname">GSource</span> struct is an opaque data type
2506
+ representing an event source.
2507
+ </p>
2508
+ </div>
2509
+ <hr>
2510
+ <div class="refsect2">
2511
+ <a name="GSourceDummyMarshal"></a><h3>GSourceDummyMarshal ()</h3>
2512
+ <pre class="programlisting"><span class="returnvalue">void</span> (*GSourceDummyMarshal) (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
2513
+ <p>
2514
+ This is just a placeholder for <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosureMarshal"><span class="type">GClosureMarshal</span></a>, which cannot be used here
2515
+ for dependency reasons.
2516
+ </p>
2517
+ </div>
2518
+ <hr>
2519
+ <div class="refsect2">
2520
+ <a name="GSourceFuncs"></a><h3>GSourceFuncs</h3>
2521
+ <pre class="programlisting">typedef struct {
2522
+ gboolean (*prepare) (GSource *source,
2523
+ gint *timeout_);
2524
+ gboolean (*check) (GSource *source);
2525
+ gboolean (*dispatch) (GSource *source,
2526
+ GSourceFunc callback,
2527
+ gpointer user_data);
2528
+ void (*finalize) (GSource *source); /* Can be NULL */
2529
+
2530
+ /* For use by g_source_set_closure */
2531
+ GSourceFunc closure_callback;
2532
+ GSourceDummyMarshal closure_marshal; /* Really is of type GClosureMarshal */
2533
+ } GSourceFuncs;
2534
+ </pre>
2535
+ <p>
2536
+ The <span class="structname">GSourceFuncs</span> struct contains a table of
2537
+ functions used to handle event sources in a generic manner.
2538
+ </p>
2539
+ <p>
2540
+ For idle sources, the prepare and check functions always return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>
2541
+ to indicate that the source is always ready to be processed. The prepare
2542
+ function also returns a timeout value of 0 to ensure that the <code class="function">poll()</code> call
2543
+ doesn't block (since that would be time wasted which could have been spent
2544
+ running the idle function).
2545
+ </p>
2546
+ <p>
2547
+ For timeout sources, the prepare and check functions both return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>
2548
+ if the timeout interval has expired. The prepare function also returns
2549
+ a timeout value to ensure that the <code class="function">poll()</code> call doesn't block too long
2550
+ and miss the next timeout.
2551
+ </p>
2552
+ <p>
2553
+ For file descriptor sources, the prepare function typically returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>,
2554
+ since it must wait until <code class="function">poll()</code> has been called before it knows whether
2555
+ any events need to be processed. It sets the returned timeout to -1 to
2556
+ indicate that it doesn't mind how long the <code class="function">poll()</code> call blocks. In the
2557
+ check function, it tests the results of the <code class="function">poll()</code> call to see if the
2558
+ required condition has been met, and returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if so.
2559
+ </p>
2560
+ <div class="variablelist"><table border="0">
2561
+ <col align="left" valign="top">
2562
+ <tbody>
2563
+ <tr>
2564
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceFuncs.prepare"></a>prepare</code></em> ()</span></p></td>
2565
+ <td>Called before all the file descriptors are polled. If the
2566
+ source can determine that it is ready here (without waiting for the
2567
+ results of the <code class="function">poll()</code> call) it should return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>. It can also return
2568
+ a <em class="parameter"><code>timeout_</code></em> value which should be the maximum timeout (in milliseconds)
2569
+ which should be passed to the <code class="function">poll()</code> call. The actual timeout used will
2570
+ be -1 if all sources returned -1, or it will be the minimum of all the
2571
+ <em class="parameter"><code>timeout_</code></em> values returned which were &gt;= 0.
2572
+ </td>
2573
+ </tr>
2574
+ <tr>
2575
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceFuncs.check"></a>check</code></em> ()</span></p></td>
2576
+ <td>Called after all the file descriptors are polled. The source
2577
+ should return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if it is ready to be dispatched. Note that some
2578
+ time may have passed since the previous prepare function was called,
2579
+ so the source should be checked again here.
2580
+ </td>
2581
+ </tr>
2582
+ <tr>
2583
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceFuncs.dispatch"></a>dispatch</code></em> ()</span></p></td>
2584
+ <td>Called to dispatch the event source, after it has returned
2585
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> in either its <em class="parameter"><code>prepare</code></em> or its <em class="parameter"><code>check</code></em> function. The <em class="parameter"><code>dispatch</code></em>
2586
+ function is passed in a callback function and data. The callback
2587
+ function may be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the source was never connected to a callback
2588
+ using <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-callback" title="g_source_set_callback ()"><code class="function">g_source_set_callback()</code></a>. The <em class="parameter"><code>dispatch</code></em> function should call the
2589
+ callback function with <em class="parameter"><code>user_data</code></em> and whatever additional parameters
2590
+ are needed for this type of event source.
2591
+ </td>
2592
+ </tr>
2593
+ <tr>
2594
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceFuncs.finalize"></a>finalize</code></em> ()</span></p></td>
2595
+ <td>Called when the source is finalized.
2596
+ </td>
2597
+ </tr>
2598
+ <tr>
2599
+ <td><p><span class="term"><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> <em class="structfield"><code><a name="GSourceFuncs.closure-callback"></a>closure_callback</code></em>;</span></p></td>
2600
+ <td></td>
2601
+ </tr>
2602
+ <tr>
2603
+ <td><p><span class="term"><a class="link" href="glib-The-Main-Event-Loop.html#GSourceDummyMarshal" title="GSourceDummyMarshal ()"><span class="type">GSourceDummyMarshal</span></a> <em class="structfield"><code><a name="GSourceFuncs.closure-marshal"></a>closure_marshal</code></em>;</span></p></td>
2604
+ <td></td>
2605
+ </tr>
2606
+ </tbody>
2607
+ </table></div>
2608
+ </div>
2609
+ <hr>
2610
+ <div class="refsect2">
2611
+ <a name="GSourceCallbackFuncs"></a><h3>GSourceCallbackFuncs</h3>
2612
+ <pre class="programlisting">typedef struct {
2613
+ void (*ref) (gpointer cb_data);
2614
+ void (*unref) (gpointer cb_data);
2615
+ void (*get) (gpointer cb_data,
2616
+ GSource *source,
2617
+ GSourceFunc *func,
2618
+ gpointer *data);
2619
+ } GSourceCallbackFuncs;
2620
+ </pre>
2621
+ <p>
2622
+ The <span class="structname">GSourceCallbackFuncs</span> struct contains
2623
+ functions for managing callback objects.
2624
+ </p>
2625
+ <div class="variablelist"><table border="0">
2626
+ <col align="left" valign="top">
2627
+ <tbody>
2628
+ <tr>
2629
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceCallbackFuncs.ref"></a>ref</code></em> ()</span></p></td>
2630
+ <td>Called when a reference is added to the callback object
2631
+ </td>
2632
+ </tr>
2633
+ <tr>
2634
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceCallbackFuncs.unref"></a>unref</code></em> ()</span></p></td>
2635
+ <td>Called when a reference to the callback object is dropped
2636
+ </td>
2637
+ </tr>
2638
+ <tr>
2639
+ <td><p><span class="term"><em class="structfield"><code><a name="GSourceCallbackFuncs.get"></a>get</code></em> ()</span></p></td>
2640
+ <td>Called to extract the callback function and data from the
2641
+ callback object.
2642
+ </td>
2643
+ </tr>
2644
+ </tbody>
2645
+ </table></div>
2646
+ </div>
2647
+ <hr>
2648
+ <div class="refsect2">
2649
+ <a name="g-source-new"></a><h3>g_source_new ()</h3>
2650
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_source_new (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *source_funcs</code></em>,
2651
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> struct_size</code></em>);</pre>
2652
+ <p>
2653
+ Creates a new <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> structure. The size is specified to
2654
+ allow creating structures derived from <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> that contain
2655
+ additional data. The size passed in must be at least
2656
+ <code class="literal">sizeof (GSource)</code>.
2657
+ </p>
2658
+ <p>
2659
+ The source will not initially be associated with any <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>
2660
+ and must be added to one with <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a> before it will be
2661
+ executed.
2662
+ </p>
2663
+ <div class="variablelist"><table border="0">
2664
+ <col align="left" valign="top">
2665
+ <tbody>
2666
+ <tr>
2667
+ <td><p><span class="term"><em class="parameter"><code>source_funcs</code></em> :</span></p></td>
2668
+ <td>structure containing functions that implement
2669
+ the sources behavior.
2670
+ </td>
2671
+ </tr>
2672
+ <tr>
2673
+ <td><p><span class="term"><em class="parameter"><code>struct_size</code></em> :</span></p></td>
2674
+ <td>size of the <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> structure to create.
2675
+ </td>
2676
+ </tr>
2677
+ <tr>
2678
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2679
+ <td> the newly-created <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>.
2680
+ </td>
2681
+ </tr>
2682
+ </tbody>
2683
+ </table></div>
2684
+ </div>
2685
+ <hr>
2686
+ <div class="refsect2">
2687
+ <a name="g-source-ref"></a><h3>g_source_ref ()</h3>
2688
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="returnvalue">GSource</span></a> * g_source_ref (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
2689
+ <p>
2690
+ Increases the reference count on a source by one.
2691
+ </p>
2692
+ <div class="variablelist"><table border="0">
2693
+ <col align="left" valign="top">
2694
+ <tbody>
2695
+ <tr>
2696
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2697
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2698
+ </td>
2699
+ </tr>
2700
+ <tr>
2701
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2702
+ <td> <em class="parameter"><code>source</code></em>
2703
+ </td>
2704
+ </tr>
2705
+ </tbody>
2706
+ </table></div>
2707
+ </div>
2708
+ <hr>
2709
+ <div class="refsect2">
2710
+ <a name="g-source-unref"></a><h3>g_source_unref ()</h3>
2711
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_unref (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
2712
+ <p>
2713
+ Decreases the reference count of a source by one. If the
2714
+ resulting reference count is zero the source and associated
2715
+ memory will be destroyed.
2716
+ </p>
2717
+ <div class="variablelist"><table border="0">
2718
+ <col align="left" valign="top">
2719
+ <tbody><tr>
2720
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2721
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2722
+ </td>
2723
+ </tr></tbody>
2724
+ </table></div>
2725
+ </div>
2726
+ <hr>
2727
+ <div class="refsect2">
2728
+ <a name="g-source-set-funcs"></a><h3>g_source_set_funcs ()</h3>
2729
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_funcs (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
2730
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *funcs</code></em>);</pre>
2731
+ <p>
2732
+ Sets the source functions (can be used to override
2733
+ default implementations) of an unattached source.
2734
+ </p>
2735
+ <div class="variablelist"><table border="0">
2736
+ <col align="left" valign="top">
2737
+ <tbody>
2738
+ <tr>
2739
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2740
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2741
+ </td>
2742
+ </tr>
2743
+ <tr>
2744
+ <td><p><span class="term"><em class="parameter"><code>funcs</code></em> :</span></p></td>
2745
+ <td>the new <a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a>
2746
+ </td>
2747
+ </tr>
2748
+ </tbody>
2749
+ </table></div>
2750
+ <p class="since">Since 2.12</p>
2751
+ </div>
2752
+ <hr>
2753
+ <div class="refsect2">
2754
+ <a name="g-source-attach"></a><h3>g_source_attach ()</h3>
2755
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_source_attach (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
2756
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
2757
+ <p>
2758
+ Adds a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> to a <em class="parameter"><code>context</code></em> so that it will be executed within
2759
+ that context. Remove it by calling <a class="link" href="glib-The-Main-Event-Loop.html#g-source-destroy" title="g_source_destroy ()"><code class="function">g_source_destroy()</code></a>.
2760
+ </p>
2761
+ <div class="variablelist"><table border="0">
2762
+ <col align="left" valign="top">
2763
+ <tbody>
2764
+ <tr>
2765
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2766
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2767
+ </td>
2768
+ </tr>
2769
+ <tr>
2770
+ <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
2771
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> (if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the default context will be used)
2772
+ </td>
2773
+ </tr>
2774
+ <tr>
2775
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2776
+ <td> the ID (greater than 0) for the source within the
2777
+ <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>.
2778
+ </td>
2779
+ </tr>
2780
+ </tbody>
2781
+ </table></div>
2782
+ </div>
2783
+ <hr>
2784
+ <div class="refsect2">
2785
+ <a name="g-source-destroy"></a><h3>g_source_destroy ()</h3>
2786
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_destroy (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
2787
+ <p>
2788
+ Removes a source from its <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a>, if any, and mark it as
2789
+ destroyed. The source cannot be subsequently added to another
2790
+ context.
2791
+ </p>
2792
+ <div class="variablelist"><table border="0">
2793
+ <col align="left" valign="top">
2794
+ <tbody><tr>
2795
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2796
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2797
+ </td>
2798
+ </tr></tbody>
2799
+ </table></div>
2800
+ </div>
2801
+ <hr>
2802
+ <div class="refsect2">
2803
+ <a name="g-source-is-destroyed"></a><h3>g_source_is_destroyed ()</h3>
2804
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_source_is_destroyed (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
2805
+ <p>
2806
+ Returns whether <em class="parameter"><code>source</code></em> has been destroyed.
2807
+ </p>
2808
+ <p>
2809
+ This is important when you operate upon your objects
2810
+ from within idle handlers, but may have freed the object
2811
+ before the dispatch of your idle handler.
2812
+ </p>
2813
+ <p>
2814
+ </p>
2815
+ <div class="informalexample">
2816
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2817
+ <tbody>
2818
+ <tr>
2819
+ <td class="listing_lines" align="right"><pre>1
2820
+ 2
2821
+ 3
2822
+ 4
2823
+ 5
2824
+ 6
2825
+ 7
2826
+ 8
2827
+ 9
2828
+ 10
2829
+ 11
2830
+ 12
2831
+ 13
2832
+ 14
2833
+ 15
2834
+ 16
2835
+ 17
2836
+ 18
2837
+ 19
2838
+ 20
2839
+ 21
2840
+ 22
2841
+ 23
2842
+ 24
2843
+ 25
2844
+ 26
2845
+ 27
2846
+ 28
2847
+ 29</pre></td>
2848
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="glib-Basic-Types.html#gboolean">gboolean</a> </span>
2849
+ <span class="function">idle_callback</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
2850
+ <span class="cbracket">{</span>
2851
+ <span class="normal"> </span><span class="usertype">SomeWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
2852
+ <span class="normal"> </span>
2853
+ <span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gdk/unstable/gdk3-Threads.html#GDK-THREADS-ENTER:CAPS">GDK_THREADS_ENTER</a></span><span class="normal"> </span><span class="symbol">();</span>
2854
+ <span class="normal"> </span><span class="comment">/* do stuff with self */</span>
2855
+ <span class="normal"> self</span><span class="symbol">-&gt;</span><span class="normal">idle_id </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span>
2856
+ <span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gdk/unstable/gdk3-Threads.html#GDK-THREADS-LEAVE:CAPS">GDK_THREADS_LEAVE</a></span><span class="normal"> </span><span class="symbol">();</span>
2857
+ <span class="normal"> </span>
2858
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
2859
+ <span class="cbracket">}</span>
2860
+ <span class="normal"> </span>
2861
+ <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span>
2862
+ <span class="function">some_widget_do_stuff_later</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">SomeWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self</span><span class="symbol">)</span>
2863
+ <span class="cbracket">{</span>
2864
+ <span class="normal"> self</span><span class="symbol">-&gt;</span><span class="normal">idle_id </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-idle-add">g_idle_add</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">idle_callback</span><span class="symbol">,</span><span class="normal"> self</span><span class="symbol">);</span>
2865
+ <span class="cbracket">}</span>
2866
+ <span class="normal"> </span>
2867
+ <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span>
2868
+ <span class="function">some_widget_finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">)</span>
2869
+ <span class="cbracket">{</span>
2870
+ <span class="normal"> </span><span class="usertype">SomeWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self </span><span class="symbol">=</span><span class="normal"> </span><span class="function">SOME_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
2871
+ <span class="normal"> </span>
2872
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">self</span><span class="symbol">-&gt;</span><span class="normal">idle_id</span><span class="symbol">)</span>
2873
+ <span class="normal"> </span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-source-remove">g_source_remove</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">self</span><span class="symbol">-&gt;</span><span class="normal">idle_id</span><span class="symbol">);</span>
2874
+ <span class="normal"> </span>
2875
+ <span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">parent_class</span><span class="symbol">)-&gt;</span><span class="function">finalize</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
2876
+ <span class="cbracket">}</span></pre></td>
2877
+ </tr>
2878
+ </tbody>
2879
+ </table>
2880
+ </div>
2881
+
2882
+ <p>
2883
+ </p>
2884
+ <p>
2885
+ This will fail in a multi-threaded application if the
2886
+ widget is destroyed before the idle handler fires due
2887
+ to the use after free in the callback. A solution, to
2888
+ this particular problem, is to check to if the source
2889
+ has already been destroy within the callback.
2890
+ </p>
2891
+ <p>
2892
+ </p>
2893
+ <div class="informalexample">
2894
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
2895
+ <tbody>
2896
+ <tr>
2897
+ <td class="listing_lines" align="right"><pre>1
2898
+ 2
2899
+ 3
2900
+ 4
2901
+ 5
2902
+ 6
2903
+ 7
2904
+ 8
2905
+ 9
2906
+ 10
2907
+ 11
2908
+ 12
2909
+ 13
2910
+ 14</pre></td>
2911
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="glib-Basic-Types.html#gboolean">gboolean</a> </span>
2912
+ <span class="function">idle_callback</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
2913
+ <span class="cbracket">{</span>
2914
+ <span class="normal"> </span><span class="usertype">SomeWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
2915
+ <span class="normal"> </span>
2916
+ <span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gdk/unstable/gdk3-Threads.html#GDK-THREADS-ENTER:CAPS">GDK_THREADS_ENTER</a></span><span class="normal"> </span><span class="symbol">();</span>
2917
+ <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-source-is-destroyed">g_source_is_destroyed</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="glib-The-Main-Event-Loop.html#g-main-current-source">g_main_current_source</a></span><span class="normal"> </span><span class="symbol">()))</span>
2918
+ <span class="normal"> </span><span class="cbracket">{</span>
2919
+ <span class="normal"> </span><span class="comment">/* do stuff with self */</span>
2920
+ <span class="normal"> </span><span class="cbracket">}</span>
2921
+ <span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gdk/unstable/gdk3-Threads.html#GDK-THREADS-LEAVE:CAPS">GDK_THREADS_LEAVE</a></span><span class="normal"> </span><span class="symbol">();</span>
2922
+ <span class="normal"> </span>
2923
+ <span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
2924
+ <span class="cbracket">}</span></pre></td>
2925
+ </tr>
2926
+ </tbody>
2927
+ </table>
2928
+ </div>
2929
+
2930
+ <p>
2931
+ </p>
2932
+ <div class="variablelist"><table border="0">
2933
+ <col align="left" valign="top">
2934
+ <tbody>
2935
+ <tr>
2936
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2937
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2938
+ </td>
2939
+ </tr>
2940
+ <tr>
2941
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2942
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the source has been destroyed
2943
+
2944
+ </td>
2945
+ </tr>
2946
+ </tbody>
2947
+ </table></div>
2948
+ <p class="since">Since 2.12</p>
2949
+ </div>
2950
+ <hr>
2951
+ <div class="refsect2">
2952
+ <a name="g-source-set-priority"></a><h3>g_source_set_priority ()</h3>
2953
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_priority (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
2954
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> priority</code></em>);</pre>
2955
+ <p>
2956
+ Sets the priority of a source. While the main loop is being
2957
+ run, a source will be dispatched if it is ready to be dispatched and no sources
2958
+ at a higher (numerically smaller) priority are ready to be dispatched.
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>source</code></em> :</span></p></td>
2965
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2966
+ </td>
2967
+ </tr>
2968
+ <tr>
2969
+ <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
2970
+ <td>the new priority.
2971
+ </td>
2972
+ </tr>
2973
+ </tbody>
2974
+ </table></div>
2975
+ </div>
2976
+ <hr>
2977
+ <div class="refsect2">
2978
+ <a name="g-source-get-priority"></a><h3>g_source_get_priority ()</h3>
2979
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_source_get_priority (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
2980
+ <p>
2981
+ Gets the priority of a source.
2982
+ </p>
2983
+ <div class="variablelist"><table border="0">
2984
+ <col align="left" valign="top">
2985
+ <tbody>
2986
+ <tr>
2987
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
2988
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
2989
+ </td>
2990
+ </tr>
2991
+ <tr>
2992
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2993
+ <td> the priority of the source
2994
+ </td>
2995
+ </tr>
2996
+ </tbody>
2997
+ </table></div>
2998
+ </div>
2999
+ <hr>
3000
+ <div class="refsect2">
3001
+ <a name="g-source-set-can-recurse"></a><h3>g_source_set_can_recurse ()</h3>
3002
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_can_recurse (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3003
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> can_recurse</code></em>);</pre>
3004
+ <p>
3005
+ Sets whether a source can be called recursively. If <em class="parameter"><code>can_recurse</code></em> is
3006
+ <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, then while the source is being dispatched then this source
3007
+ will be processed normally. Otherwise, all processing of this
3008
+ source is blocked until the dispatch function returns.
3009
+ </p>
3010
+ <div class="variablelist"><table border="0">
3011
+ <col align="left" valign="top">
3012
+ <tbody>
3013
+ <tr>
3014
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3015
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3016
+ </td>
3017
+ </tr>
3018
+ <tr>
3019
+ <td><p><span class="term"><em class="parameter"><code>can_recurse</code></em> :</span></p></td>
3020
+ <td>whether recursion is allowed for this source
3021
+ </td>
3022
+ </tr>
3023
+ </tbody>
3024
+ </table></div>
3025
+ </div>
3026
+ <hr>
3027
+ <div class="refsect2">
3028
+ <a name="g-source-get-can-recurse"></a><h3>g_source_get_can_recurse ()</h3>
3029
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_source_get_can_recurse (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
3030
+ <p>
3031
+ Checks whether a source is allowed to be called recursively.
3032
+ see <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-can-recurse" title="g_source_set_can_recurse ()"><code class="function">g_source_set_can_recurse()</code></a>.
3033
+ </p>
3034
+ <div class="variablelist"><table border="0">
3035
+ <col align="left" valign="top">
3036
+ <tbody>
3037
+ <tr>
3038
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3039
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3040
+ </td>
3041
+ </tr>
3042
+ <tr>
3043
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3044
+ <td> whether recursion is allowed.
3045
+ </td>
3046
+ </tr>
3047
+ </tbody>
3048
+ </table></div>
3049
+ </div>
3050
+ <hr>
3051
+ <div class="refsect2">
3052
+ <a name="g-source-get-id"></a><h3>g_source_get_id ()</h3>
3053
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> g_source_get_id (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
3054
+ <p>
3055
+ Returns the numeric ID for a particular source. The ID of a source
3056
+ is a positive integer which is unique within a particular main loop
3057
+ context. The reverse
3058
+ mapping from ID to source is done by <a class="link" href="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-id" title="g_main_context_find_source_by_id ()"><code class="function">g_main_context_find_source_by_id()</code></a>.
3059
+ </p>
3060
+ <div class="variablelist"><table border="0">
3061
+ <col align="left" valign="top">
3062
+ <tbody>
3063
+ <tr>
3064
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3065
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3066
+ </td>
3067
+ </tr>
3068
+ <tr>
3069
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3070
+ <td> the ID (greater than 0) for the source
3071
+ </td>
3072
+ </tr>
3073
+ </tbody>
3074
+ </table></div>
3075
+ </div>
3076
+ <hr>
3077
+ <div class="refsect2">
3078
+ <a name="g-source-get-name"></a><h3>g_source_get_name ()</h3>
3079
+ <pre class="programlisting">const <span class="returnvalue">char</span> * g_source_get_name (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
3080
+ <p>
3081
+ Gets a name for the source, used in debugging and profiling.
3082
+ The name may be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><span class="type">NULL</span></a> if it has never been set with
3083
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-name" title="g_source_set_name ()"><code class="function">g_source_set_name()</code></a>.
3084
+ </p>
3085
+ <div class="variablelist"><table border="0">
3086
+ <col align="left" valign="top">
3087
+ <tbody>
3088
+ <tr>
3089
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3090
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3091
+ </td>
3092
+ </tr>
3093
+ <tr>
3094
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3095
+ <td> the name of the source
3096
+ </td>
3097
+ </tr>
3098
+ </tbody>
3099
+ </table></div>
3100
+ <p class="since">Since 2.26</p>
3101
+ </div>
3102
+ <hr>
3103
+ <div class="refsect2">
3104
+ <a name="g-source-set-name"></a><h3>g_source_set_name ()</h3>
3105
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_name (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3106
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
3107
+ <p>
3108
+ Sets a name for the source, used in debugging and profiling.
3109
+ The name defaults to <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><span class="type">NULL</span></a>.
3110
+ </p>
3111
+ <p>
3112
+ The source name should describe in a human-readable way
3113
+ what the source does. For example, "X11 event queue"
3114
+ or "GTK+ repaint idle handler" or whatever it is.
3115
+ </p>
3116
+ <p>
3117
+ It is permitted to call this function multiple times, but is not
3118
+ recommended due to the potential performance impact. For example,
3119
+ one could change the name in the "check" function of a <a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a>
3120
+ to include details like the event type in the source name.
3121
+ </p>
3122
+ <div class="variablelist"><table border="0">
3123
+ <col align="left" valign="top">
3124
+ <tbody>
3125
+ <tr>
3126
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3127
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3128
+ </td>
3129
+ </tr>
3130
+ <tr>
3131
+ <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
3132
+ <td>debug name for the source
3133
+ </td>
3134
+ </tr>
3135
+ </tbody>
3136
+ </table></div>
3137
+ <p class="since">Since 2.26</p>
3138
+ </div>
3139
+ <hr>
3140
+ <div class="refsect2">
3141
+ <a name="g-source-set-name-by-id"></a><h3>g_source_set_name_by_id ()</h3>
3142
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_name_by_id (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> tag</code></em>,
3143
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
3144
+ <p>
3145
+ Sets the name of a source using its ID.
3146
+ </p>
3147
+ <p>
3148
+ This is a convenience utility to set source names from the return
3149
+ value of <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add" title="g_idle_add ()"><code class="function">g_idle_add()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>, etc.
3150
+ </p>
3151
+ <div class="variablelist"><table border="0">
3152
+ <col align="left" valign="top">
3153
+ <tbody>
3154
+ <tr>
3155
+ <td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
3156
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> ID
3157
+ </td>
3158
+ </tr>
3159
+ <tr>
3160
+ <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
3161
+ <td>debug name for the source
3162
+ </td>
3163
+ </tr>
3164
+ </tbody>
3165
+ </table></div>
3166
+ <p class="since">Since 2.26</p>
3167
+ </div>
3168
+ <hr>
3169
+ <div class="refsect2">
3170
+ <a name="g-source-get-context"></a><h3>g_source_get_context ()</h3>
3171
+ <pre class="programlisting"><a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="returnvalue">GMainContext</span></a> * g_source_get_context (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>);</pre>
3172
+ <p>
3173
+ Gets the <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> with which the source is associated.
3174
+ Calling this function on a destroyed source is an error.
3175
+ </p>
3176
+ <div class="variablelist"><table border="0">
3177
+ <col align="left" valign="top">
3178
+ <tbody>
3179
+ <tr>
3180
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3181
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3182
+ </td>
3183
+ </tr>
3184
+ <tr>
3185
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3186
+ <td> the <a class="link" href="glib-The-Main-Event-Loop.html#GMainContext" title="GMainContext"><span class="type">GMainContext</span></a> with which the source is associated,
3187
+ or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the context has not yet been added
3188
+ to a source.
3189
+ </td>
3190
+ </tr>
3191
+ </tbody>
3192
+ </table></div>
3193
+ </div>
3194
+ <hr>
3195
+ <div class="refsect2">
3196
+ <a name="g-source-set-callback"></a><h3>g_source_set_callback ()</h3>
3197
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_callback (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3198
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFunc" title="GSourceFunc ()"><span class="type">GSourceFunc</span></a> func</code></em>,
3199
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> data</code></em>,
3200
+ <em class="parameter"><code><a class="link" href="glib-Datasets.html#GDestroyNotify" title="GDestroyNotify ()"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
3201
+ <p>
3202
+ Sets the callback function for a source. The callback for a source is
3203
+ called from the source's dispatch function.
3204
+ </p>
3205
+ <p>
3206
+ The exact type of <em class="parameter"><code>func</code></em> depends on the type of source; ie. you
3207
+ should not count on <em class="parameter"><code>func</code></em> being called with <em class="parameter"><code>data</code></em> as its first
3208
+ parameter.
3209
+ </p>
3210
+ <p>
3211
+ Typically, you won't use this function. Instead use functions specific
3212
+ to the type of source you are using.
3213
+ </p>
3214
+ <div class="variablelist"><table border="0">
3215
+ <col align="left" valign="top">
3216
+ <tbody>
3217
+ <tr>
3218
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3219
+ <td>the source
3220
+ </td>
3221
+ </tr>
3222
+ <tr>
3223
+ <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
3224
+ <td>a callback function
3225
+ </td>
3226
+ </tr>
3227
+ <tr>
3228
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
3229
+ <td>the data to pass to callback function
3230
+ </td>
3231
+ </tr>
3232
+ <tr>
3233
+ <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
3234
+ <td>a function to call when <em class="parameter"><code>data</code></em> is no longer in use, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
3235
+ </td>
3236
+ </tr>
3237
+ </tbody>
3238
+ </table></div>
3239
+ </div>
3240
+ <hr>
3241
+ <div class="refsect2">
3242
+ <a name="GSourceFunc"></a><h3>GSourceFunc ()</h3>
3243
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> (*GSourceFunc) (<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>
3244
+ <p>
3245
+ Specifies the type of function passed to <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-full" title="g_timeout_add_full ()"><code class="function">g_timeout_add_full()</code></a>,
3246
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add" title="g_idle_add ()"><code class="function">g_idle_add()</code></a>, and <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add-full" title="g_idle_add_full ()"><code class="function">g_idle_add_full()</code></a>.
3247
+ </p>
3248
+ <div class="variablelist"><table border="0">
3249
+ <col align="left" valign="top">
3250
+ <tbody>
3251
+ <tr>
3252
+ <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
3253
+ <td>data passed to the function, set when the source was created with one
3254
+ of the above functions.
3255
+ </td>
3256
+ </tr>
3257
+ <tr>
3258
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3259
+ <td>it should return <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if the source should be removed.
3260
+ </td>
3261
+ </tr>
3262
+ </tbody>
3263
+ </table></div>
3264
+ </div>
3265
+ <hr>
3266
+ <div class="refsect2">
3267
+ <a name="g-source-set-callback-indirect"></a><h3>g_source_set_callback_indirect ()</h3>
3268
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_set_callback_indirect (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3269
+ <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="type">gpointer</span></a> callback_data</code></em>,
3270
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceCallbackFuncs" title="GSourceCallbackFuncs"><span class="type">GSourceCallbackFuncs</span></a> *callback_funcs</code></em>);</pre>
3271
+ <p>
3272
+ Sets the callback function storing the data as a refcounted callback
3273
+ "object". This is used internally. Note that calling
3274
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-source-set-callback-indirect" title="g_source_set_callback_indirect ()"><code class="function">g_source_set_callback_indirect()</code></a> assumes
3275
+ an initial reference count on <em class="parameter"><code>callback_data</code></em>, and thus
3276
+ <em class="parameter"><code>callback_funcs-&gt;unref</code></em> will eventually be called once more
3277
+ than <em class="parameter"><code>callback_funcs-&gt;ref</code></em>.
3278
+ </p>
3279
+ <div class="variablelist"><table border="0">
3280
+ <col align="left" valign="top">
3281
+ <tbody>
3282
+ <tr>
3283
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3284
+ <td>the source
3285
+ </td>
3286
+ </tr>
3287
+ <tr>
3288
+ <td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
3289
+ <td>pointer to callback data "object"
3290
+ </td>
3291
+ </tr>
3292
+ <tr>
3293
+ <td><p><span class="term"><em class="parameter"><code>callback_funcs</code></em> :</span></p></td>
3294
+ <td>functions for reference counting <em class="parameter"><code>callback_data</code></em>
3295
+ and getting the callback and data
3296
+ </td>
3297
+ </tr>
3298
+ </tbody>
3299
+ </table></div>
3300
+ </div>
3301
+ <hr>
3302
+ <div class="refsect2">
3303
+ <a name="g-source-add-poll"></a><h3>g_source_add_poll ()</h3>
3304
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_add_poll (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3305
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>);</pre>
3306
+ <p>
3307
+ Adds a file descriptor to the set of file descriptors polled for
3308
+ this source. This is usually combined with <a class="link" href="glib-The-Main-Event-Loop.html#g-source-new" title="g_source_new ()"><code class="function">g_source_new()</code></a> to add an
3309
+ event source. The event source's check function will typically test
3310
+ the <em class="parameter"><code>revents</code></em> field in the <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> struct and return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if events need
3311
+ to be processed.
3312
+ </p>
3313
+ <div class="variablelist"><table border="0">
3314
+ <col align="left" valign="top">
3315
+ <tbody>
3316
+ <tr>
3317
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3318
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3319
+ </td>
3320
+ </tr>
3321
+ <tr>
3322
+ <td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td>
3323
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> structure holding information about a file
3324
+ descriptor to watch.
3325
+ </td>
3326
+ </tr>
3327
+ </tbody>
3328
+ </table></div>
3329
+ </div>
3330
+ <hr>
3331
+ <div class="refsect2">
3332
+ <a name="g-source-remove-poll"></a><h3>g_source_remove_poll ()</h3>
3333
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_remove_poll (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3334
+ <em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> *fd</code></em>);</pre>
3335
+ <p>
3336
+ Removes a file descriptor from the set of file descriptors polled for
3337
+ this source.
3338
+ </p>
3339
+ <div class="variablelist"><table border="0">
3340
+ <col align="left" valign="top">
3341
+ <tbody>
3342
+ <tr>
3343
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3344
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3345
+ </td>
3346
+ </tr>
3347
+ <tr>
3348
+ <td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td>
3349
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GPollFD" title="GPollFD"><span class="type">GPollFD</span></a> structure previously passed to <a class="link" href="glib-The-Main-Event-Loop.html#g-source-add-poll" title="g_source_add_poll ()"><code class="function">g_source_add_poll()</code></a>.
3350
+ </td>
3351
+ </tr>
3352
+ </tbody>
3353
+ </table></div>
3354
+ </div>
3355
+ <hr>
3356
+ <div class="refsect2">
3357
+ <a name="g-source-get-current-time"></a><h3>g_source_get_current_time ()</h3>
3358
+ <pre class="programlisting"><span class="returnvalue">void</span> g_source_get_current_time (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> *source</code></em>,
3359
+ <em class="parameter"><code><a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="GTimeVal"><span class="type">GTimeVal</span></a> *timeval</code></em>);</pre>
3360
+ <p>
3361
+ Gets the "current time" to be used when checking
3362
+ this source. The advantage of calling this function over
3363
+ calling <a class="link" href="glib-Date-and-Time-Functions.html#g-get-current-time" title="g_get_current_time ()"><code class="function">g_get_current_time()</code></a> directly is that when
3364
+ checking multiple sources, GLib can cache a single value
3365
+ instead of having to repeatedly get the system time.
3366
+ </p>
3367
+ <div class="variablelist"><table border="0">
3368
+ <col align="left" valign="top">
3369
+ <tbody>
3370
+ <tr>
3371
+ <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
3372
+ <td>a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a>
3373
+ </td>
3374
+ </tr>
3375
+ <tr>
3376
+ <td><p><span class="term"><em class="parameter"><code>timeval</code></em> :</span></p></td>
3377
+ <td>
3378
+ <a class="link" href="glib-Date-and-Time-Functions.html#GTimeVal" title="GTimeVal"><span class="type">GTimeVal</span></a> structure in which to store current time.
3379
+ </td>
3380
+ </tr>
3381
+ </tbody>
3382
+ </table></div>
3383
+ </div>
3384
+ <hr>
3385
+ <div class="refsect2">
3386
+ <a name="g-source-remove"></a><h3>g_source_remove ()</h3>
3387
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_source_remove (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> tag</code></em>);</pre>
3388
+ <p>
3389
+ Removes the source with the given id from the default main context.
3390
+ The id of
3391
+ a <a class="link" href="glib-The-Main-Event-Loop.html#GSource" title="GSource"><span class="type">GSource</span></a> is given by <a class="link" href="glib-The-Main-Event-Loop.html#g-source-get-id" title="g_source_get_id ()"><code class="function">g_source_get_id()</code></a>, or will be returned by the
3392
+ functions <a class="link" href="glib-The-Main-Event-Loop.html#g-source-attach" title="g_source_attach ()"><code class="function">g_source_attach()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add" title="g_idle_add ()"><code class="function">g_idle_add()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-idle-add-full" title="g_idle_add_full ()"><code class="function">g_idle_add_full()</code></a>,
3393
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add" title="g_timeout_add ()"><code class="function">g_timeout_add()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-timeout-add-full" title="g_timeout_add_full ()"><code class="function">g_timeout_add_full()</code></a>, <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-add" title="g_child_watch_add ()"><code class="function">g_child_watch_add()</code></a>,
3394
+ <a class="link" href="glib-The-Main-Event-Loop.html#g-child-watch-add-full" title="g_child_watch_add_full ()"><code class="function">g_child_watch_add_full()</code></a>, <a class="link" href="glib-IO-Channels.html#g-io-add-watch" title="g_io_add_watch ()"><code class="function">g_io_add_watch()</code></a>, and <a class="link" href="glib-IO-Channels.html#g-io-add-watch-full" title="g_io_add_watch_full ()"><code class="function">g_io_add_watch_full()</code></a>.
3395
+ </p>
3396
+ <p>
3397
+ See also <a class="link" href="glib-The-Main-Event-Loop.html#g-source-destroy" title="g_source_destroy ()"><code class="function">g_source_destroy()</code></a>. You must use <a class="link" href="glib-The-Main-Event-Loop.html#g-source-destroy" title="g_source_destroy ()"><code class="function">g_source_destroy()</code></a> for sources
3398
+ added to a non-default main context.
3399
+ </p>
3400
+ <div class="variablelist"><table border="0">
3401
+ <col align="left" valign="top">
3402
+ <tbody>
3403
+ <tr>
3404
+ <td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
3405
+ <td>the ID of the source to remove.
3406
+ </td>
3407
+ </tr>
3408
+ <tr>
3409
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3410
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the source was found and removed.
3411
+ </td>
3412
+ </tr>
3413
+ </tbody>
3414
+ </table></div>
3415
+ </div>
3416
+ <hr>
3417
+ <div class="refsect2">
3418
+ <a name="g-source-remove-by-funcs-user-data"></a><h3>g_source_remove_by_funcs_user_data ()</h3>
3419
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_source_remove_by_funcs_user_data (<em class="parameter"><code><a class="link" href="glib-The-Main-Event-Loop.html#GSourceFuncs" title="GSourceFuncs"><span class="type">GSourceFuncs</span></a> *funcs</code></em>,
3420
+ <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>
3421
+ <p>
3422
+ Removes a source from the default main loop context given the
3423
+ source functions and user data. If multiple sources exist with the
3424
+ same source functions and user data, only one will be destroyed.
3425
+ </p>
3426
+ <div class="variablelist"><table border="0">
3427
+ <col align="left" valign="top">
3428
+ <tbody>
3429
+ <tr>
3430
+ <td><p><span class="term"><em class="parameter"><code>funcs</code></em> :</span></p></td>
3431
+ <td>The <em class="parameter"><code>source_funcs</code></em> passed to <a class="link" href="glib-The-Main-Event-Loop.html#g-source-new" title="g_source_new ()"><code class="function">g_source_new()</code></a>
3432
+ </td>
3433
+ </tr>
3434
+ <tr>
3435
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
3436
+ <td>the user data for the callback
3437
+ </td>
3438
+ </tr>
3439
+ <tr>
3440
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3441
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if a source was found and removed.
3442
+ </td>
3443
+ </tr>
3444
+ </tbody>
3445
+ </table></div>
3446
+ </div>
3447
+ <hr>
3448
+ <div class="refsect2">
3449
+ <a name="g-source-remove-by-user-data"></a><h3>g_source_remove_by_user_data ()</h3>
3450
+ <pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_source_remove_by_user_data (<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>
3451
+ <p>
3452
+ Removes a source from the default main loop context given the user
3453
+ data for the callback. If multiple sources exist with the same user
3454
+ data, only one will be destroyed.
3455
+ </p>
3456
+ <div class="variablelist"><table border="0">
3457
+ <col align="left" valign="top">
3458
+ <tbody>
3459
+ <tr>
3460
+ <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
3461
+ <td>the user_data for the callback.
3462
+ </td>
3463
+ </tr>
3464
+ <tr>
3465
+ <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3466
+ <td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if a source was found and removed.
3467
+ </td>
3468
+ </tr>
3469
+ </tbody>
3470
+ </table></div>
3471
+ </div>
3472
+ </div>
3473
+ </div>
3474
+ <div class="footer">
3475
+ <hr>
3476
+ Generated by GTK-Doc V1.15.1</div>
3477
+ </body>
3478
+ </html>