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

Sign up to get free protection for your applications and to get access to all the features.
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>