atk 0.90.5-x86-mingw32 → 0.90.6-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (765) hide show
  1. data/ChangeLog +9 -0
  2. data/Rakefile +8 -70
  3. data/ext/atk/Makefile +160 -0
  4. data/ext/atk/extconf.rb +9 -9
  5. data/ext/atk/rbatkversion.h +24 -0
  6. data/lib/1.8/atk.so +0 -0
  7. data/lib/1.9/atk.so +0 -0
  8. data/vendor/local/lib/pkgconfig/atk.pc +1 -1
  9. metadata +150 -902
  10. data/vendor/local/bin/envsubst.exe +0 -0
  11. data/vendor/local/bin/gettext.exe +0 -0
  12. data/vendor/local/bin/gettext.sh +0 -123
  13. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  14. data/vendor/local/bin/glib-gettextize +0 -188
  15. data/vendor/local/bin/glib-mkenums +0 -537
  16. data/vendor/local/bin/gobject-query.exe +0 -0
  17. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  18. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  19. data/vendor/local/bin/intl.dll +0 -0
  20. data/vendor/local/bin/libasprintf-0.dll +0 -0
  21. data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
  22. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  23. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  24. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  25. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  26. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  27. data/vendor/local/bin/ngettext.exe +0 -0
  28. data/vendor/local/include/autosprintf.h +0 -66
  29. data/vendor/local/include/glib-2.0/gio/gappinfo.h +0 -236
  30. data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +0 -119
  31. data/vendor/local/include/glib-2.0/gio/gasyncresult.h +0 -73
  32. data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +0 -123
  33. data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +0 -81
  34. data/vendor/local/include/glib-2.0/gio/gcancellable.h +0 -103
  35. data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +0 -60
  36. data/vendor/local/include/glib-2.0/gio/gcontenttype.h +0 -57
  37. data/vendor/local/include/glib-2.0/gio/gconverter.h +0 -95
  38. data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +0 -79
  39. data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +0 -79
  40. data/vendor/local/include/glib-2.0/gio/gcredentials.h +0 -76
  41. data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +0 -150
  42. data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +0 -115
  43. data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +0 -58
  44. data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +0 -46
  45. data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +0 -562
  46. data/vendor/local/include/glib-2.0/gio/gdbuserror.h +0 -100
  47. data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +0 -286
  48. data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +0 -149
  49. data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +0 -73
  50. data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +0 -112
  51. data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +0 -94
  52. data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +0 -167
  53. data/vendor/local/include/glib-2.0/gio/gdbusserver.h +0 -54
  54. data/vendor/local/include/glib-2.0/gio/gdbusutils.h +0 -44
  55. data/vendor/local/include/glib-2.0/gio/gdrive.h +0 -225
  56. data/vendor/local/include/glib-2.0/gio/gemblem.h +0 -58
  57. data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +0 -62
  58. data/vendor/local/include/glib-2.0/gio/gfile.h +0 -1017
  59. data/vendor/local/include/glib-2.0/gio/gfileattribute.h +0 -77
  60. data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +0 -132
  61. data/vendor/local/include/glib-2.0/gio/gfileicon.h +0 -56
  62. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +0 -952
  63. data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +0 -112
  64. data/vendor/local/include/glib-2.0/gio/gfileiostream.h +0 -118
  65. data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +0 -95
  66. data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +0 -76
  67. data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +0 -119
  68. data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +0 -76
  69. data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +0 -76
  70. data/vendor/local/include/glib-2.0/gio/gicon.h +0 -91
  71. data/vendor/local/include/glib-2.0/gio/ginetaddress.h +0 -103
  72. data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +0 -69
  73. data/vendor/local/include/glib-2.0/gio/ginitable.h +0 -96
  74. data/vendor/local/include/glib-2.0/gio/ginputstream.h +0 -172
  75. data/vendor/local/include/glib-2.0/gio/gio.h +0 -122
  76. data/vendor/local/include/glib-2.0/gio/gioenums.h +0 -1221
  77. data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +0 -121
  78. data/vendor/local/include/glib-2.0/gio/gioerror.h +0 -52
  79. data/vendor/local/include/glib-2.0/gio/giomodule.h +0 -132
  80. data/vendor/local/include/glib-2.0/gio/gioscheduler.h +0 -52
  81. data/vendor/local/include/glib-2.0/gio/giostream.h +0 -112
  82. data/vendor/local/include/glib-2.0/gio/giotypes.h +0 -375
  83. data/vendor/local/include/glib-2.0/gio/gloadableicon.h +0 -97
  84. data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +0 -82
  85. data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +0 -98
  86. data/vendor/local/include/glib-2.0/gio/gmount.h +0 -242
  87. data/vendor/local/include/glib-2.0/gio/gmountoperation.h +0 -123
  88. data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +0 -62
  89. data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +0 -73
  90. data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +0 -71
  91. data/vendor/local/include/glib-2.0/gio/goutputstream.h +0 -207
  92. data/vendor/local/include/glib-2.0/gio/gpermission.h +0 -118
  93. data/vendor/local/include/glib-2.0/gio/gproxy.h +0 -123
  94. data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +0 -76
  95. data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +0 -75
  96. data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +0 -96
  97. data/vendor/local/include/glib-2.0/gio/gresolver.h +0 -167
  98. data/vendor/local/include/glib-2.0/gio/gseekable.h +0 -99
  99. data/vendor/local/include/glib-2.0/gio/gsettings.h +0 -258
  100. data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +0 -138
  101. data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +0 -125
  102. data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +0 -45
  103. data/vendor/local/include/glib-2.0/gio/gsocket.h +0 -194
  104. data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +0 -79
  105. data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +0 -89
  106. data/vendor/local/include/glib-2.0/gio/gsocketclient.h +0 -152
  107. data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +0 -74
  108. data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +0 -91
  109. data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +0 -105
  110. data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +0 -138
  111. data/vendor/local/include/glib-2.0/gio/gsocketservice.h +0 -88
  112. data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +0 -52
  113. data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +0 -68
  114. data/vendor/local/include/glib-2.0/gio/gthemedicon.h +0 -63
  115. data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +0 -81
  116. data/vendor/local/include/glib-2.0/gio/gvfs.h +0 -125
  117. data/vendor/local/include/glib-2.0/gio/gvolume.h +0 -211
  118. data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +0 -150
  119. data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +0 -60
  120. data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +0 -57
  121. data/vendor/local/include/glib-2.0/glib-object.h +0 -42
  122. data/vendor/local/include/glib-2.0/glib.h +0 -99
  123. data/vendor/local/include/glib-2.0/glib/galloca.h +0 -110
  124. data/vendor/local/include/glib-2.0/glib/garray.h +0 -179
  125. data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +0 -120
  126. data/vendor/local/include/glib-2.0/glib/gatomic.h +0 -105
  127. data/vendor/local/include/glib-2.0/glib/gbacktrace.h +0 -68
  128. data/vendor/local/include/glib-2.0/glib/gbase64.h +0 -57
  129. data/vendor/local/include/glib-2.0/glib/gbitlock.h +0 -43
  130. data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +0 -215
  131. data/vendor/local/include/glib-2.0/glib/gcache.h +0 -69
  132. data/vendor/local/include/glib-2.0/glib/gchecksum.h +0 -86
  133. data/vendor/local/include/glib-2.0/glib/gcompletion.h +0 -81
  134. data/vendor/local/include/glib-2.0/glib/gconvert.h +0 -162
  135. data/vendor/local/include/glib-2.0/glib/gdataset.h +0 -122
  136. data/vendor/local/include/glib-2.0/glib/gdate.h +0 -263
  137. data/vendor/local/include/glib-2.0/glib/gdatetime.h +0 -217
  138. data/vendor/local/include/glib-2.0/glib/gdir.h +0 -52
  139. data/vendor/local/include/glib-2.0/glib/gerror.h +0 -98
  140. data/vendor/local/include/glib-2.0/glib/gfileutils.h +0 -128
  141. data/vendor/local/include/glib-2.0/glib/ghash.h +0 -166
  142. data/vendor/local/include/glib-2.0/glib/ghook.h +0 -181
  143. data/vendor/local/include/glib-2.0/glib/ghostutils.h +0 -40
  144. data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +0 -38
  145. data/vendor/local/include/glib-2.0/glib/gi18n.h +0 -34
  146. data/vendor/local/include/glib-2.0/glib/giochannel.h +0 -366
  147. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +0 -266
  148. data/vendor/local/include/glib-2.0/glib/glist.h +0 -120
  149. data/vendor/local/include/glib-2.0/glib/gmacros.h +0 -284
  150. data/vendor/local/include/glib-2.0/glib/gmain.h +0 -531
  151. data/vendor/local/include/glib-2.0/glib/gmappedfile.h +0 -49
  152. data/vendor/local/include/glib-2.0/glib/gmarkup.h +0 -163
  153. data/vendor/local/include/glib-2.0/glib/gmem.h +0 -309
  154. data/vendor/local/include/glib-2.0/glib/gmessages.h +0 -343
  155. data/vendor/local/include/glib-2.0/glib/gnode.h +0 -290
  156. data/vendor/local/include/glib-2.0/glib/goption.h +0 -370
  157. data/vendor/local/include/glib-2.0/glib/gpattern.h +0 -49
  158. data/vendor/local/include/glib-2.0/glib/gpoll.h +0 -117
  159. data/vendor/local/include/glib-2.0/glib/gprimes.h +0 -51
  160. data/vendor/local/include/glib-2.0/glib/gprintf.h +0 -52
  161. data/vendor/local/include/glib-2.0/glib/gqsort.h +0 -46
  162. data/vendor/local/include/glib-2.0/glib/gquark.h +0 -52
  163. data/vendor/local/include/glib-2.0/glib/gqueue.h +0 -127
  164. data/vendor/local/include/glib-2.0/glib/grand.h +0 -85
  165. data/vendor/local/include/glib-2.0/glib/gregex.h +0 -471
  166. data/vendor/local/include/glib-2.0/glib/grel.h +0 -101
  167. data/vendor/local/include/glib-2.0/glib/gscanner.h +0 -278
  168. data/vendor/local/include/glib-2.0/glib/gsequence.h +0 -128
  169. data/vendor/local/include/glib-2.0/glib/gshell.h +0 -55
  170. data/vendor/local/include/glib-2.0/glib/gslice.h +0 -86
  171. data/vendor/local/include/glib-2.0/glib/gslist.h +0 -114
  172. data/vendor/local/include/glib-2.0/glib/gspawn.h +0 -139
  173. data/vendor/local/include/glib-2.0/glib/gstdio.h +0 -147
  174. data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +0 -269
  175. data/vendor/local/include/glib-2.0/glib/gstring.h +0 -178
  176. data/vendor/local/include/glib-2.0/glib/gtestutils.h +0 -297
  177. data/vendor/local/include/glib-2.0/glib/gthread.h +0 -407
  178. data/vendor/local/include/glib-2.0/glib/gthreadpool.h +0 -114
  179. data/vendor/local/include/glib-2.0/glib/gtimer.h +0 -65
  180. data/vendor/local/include/glib-2.0/glib/gtimezone.h +0 -44
  181. data/vendor/local/include/glib-2.0/glib/gtree.h +0 -91
  182. data/vendor/local/include/glib-2.0/glib/gtypes.h +0 -451
  183. data/vendor/local/include/glib-2.0/glib/gunicode.h +0 -421
  184. data/vendor/local/include/glib-2.0/glib/gurifuncs.h +0 -81
  185. data/vendor/local/include/glib-2.0/glib/gutils.h +0 -490
  186. data/vendor/local/include/glib-2.0/glib/gvariant.h +0 -248
  187. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +0 -334
  188. data/vendor/local/include/glib-2.0/glib/gwin32.h +0 -114
  189. data/vendor/local/include/glib-2.0/gmodule.h +0 -101
  190. data/vendor/local/include/glib-2.0/gobject/gbinding.h +0 -136
  191. data/vendor/local/include/glib-2.0/gobject/gboxed.h +0 -248
  192. data/vendor/local/include/glib-2.0/gobject/gclosure.h +0 -251
  193. data/vendor/local/include/glib-2.0/gobject/genums.h +0 -261
  194. data/vendor/local/include/glib-2.0/gobject/gmarshal.h +0 -186
  195. data/vendor/local/include/glib-2.0/gobject/gobject.h +0 -567
  196. data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +0 -193
  197. data/vendor/local/include/glib-2.0/gobject/gparam.h +0 -415
  198. data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +0 -1137
  199. data/vendor/local/include/glib-2.0/gobject/gsignal.h +0 -509
  200. data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +0 -51
  201. data/vendor/local/include/glib-2.0/gobject/gtype.h +0 -1736
  202. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +0 -263
  203. data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +0 -134
  204. data/vendor/local/include/glib-2.0/gobject/gvalue.h +0 -159
  205. data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +0 -77
  206. data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +0 -227
  207. data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +0 -260
  208. data/vendor/local/include/libintl.h +0 -464
  209. data/vendor/local/lib/GNU.Gettext.dll +0 -0
  210. data/vendor/local/lib/gio-2.0.def +0 -1143
  211. data/vendor/local/lib/gio-2.0.lib +0 -0
  212. data/vendor/local/lib/glib-2.0.def +0 -1452
  213. data/vendor/local/lib/glib-2.0.lib +0 -0
  214. data/vendor/local/lib/glib-2.0/include/glibconfig.h +0 -284
  215. data/vendor/local/lib/gmodule-2.0.def +0 -11
  216. data/vendor/local/lib/gmodule-2.0.lib +0 -0
  217. data/vendor/local/lib/gobject-2.0.def +0 -370
  218. data/vendor/local/lib/gobject-2.0.lib +0 -0
  219. data/vendor/local/lib/gthread-2.0.def +0 -3
  220. data/vendor/local/lib/gthread-2.0.lib +0 -0
  221. data/vendor/local/lib/intl.lib +0 -0
  222. data/vendor/local/lib/libasprintf.dll.a +0 -0
  223. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  224. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  225. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  226. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  227. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  228. data/vendor/local/lib/libintl.def +0 -31
  229. data/vendor/local/lib/libintl.dll.a +0 -0
  230. data/vendor/local/lib/pkgconfig/gio-2.0.pc +0 -15
  231. data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +0 -11
  232. data/vendor/local/lib/pkgconfig/glib-2.0.pc +0 -15
  233. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +0 -14
  234. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +0 -14
  235. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +0 -11
  236. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +0 -11
  237. data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +0 -81
  238. data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +0 -3
  239. data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +0 -570
  240. data/vendor/local/manifest/glib_2.26.0-2_win32.mft +0 -102
  241. data/vendor/local/share/aclocal/glib-2.0.m4 +0 -211
  242. data/vendor/local/share/aclocal/glib-gettext.m4 +0 -432
  243. data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +0 -165
  244. data/vendor/local/share/doc/gettext/bindtextdomain.3.html +0 -160
  245. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +0 -8
  246. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +0 -305
  247. data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +0 -356
  248. data/vendor/local/share/doc/gettext/csharpdoc/begin.html +0 -11
  249. data/vendor/local/share/doc/gettext/csharpdoc/index.html +0 -10
  250. data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +0 -6
  251. data/vendor/local/share/doc/gettext/envsubst.1.html +0 -213
  252. data/vendor/local/share/doc/gettext/gettext.1.html +0 -266
  253. data/vendor/local/share/doc/gettext/gettext.3.html +0 -186
  254. data/vendor/local/share/doc/gettext/ngettext.1.html +0 -280
  255. data/vendor/local/share/doc/gettext/ngettext.3.html +0 -143
  256. data/vendor/local/share/doc/gettext/textdomain.3.html +0 -150
  257. data/vendor/local/share/doc/glib-2.26.0/COPYING +0 -482
  258. data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +0 -482
  259. data/vendor/local/share/doc/libasprintf/autosprintf_all.html +0 -174
  260. data/vendor/local/share/glib-2.0/gdb/glib.py +0 -249
  261. data/vendor/local/share/glib-2.0/gdb/gobject.py +0 -305
  262. data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +0 -111
  263. data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +0 -279
  264. data/vendor/local/share/glib-2.0/schemas/gschema.dtd +0 -60
  265. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +0 -1403
  266. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +0 -733
  267. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +0 -343
  268. data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +0 -563
  269. data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +0 -291
  270. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +0 -620
  271. data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +0 -245
  272. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +0 -423
  273. data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +0 -398
  274. data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +0 -254
  275. data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +0 -6211
  276. data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +0 -1833
  277. data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +0 -618
  278. data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +0 -2050
  279. data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +0 -1124
  280. data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +0 -1215
  281. data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +0 -540
  282. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +0 -1416
  283. data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +0 -272
  284. data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +0 -206
  285. data/vendor/local/share/gtk-doc/html/gio/GFile.html +0 -7462
  286. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +0 -120
  287. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +0 -516
  288. data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +0 -312
  289. data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +0 -155
  290. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +0 -3144
  291. data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +0 -262
  292. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +0 -353
  293. data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +0 -301
  294. data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +0 -217
  295. data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +0 -188
  296. data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +0 -189
  297. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +0 -261
  298. data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +0 -479
  299. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +0 -331
  300. data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +0 -717
  301. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +0 -196
  302. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +0 -388
  303. data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +0 -808
  304. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +0 -301
  305. data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +0 -185
  306. data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +0 -393
  307. data/vendor/local/share/gtk-doc/html/gio/GMount.html +0 -1465
  308. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +0 -848
  309. data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +0 -343
  310. data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +0 -311
  311. data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +0 -1012
  312. data/vendor/local/share/gtk-doc/html/gio/GPermission.html +0 -560
  313. data/vendor/local/share/gtk-doc/html/gio/GProxy.html +0 -312
  314. data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +0 -348
  315. data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +0 -301
  316. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +0 -787
  317. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +0 -350
  318. data/vendor/local/share/gtk-doc/html/gio/GSettings.html +0 -2424
  319. data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +0 -609
  320. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +0 -1193
  321. data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +0 -107
  322. data/vendor/local/share/gtk-doc/html/gio/GSocket.html +0 -2438
  323. data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +0 -297
  324. data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +0 -1292
  325. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +0 -513
  326. data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +0 -337
  327. data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +0 -275
  328. data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +0 -745
  329. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +0 -258
  330. data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +0 -165
  331. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +0 -377
  332. data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +0 -197
  333. data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +0 -298
  334. data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +0 -222
  335. data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +0 -389
  336. data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +0 -288
  337. data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +0 -237
  338. data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +0 -237
  339. data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +0 -491
  340. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +0 -274
  341. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +0 -1028
  342. data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +0 -705
  343. data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +0 -252
  344. data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +0 -170
  345. data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +0 -65
  346. data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +0 -153
  347. data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +0 -155
  348. data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +0 -1084
  349. data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +0 -223
  350. data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +0 -1598
  351. data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +0 -112
  352. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +0 -6250
  353. data/vendor/local/share/gtk-doc/html/gio/async.html +0 -44
  354. data/vendor/local/share/gtk-doc/html/gio/ch01.html +0 -207
  355. data/vendor/local/share/gtk-doc/html/gio/ch02.html +0 -50
  356. data/vendor/local/share/gtk-doc/html/gio/ch03.html +0 -180
  357. data/vendor/local/share/gtk-doc/html/gio/ch24.html +0 -75
  358. data/vendor/local/share/gtk-doc/html/gio/ch25.html +0 -217
  359. data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +0 -41
  360. data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +0 -39
  361. data/vendor/local/share/gtk-doc/html/gio/ch26.html +0 -57
  362. data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +0 -59
  363. data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +0 -159
  364. data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +0 -46
  365. data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +0 -48
  366. data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +0 -277
  367. data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +0 -95
  368. data/vendor/local/share/gtk-doc/html/gio/ch27.html +0 -70
  369. data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +0 -130
  370. data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +0 -202
  371. data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +0 -96
  372. data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +0 -823
  373. data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +0 -828
  374. data/vendor/local/share/gtk-doc/html/gio/conversion.html +0 -44
  375. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +0 -109
  376. data/vendor/local/share/gtk-doc/html/gio/extending.html +0 -41
  377. data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +0 -38
  378. data/vendor/local/share/gtk-doc/html/gio/file_mon.html +0 -33
  379. data/vendor/local/share/gtk-doc/html/gio/file_ops.html +0 -50
  380. data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +0 -41
  381. data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +0 -59
  382. data/vendor/local/share/gtk-doc/html/gio/gdbus.html +0 -243
  383. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +0 -316
  384. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +0 -1117
  385. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +0 -216
  386. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +0 -339
  387. data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +0 -473
  388. data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +0 -391
  389. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +0 -159
  390. data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +0 -159
  391. data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +0 -908
  392. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +0 -933
  393. data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +0 -409
  394. data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +0 -297
  395. data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +0 -313
  396. data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +0 -736
  397. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +0 -909
  398. data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +0 -666
  399. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +0 -123
  400. data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +0 -53
  401. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +0 -1736
  402. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +0 -2006
  403. data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +0 -102
  404. data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
  405. data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +0 -53
  406. data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
  407. data/vendor/local/share/gtk-doc/html/gio/icons.html +0 -50
  408. data/vendor/local/share/gtk-doc/html/gio/index.html +0 -435
  409. data/vendor/local/share/gtk-doc/html/gio/index.sgml +0 -2513
  410. data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
  411. data/vendor/local/share/gtk-doc/html/gio/migrating.html +0 -62
  412. data/vendor/local/share/gtk-doc/html/gio/networking.html +0 -69
  413. data/vendor/local/share/gtk-doc/html/gio/permissions.html +0 -39
  414. data/vendor/local/share/gtk-doc/html/gio/pt01.html +0 -39
  415. data/vendor/local/share/gtk-doc/html/gio/pt02.html +0 -390
  416. data/vendor/local/share/gtk-doc/html/gio/resolver.html +0 -50
  417. data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
  418. data/vendor/local/share/gtk-doc/html/gio/settings.html +0 -38
  419. data/vendor/local/share/gtk-doc/html/gio/streaming.html +0 -92
  420. data/vendor/local/share/gtk-doc/html/gio/style.css +0 -265
  421. data/vendor/local/share/gtk-doc/html/gio/tools.html +0 -44
  422. data/vendor/local/share/gtk-doc/html/gio/types.html +0 -41
  423. data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
  424. data/vendor/local/share/gtk-doc/html/gio/utils.html +0 -33
  425. data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +0 -47
  426. data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +0 -77
  427. data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +0 -180
  428. data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +0 -312
  429. data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +0 -559
  430. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +0 -362
  431. data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +0 -102
  432. data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +0 -124
  433. data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +0 -83
  434. data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +0 -194
  435. data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +0 -420
  436. data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +0 -359
  437. data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +0 -396
  438. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +0 -417
  439. data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +0 -158
  440. data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +0 -419
  441. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +0 -8214
  442. data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
  443. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +0 -893
  444. data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +0 -818
  445. data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +0 -414
  446. data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +0 -466
  447. data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +0 -802
  448. data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +0 -372
  449. data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +0 -500
  450. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +0 -2056
  451. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +0 -560
  452. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +0 -1686
  453. data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +0 -398
  454. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +0 -1094
  455. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +0 -1671
  456. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +0 -460
  457. data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +0 -528
  458. data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +0 -2045
  459. data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +0 -1278
  460. data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +0 -1406
  461. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +0 -548
  462. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +0 -1026
  463. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +0 -1852
  464. data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +0 -2201
  465. data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +0 -239
  466. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +0 -4278
  467. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +0 -1864
  468. data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +0 -295
  469. data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +0 -1512
  470. data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +0 -1367
  471. data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +0 -229
  472. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +0 -692
  473. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +0 -2196
  474. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +0 -2740
  475. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +0 -612
  476. data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +0 -1451
  477. data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +0 -389
  478. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +0 -1033
  479. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +0 -141
  480. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +0 -706
  481. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +0 -510
  482. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +0 -748
  483. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +0 -1105
  484. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +0 -1552
  485. data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +0 -1468
  486. data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +0 -194
  487. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +0 -2745
  488. data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +0 -752
  489. data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +0 -269
  490. data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +0 -578
  491. data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +0 -532
  492. data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +0 -1353
  493. data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +0 -238
  494. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +0 -1282
  495. data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +0 -1213
  496. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +0 -924
  497. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +0 -470
  498. data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +0 -301
  499. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +0 -2960
  500. data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +0 -1291
  501. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +0 -1805
  502. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +0 -3478
  503. data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +0 -606
  504. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +0 -3411
  505. data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +0 -245
  506. data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +0 -188
  507. data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +0 -263
  508. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +0 -400
  509. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +0 -3448
  510. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +0 -253
  511. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +0 -438
  512. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +0 -476
  513. data/vendor/local/share/gtk-doc/html/glib/glib-building.html +0 -466
  514. data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +0 -159
  515. data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +0 -118
  516. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +0 -64
  517. data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +0 -160
  518. data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +0 -120
  519. data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +0 -59
  520. data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +0 -93
  521. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +0 -2217
  522. data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +0 -121
  523. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +0 -319
  524. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +0 -118
  525. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +0 -2183
  526. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +0 -2671
  527. data/vendor/local/share/gtk-doc/html/glib/glib.html +0 -80
  528. data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +0 -72
  529. data/vendor/local/share/gtk-doc/html/glib/gtester.html +0 -131
  530. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +0 -1288
  531. data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
  532. data/vendor/local/share/gtk-doc/html/glib/index.html +0 -344
  533. data/vendor/local/share/gtk-doc/html/glib/index.sgml +0 -2846
  534. data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
  535. data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
  536. data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
  537. data/vendor/local/share/gtk-doc/html/glib/style.css +0 -265
  538. data/vendor/local/share/gtk-doc/html/glib/tools.html +0 -41
  539. data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
  540. data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +0 -803
  541. data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +0 -710
  542. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +0 -453
  543. data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +0 -47
  544. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +0 -85
  545. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +0 -55
  546. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +0 -51
  547. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +0 -46
  548. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +0 -38
  549. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +0 -46
  550. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +0 -73
  551. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +0 -201
  552. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +0 -178
  553. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +0 -42
  554. data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +0 -42
  555. data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +0 -50
  556. data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +0 -2721
  557. data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +0 -136
  558. data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +0 -113
  559. data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +0 -293
  560. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +0 -263
  561. data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +0 -92
  562. data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +0 -214
  563. data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +0 -361
  564. data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +0 -307
  565. data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
  566. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +0 -417
  567. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +0 -2412
  568. data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +0 -847
  569. data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +0 -1433
  570. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +0 -776
  571. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +0 -2741
  572. data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +0 -5555
  573. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +0 -2875
  574. data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +0 -4460
  575. data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +0 -416
  576. data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +0 -260
  577. data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +0 -234
  578. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +0 -270
  579. data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +0 -117
  580. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +0 -762
  581. data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +0 -801
  582. data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +0 -143
  583. data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +0 -287
  584. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +0 -316
  585. data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +0 -76
  586. data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
  587. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +0 -100
  588. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +0 -86
  589. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +0 -113
  590. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +0 -122
  591. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +0 -257
  592. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +0 -283
  593. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +0 -125
  594. data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +0 -167
  595. data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +0 -160
  596. data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +0 -121
  597. data/vendor/local/share/gtk-doc/html/gobject/index.html +0 -192
  598. data/vendor/local/share/gtk-doc/html/gobject/index.sgml +0 -786
  599. data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
  600. data/vendor/local/share/gtk-doc/html/gobject/pr01.html +0 -72
  601. data/vendor/local/share/gtk-doc/html/gobject/pt01.html +0 -80
  602. data/vendor/local/share/gtk-doc/html/gobject/pt02.html +0 -66
  603. data/vendor/local/share/gtk-doc/html/gobject/pt03.html +0 -55
  604. data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
  605. data/vendor/local/share/gtk-doc/html/gobject/rn01.html +0 -85
  606. data/vendor/local/share/gtk-doc/html/gobject/rn02.html +0 -47
  607. data/vendor/local/share/gtk-doc/html/gobject/signal.html +0 -377
  608. data/vendor/local/share/gtk-doc/html/gobject/style.css +0 -265
  609. data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +0 -35
  610. data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +0 -40
  611. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +0 -63
  612. data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +0 -55
  613. data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +0 -43
  614. data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
  615. data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
  616. data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
  617. data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
  618. data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
  619. data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
  620. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  621. data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
  622. data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
  623. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  624. data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
  625. data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
  626. data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
  627. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
  628. data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
  629. data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
  630. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  631. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  632. data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
  633. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  634. data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
  635. data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
  636. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  637. data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
  638. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  639. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  640. data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
  641. data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
  642. data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
  643. data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
  644. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  645. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  646. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  647. data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
  648. data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
  649. data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
  650. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  651. data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
  652. data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
  653. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  654. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  655. data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
  656. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  657. data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
  658. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  659. data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
  660. data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
  661. data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
  662. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  663. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  664. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  665. data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
  666. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  667. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  668. data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
  669. data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
  670. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  671. data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
  672. data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
  673. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  674. data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
  675. data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
  676. data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
  677. data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
  678. data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
  679. data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
  680. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  681. data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
  682. data/vendor/local/share/locale/locale.alias +0 -77
  683. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  684. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  685. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  686. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  687. data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
  688. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  689. data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
  690. data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
  691. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  692. data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
  693. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  694. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  695. data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
  696. data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
  697. data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
  698. data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
  699. data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
  700. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  701. data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
  702. data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
  703. data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
  704. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  705. data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
  706. data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
  707. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  708. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
  709. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  710. data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
  711. data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
  712. data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
  713. data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
  714. data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
  715. data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
  716. data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
  717. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  718. data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
  719. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  720. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  721. data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
  722. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  723. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  724. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  725. data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
  726. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  727. data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
  728. data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
  729. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  730. data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
  731. data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
  732. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  733. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  734. data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
  735. data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
  736. data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
  737. data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
  738. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  739. data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
  740. data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
  741. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
  742. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
  743. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
  744. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  745. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
  746. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  747. data/vendor/local/share/man/man1/envsubst.1 +0 -54
  748. data/vendor/local/share/man/man1/gettext.1 +0 -69
  749. data/vendor/local/share/man/man1/glib-genmarshal.1 +0 -312
  750. data/vendor/local/share/man/man1/glib-mkenums.1 +0 -246
  751. data/vendor/local/share/man/man1/gobject-query.1 +0 -83
  752. data/vendor/local/share/man/man1/ngettext.1 +0 -68
  753. data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +0 -72
  754. data/vendor/local/share/man/man3/bindtextdomain.3 +0 -69
  755. data/vendor/local/share/man/man3/dcgettext.3 +0 -1
  756. data/vendor/local/share/man/man3/dcngettext.3 +0 -1
  757. data/vendor/local/share/man/man3/dgettext.3 +0 -1
  758. data/vendor/local/share/man/man3/dngettext.3 +0 -1
  759. data/vendor/local/share/man/man3/gettext.3 +0 -99
  760. data/vendor/local/share/man/man3/ngettext.3 +0 -60
  761. data/vendor/local/share/man/man3/textdomain.3 +0 -57
  762. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +0 -10423
  763. data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +0 -457
  764. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +0 -2867
  765. data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +0 -64
@@ -1,3478 +0,0 @@
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>