gio2 0.90.3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +60 -0
- data/README +34 -0
- data/Rakefile +76 -0
- data/ext/gio2/depend +5 -0
- data/ext/gio2/extconf.rb +91 -0
- data/ext/gio2/gappinfo.c +318 -0
- data/ext/gio2/gapplaunchcontext.c +79 -0
- data/ext/gio2/gasyncinitable.c +244 -0
- data/ext/gio2/gasyncresult.c +39 -0
- data/ext/gio2/gbufferedinputstream.c +184 -0
- data/ext/gio2/gbufferedoutputstream.c +82 -0
- data/ext/gio2/gcancellable.c +177 -0
- data/ext/gio2/gcharsetconverter.c +72 -0
- data/ext/gio2/gcontenttype.c +135 -0
- data/ext/gio2/gconverter.c +117 -0
- data/ext/gio2/gconverterinputstream.c +48 -0
- data/ext/gio2/gconverteroutputstream.c +48 -0
- data/ext/gio2/gdatainputstream.c +341 -0
- data/ext/gio2/gdataoutputstream.c +202 -0
- data/ext/gio2/gdesktopappinfo.c +90 -0
- data/ext/gio2/gdrive.c +267 -0
- data/ext/gio2/gemblem.c +71 -0
- data/ext/gio2/gemblemedicon.c +63 -0
- data/ext/gio2/gfile.c +2058 -0
- data/ext/gio2/gfileattribute.c +263 -0
- data/ext/gio2/gfileattributematcher.c +90 -0
- data/ext/gio2/gfiledescriptorbased.c +42 -0
- data/ext/gio2/gfileenumerator.c +167 -0
- data/ext/gio2/gfileicon.c +46 -0
- data/ext/gio2/gfileinfo.c +641 -0
- data/ext/gio2/gfileinputstream.c +92 -0
- data/ext/gio2/gfileiostream.c +98 -0
- data/ext/gio2/gfilemonitor.c +63 -0
- data/ext/gio2/gfilenamecompleter.c +72 -0
- data/ext/gio2/gfileoutputstream.c +100 -0
- data/ext/gio2/gfilterinputstream.c +56 -0
- data/ext/gio2/gfilteroutputstream.c +56 -0
- data/ext/gio2/gicon.c +69 -0
- data/ext/gio2/ginetaddress.c +188 -0
- data/ext/gio2/ginetsocketaddress.c +54 -0
- data/ext/gio2/ginitable.c +195 -0
- data/ext/gio2/ginputstream.c +341 -0
- data/ext/gio2/gio2.c +120 -0
- data/ext/gio2/gio2.def +2 -0
- data/ext/gio2/gio2.h +343 -0
- data/ext/gio2/gioerror.c +67 -0
- data/ext/gio2/giomodule.c +63 -0
- data/ext/gio2/gioscheduler.c +195 -0
- data/ext/gio2/giostream.c +129 -0
- data/ext/gio2/gloadableicon.c +91 -0
- data/ext/gio2/gmemoryinputstream.c +65 -0
- data/ext/gio2/gmemoryoutputstream.c +65 -0
- data/ext/gio2/gmount.c +283 -0
- data/ext/gio2/gmountoperation.c +168 -0
- data/ext/gio2/gnetworkaddress.c +71 -0
- data/ext/gio2/gnetworkservice.c +64 -0
- data/ext/gio2/goutputstream.c +343 -0
- data/ext/gio2/gresolver.c +230 -0
- data/ext/gio2/gseekable.c +89 -0
- data/ext/gio2/gsimpleasyncresult.c +153 -0
- data/ext/gio2/gsocket.c +451 -0
- data/ext/gio2/gsocketaddress.c +45 -0
- data/ext/gio2/gsocketclient.c +273 -0
- data/ext/gio2/gsocketconnectable.c +97 -0
- data/ext/gio2/gsocketconnection.c +82 -0
- data/ext/gio2/gsocketcontrolmessage.c +82 -0
- data/ext/gio2/gsocketlistener.c +239 -0
- data/ext/gio2/gsocketservice.c +64 -0
- data/ext/gio2/gsrvtarget.c +77 -0
- data/ext/gio2/gtcpconnection.c +48 -0
- data/ext/gio2/gthemedicon.c +86 -0
- data/ext/gio2/gthreadedsocketservice.c +39 -0
- data/ext/gio2/gunixconnection.c +69 -0
- data/ext/gio2/gunixfdlist.c +112 -0
- data/ext/gio2/gunixfdmessage.c +81 -0
- data/ext/gio2/gunixinputstream.c +73 -0
- data/ext/gio2/gunixmounts.c +346 -0
- data/ext/gio2/gunixoutputstream.c +73 -0
- data/ext/gio2/gunixsocketaddress.c +79 -0
- data/ext/gio2/gvfs.c +84 -0
- data/ext/gio2/gvolume.c +191 -0
- data/ext/gio2/gvolumemonitor.c +77 -0
- data/ext/gio2/gzlibcompressor.c +47 -0
- data/ext/gio2/gzlibdecompressor.c +43 -0
- data/ext/gio2/util.c +323 -0
- data/extconf.rb +49 -0
- data/lib/1.8/gio2.so +0 -0
- data/lib/1.9/gio2.so +0 -0
- data/lib/gio2.rb +141 -0
- data/vendor/local/bin/envsubst.exe +0 -0
- data/vendor/local/bin/gettext.exe +0 -0
- data/vendor/local/bin/gettext.sh +123 -0
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +188 -0
- data/vendor/local/bin/glib-mkenums +537 -0
- data/vendor/local/bin/gobject-query.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
- data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
- data/vendor/local/bin/intl.dll +0 -0
- data/vendor/local/bin/libasprintf-0.dll +0 -0
- data/vendor/local/bin/libgcc_s_dw2-1.dll +0 -0
- data/vendor/local/bin/libgio-2.0-0.dll +0 -0
- data/vendor/local/bin/libglib-2.0-0.dll +0 -0
- data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
- data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
- data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
- data/vendor/local/bin/ngettext.exe +0 -0
- data/vendor/local/include/autosprintf.h +66 -0
- data/vendor/local/include/glib-2.0/gio/gappinfo.h +236 -0
- data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +119 -0
- data/vendor/local/include/glib-2.0/gio/gasyncresult.h +73 -0
- data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +123 -0
- data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +81 -0
- data/vendor/local/include/glib-2.0/gio/gcancellable.h +103 -0
- data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +60 -0
- data/vendor/local/include/glib-2.0/gio/gcontenttype.h +57 -0
- data/vendor/local/include/glib-2.0/gio/gconverter.h +95 -0
- data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gcredentials.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +150 -0
- data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +115 -0
- data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +58 -0
- data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +46 -0
- data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +562 -0
- data/vendor/local/include/glib-2.0/gio/gdbuserror.h +100 -0
- data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +286 -0
- data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +149 -0
- data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +73 -0
- data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +112 -0
- data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +94 -0
- data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +167 -0
- data/vendor/local/include/glib-2.0/gio/gdbusserver.h +54 -0
- data/vendor/local/include/glib-2.0/gio/gdbusutils.h +44 -0
- data/vendor/local/include/glib-2.0/gio/gdrive.h +225 -0
- data/vendor/local/include/glib-2.0/gio/gemblem.h +58 -0
- data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +62 -0
- data/vendor/local/include/glib-2.0/gio/gfile.h +1017 -0
- data/vendor/local/include/glib-2.0/gio/gfileattribute.h +77 -0
- data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +132 -0
- data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
- data/vendor/local/include/glib-2.0/gio/gfileinfo.h +952 -0
- data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +112 -0
- data/vendor/local/include/glib-2.0/gio/gfileiostream.h +118 -0
- data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +95 -0
- data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +119 -0
- data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gicon.h +91 -0
- data/vendor/local/include/glib-2.0/gio/ginetaddress.h +103 -0
- data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +69 -0
- data/vendor/local/include/glib-2.0/gio/ginitable.h +96 -0
- data/vendor/local/include/glib-2.0/gio/ginputstream.h +172 -0
- data/vendor/local/include/glib-2.0/gio/gio.h +122 -0
- data/vendor/local/include/glib-2.0/gio/gioenums.h +1221 -0
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +121 -0
- data/vendor/local/include/glib-2.0/gio/gioerror.h +52 -0
- data/vendor/local/include/glib-2.0/gio/giomodule.h +132 -0
- data/vendor/local/include/glib-2.0/gio/gioscheduler.h +52 -0
- data/vendor/local/include/glib-2.0/gio/giostream.h +112 -0
- data/vendor/local/include/glib-2.0/gio/giotypes.h +375 -0
- data/vendor/local/include/glib-2.0/gio/gloadableicon.h +97 -0
- data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +82 -0
- data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +98 -0
- data/vendor/local/include/glib-2.0/gio/gmount.h +242 -0
- data/vendor/local/include/glib-2.0/gio/gmountoperation.h +123 -0
- data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +62 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +73 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +71 -0
- data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -0
- data/vendor/local/include/glib-2.0/gio/gpermission.h +118 -0
- data/vendor/local/include/glib-2.0/gio/gproxy.h +123 -0
- data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +76 -0
- data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +75 -0
- data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +96 -0
- data/vendor/local/include/glib-2.0/gio/gresolver.h +167 -0
- data/vendor/local/include/glib-2.0/gio/gseekable.h +99 -0
- data/vendor/local/include/glib-2.0/gio/gsettings.h +258 -0
- data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +138 -0
- data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +125 -0
- data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +45 -0
- data/vendor/local/include/glib-2.0/gio/gsocket.h +194 -0
- data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +89 -0
- data/vendor/local/include/glib-2.0/gio/gsocketclient.h +152 -0
- data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +74 -0
- data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +91 -0
- data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +105 -0
- data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +138 -0
- data/vendor/local/include/glib-2.0/gio/gsocketservice.h +88 -0
- data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +52 -0
- data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +68 -0
- data/vendor/local/include/glib-2.0/gio/gthemedicon.h +63 -0
- data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +81 -0
- data/vendor/local/include/glib-2.0/gio/gvfs.h +125 -0
- data/vendor/local/include/glib-2.0/gio/gvolume.h +211 -0
- data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +150 -0
- data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +60 -0
- data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +57 -0
- data/vendor/local/include/glib-2.0/glib-object.h +42 -0
- data/vendor/local/include/glib-2.0/glib.h +99 -0
- data/vendor/local/include/glib-2.0/glib/galloca.h +110 -0
- data/vendor/local/include/glib-2.0/glib/garray.h +179 -0
- data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +120 -0
- data/vendor/local/include/glib-2.0/glib/gatomic.h +105 -0
- data/vendor/local/include/glib-2.0/glib/gbacktrace.h +68 -0
- data/vendor/local/include/glib-2.0/glib/gbase64.h +57 -0
- data/vendor/local/include/glib-2.0/glib/gbitlock.h +43 -0
- data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +215 -0
- data/vendor/local/include/glib-2.0/glib/gcache.h +69 -0
- data/vendor/local/include/glib-2.0/glib/gchecksum.h +86 -0
- data/vendor/local/include/glib-2.0/glib/gcompletion.h +81 -0
- data/vendor/local/include/glib-2.0/glib/gconvert.h +162 -0
- data/vendor/local/include/glib-2.0/glib/gdataset.h +122 -0
- data/vendor/local/include/glib-2.0/glib/gdate.h +263 -0
- data/vendor/local/include/glib-2.0/glib/gdatetime.h +217 -0
- data/vendor/local/include/glib-2.0/glib/gdir.h +52 -0
- data/vendor/local/include/glib-2.0/glib/gerror.h +98 -0
- data/vendor/local/include/glib-2.0/glib/gfileutils.h +128 -0
- data/vendor/local/include/glib-2.0/glib/ghash.h +166 -0
- data/vendor/local/include/glib-2.0/glib/ghook.h +181 -0
- data/vendor/local/include/glib-2.0/glib/ghostutils.h +40 -0
- data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +38 -0
- data/vendor/local/include/glib-2.0/glib/gi18n.h +34 -0
- data/vendor/local/include/glib-2.0/glib/giochannel.h +366 -0
- data/vendor/local/include/glib-2.0/glib/gkeyfile.h +266 -0
- data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
- data/vendor/local/include/glib-2.0/glib/gmacros.h +284 -0
- data/vendor/local/include/glib-2.0/glib/gmain.h +531 -0
- data/vendor/local/include/glib-2.0/glib/gmappedfile.h +49 -0
- data/vendor/local/include/glib-2.0/glib/gmarkup.h +163 -0
- data/vendor/local/include/glib-2.0/glib/gmem.h +309 -0
- data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
- data/vendor/local/include/glib-2.0/glib/gnode.h +290 -0
- data/vendor/local/include/glib-2.0/glib/goption.h +370 -0
- data/vendor/local/include/glib-2.0/glib/gpattern.h +49 -0
- data/vendor/local/include/glib-2.0/glib/gpoll.h +117 -0
- data/vendor/local/include/glib-2.0/glib/gprimes.h +51 -0
- data/vendor/local/include/glib-2.0/glib/gprintf.h +52 -0
- data/vendor/local/include/glib-2.0/glib/gqsort.h +46 -0
- data/vendor/local/include/glib-2.0/glib/gquark.h +52 -0
- data/vendor/local/include/glib-2.0/glib/gqueue.h +127 -0
- data/vendor/local/include/glib-2.0/glib/grand.h +85 -0
- data/vendor/local/include/glib-2.0/glib/gregex.h +471 -0
- data/vendor/local/include/glib-2.0/glib/grel.h +101 -0
- data/vendor/local/include/glib-2.0/glib/gscanner.h +278 -0
- data/vendor/local/include/glib-2.0/glib/gsequence.h +128 -0
- data/vendor/local/include/glib-2.0/glib/gshell.h +55 -0
- data/vendor/local/include/glib-2.0/glib/gslice.h +86 -0
- data/vendor/local/include/glib-2.0/glib/gslist.h +114 -0
- data/vendor/local/include/glib-2.0/glib/gspawn.h +139 -0
- data/vendor/local/include/glib-2.0/glib/gstdio.h +147 -0
- data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +269 -0
- data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
- data/vendor/local/include/glib-2.0/glib/gtestutils.h +297 -0
- data/vendor/local/include/glib-2.0/glib/gthread.h +407 -0
- data/vendor/local/include/glib-2.0/glib/gthreadpool.h +114 -0
- data/vendor/local/include/glib-2.0/glib/gtimer.h +65 -0
- data/vendor/local/include/glib-2.0/glib/gtimezone.h +44 -0
- data/vendor/local/include/glib-2.0/glib/gtree.h +91 -0
- data/vendor/local/include/glib-2.0/glib/gtypes.h +451 -0
- data/vendor/local/include/glib-2.0/glib/gunicode.h +421 -0
- data/vendor/local/include/glib-2.0/glib/gurifuncs.h +81 -0
- data/vendor/local/include/glib-2.0/glib/gutils.h +490 -0
- data/vendor/local/include/glib-2.0/glib/gvariant.h +248 -0
- data/vendor/local/include/glib-2.0/glib/gvarianttype.h +334 -0
- data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
- data/vendor/local/include/glib-2.0/gmodule.h +101 -0
- data/vendor/local/include/glib-2.0/gobject/gbinding.h +136 -0
- data/vendor/local/include/glib-2.0/gobject/gboxed.h +248 -0
- data/vendor/local/include/glib-2.0/gobject/gclosure.h +251 -0
- data/vendor/local/include/glib-2.0/gobject/genums.h +261 -0
- data/vendor/local/include/glib-2.0/gobject/gmarshal.h +186 -0
- data/vendor/local/include/glib-2.0/gobject/gobject.h +567 -0
- data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +193 -0
- data/vendor/local/include/glib-2.0/gobject/gparam.h +415 -0
- data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1137 -0
- data/vendor/local/include/glib-2.0/gobject/gsignal.h +509 -0
- data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +51 -0
- data/vendor/local/include/glib-2.0/gobject/gtype.h +1736 -0
- data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +263 -0
- data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +134 -0
- data/vendor/local/include/glib-2.0/gobject/gvalue.h +159 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +77 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +227 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +260 -0
- data/vendor/local/include/libintl.h +464 -0
- data/vendor/local/lib/GNU.Gettext.dll +0 -0
- data/vendor/local/lib/gio-2.0.def +1143 -0
- data/vendor/local/lib/gio-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0.def +1452 -0
- data/vendor/local/lib/glib-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
- data/vendor/local/lib/gmodule-2.0.def +11 -0
- data/vendor/local/lib/gmodule-2.0.lib +0 -0
- data/vendor/local/lib/gobject-2.0.def +370 -0
- data/vendor/local/lib/gobject-2.0.lib +0 -0
- data/vendor/local/lib/gthread-2.0.def +3 -0
- data/vendor/local/lib/gthread-2.0.lib +0 -0
- data/vendor/local/lib/intl.lib +0 -0
- data/vendor/local/lib/libasprintf.dll.a +0 -0
- data/vendor/local/lib/libgio-2.0.dll.a +0 -0
- data/vendor/local/lib/libglib-2.0.dll.a +0 -0
- data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
- data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
- data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
- data/vendor/local/lib/libintl.def +31 -0
- data/vendor/local/lib/libintl.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/gio-2.0.pc +15 -0
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +11 -0
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +15 -0
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +14 -0
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +14 -0
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +11 -0
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +11 -0
- data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +81 -0
- data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +3 -0
- data/vendor/local/manifest/glib-dev_2.24.2-2_win32.mft +491 -0
- data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +570 -0
- data/vendor/local/manifest/glib_2.24.2-2_win32.mft +101 -0
- data/vendor/local/manifest/glib_2.26.0-2_win32.mft +102 -0
- data/vendor/local/share/aclocal/glib-2.0.m4 +211 -0
- data/vendor/local/share/aclocal/glib-gettext.m4 +432 -0
- data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +165 -0
- data/vendor/local/share/doc/gettext/bindtextdomain.3.html +160 -0
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +8 -0
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +305 -0
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +356 -0
- data/vendor/local/share/doc/gettext/csharpdoc/begin.html +11 -0
- data/vendor/local/share/doc/gettext/csharpdoc/index.html +10 -0
- data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +6 -0
- data/vendor/local/share/doc/gettext/envsubst.1.html +213 -0
- data/vendor/local/share/doc/gettext/gettext.1.html +266 -0
- data/vendor/local/share/doc/gettext/gettext.3.html +186 -0
- data/vendor/local/share/doc/gettext/ngettext.1.html +280 -0
- data/vendor/local/share/doc/gettext/ngettext.3.html +143 -0
- data/vendor/local/share/doc/gettext/textdomain.3.html +150 -0
- data/vendor/local/share/doc/glib-2.24.2/COPYING +482 -0
- data/vendor/local/share/doc/glib-2.26.0/COPYING +482 -0
- data/vendor/local/share/doc/glib-dev-2.24.2/COPYING +482 -0
- data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +482 -0
- data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
- data/vendor/local/share/glib-2.0/gdb/glib.py +249 -0
- data/vendor/local/share/glib-2.0/gdb/gobject.py +305 -0
- data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +111 -0
- data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +279 -0
- data/vendor/local/share/glib-2.0/schemas/gschema.dtd +60 -0
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1403 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +733 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +563 -0
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +291 -0
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +620 -0
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +245 -0
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +423 -0
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +398 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +254 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +6211 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +1833 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +618 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +2050 -0
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +1124 -0
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +1215 -0
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +540 -0
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +1416 -0
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +272 -0
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +206 -0
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +7462 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +120 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +516 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +312 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +155 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3144 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +262 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +353 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +301 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +217 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +188 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +189 -0
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +261 -0
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +479 -0
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +331 -0
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +717 -0
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +196 -0
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +388 -0
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +808 -0
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +301 -0
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +185 -0
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +393 -0
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +1465 -0
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +848 -0
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +343 -0
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +311 -0
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1012 -0
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +560 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +312 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +348 -0
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +301 -0
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +787 -0
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +350 -0
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +2424 -0
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +609 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1193 -0
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +107 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2438 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +1292 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +513 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +337 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +275 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +745 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -0
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +165 -0
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +377 -0
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +197 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +298 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +222 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +389 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +288 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +237 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +237 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +491 -0
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +274 -0
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1028 -0
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +705 -0
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +252 -0
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +170 -0
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +65 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +153 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +155 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +1084 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +223 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +1598 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +112 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +6250 -0
- data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +207 -0
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +180 -0
- data/vendor/local/share/gtk-doc/html/gio/ch19.html +75 -0
- data/vendor/local/share/gtk-doc/html/gio/ch20.html +217 -0
- data/vendor/local/share/gtk-doc/html/gio/ch20s02.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/ch20s03.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/ch24.html +75 -0
- data/vendor/local/share/gtk-doc/html/gio/ch25.html +217 -0
- data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26.html +57 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +59 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +159 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +46 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +48 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +277 -0
- data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +95 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27.html +70 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +130 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +202 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +96 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +823 -0
- data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +828 -0
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +109 -0
- data/vendor/local/share/gtk-doc/html/gio/extending.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +38 -0
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +33 -0
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +59 -0
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +243 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +316 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1117 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +216 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +339 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +473 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +391 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +159 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +159 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +908 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +933 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +409 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +297 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +313 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +736 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +909 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +666 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +123 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +53 -0
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1736 -0
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +2006 -0
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +102 -0
- data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +53 -0
- data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/icons.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/index.html +435 -0
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +2513 -0
- data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +62 -0
- data/vendor/local/share/gtk-doc/html/gio/networking.html +69 -0
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +390 -0
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +50 -0
- data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/settings.html +38 -0
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
- data/vendor/local/share/gtk-doc/html/gio/style.css +265 -0
- data/vendor/local/share/gtk-doc/html/gio/tools.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/types.html +41 -0
- data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/utils.html +33 -0
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +47 -0
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +77 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +180 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +312 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +559 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +362 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +102 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +124 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +83 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +194 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +420 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +359 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +396 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +417 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +158 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +419 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +8214 -0
- data/vendor/local/share/gtk-doc/html/glib/file-name-encodings.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +893 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +818 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +414 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +466 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +802 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +372 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +500 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2056 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +560 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +1686 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +398 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +1094 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1671 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +460 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +528 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +2045 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +1278 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +1406 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +548 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +1026 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1852 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2201 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +239 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +4278 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1864 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +295 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +1512 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +1367 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +229 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +692 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2196 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2740 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +612 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +1451 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +389 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +1033 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +141 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +706 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +510 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +748 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1105 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1552 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1468 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +194 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2745 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +752 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +269 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +578 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +532 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +1353 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +238 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1282 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1213 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +924 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +470 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +301 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2960 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1291 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1805 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3478 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +606 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +3411 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +245 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +188 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +263 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +400 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3448 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +253 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +438 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +476 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +466 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +159 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +118 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +64 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +160 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +120 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +59 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +93 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +2217 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +121 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +319 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +118 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2183 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2671 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.html +80 -0
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +72 -0
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +131 -0
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +1288 -0
- data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/index.html +344 -0
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +2846 -0
- data/vendor/local/share/gtk-doc/html/glib/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/mainloop-states.gif +0 -0
- data/vendor/local/share/gtk-doc/html/glib/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/style.css +265 -0
- data/vendor/local/share/gtk-doc/html/glib/tools.html +41 -0
- data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +803 -0
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +710 -0
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -0
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +47 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +85 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +55 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +51 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +46 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +38 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +46 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +73 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +201 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +178 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +42 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +42 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +50 -0
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2721 -0
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +136 -0
- data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +113 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +293 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +263 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +92 -0
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +214 -0
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +361 -0
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +307 -0
- data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +417 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2412 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +847 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +1433 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +776 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2741 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +5555 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2875 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4460 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +416 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +260 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +234 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +270 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +117 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +762 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +801 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +143 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +287 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +316 -0
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +76 -0
- data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +100 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +86 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +113 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +122 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +257 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +283 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +125 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +167 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +160 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +121 -0
- data/vendor/local/share/gtk-doc/html/gobject/index.html +192 -0
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +786 -0
- data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +72 -0
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +80 -0
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +66 -0
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +55 -0
- data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +85 -0
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +47 -0
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +377 -0
- data/vendor/local/share/gtk-doc/html/gobject/style.css +265 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +35 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +40 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +63 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +55 -0
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +43 -0
- data/vendor/local/share/gtk-doc/html/gobject/up.png +0 -0
- data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/am/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ar/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ast/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/be/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/cy/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/et/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/hy/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/is/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ka/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/kn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ku/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/locale.alias +77 -0
- data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/mr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ne/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/or/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ps/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/rw/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/si/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ta/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/xh/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/yi/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/man/man1/envsubst.1 +54 -0
- data/vendor/local/share/man/man1/gettext.1 +69 -0
- data/vendor/local/share/man/man1/glib-genmarshal.1 +312 -0
- data/vendor/local/share/man/man1/glib-mkenums.1 +246 -0
- data/vendor/local/share/man/man1/gobject-query.1 +83 -0
- data/vendor/local/share/man/man1/ngettext.1 +68 -0
- data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +72 -0
- data/vendor/local/share/man/man3/bindtextdomain.3 +69 -0
- data/vendor/local/share/man/man3/dcgettext.3 +1 -0
- data/vendor/local/share/man/man3/dcngettext.3 +1 -0
- data/vendor/local/share/man/man3/dgettext.3 +1 -0
- data/vendor/local/share/man/man3/dngettext.3 +1 -0
- data/vendor/local/share/man/man3/gettext.3 +99 -0
- data/vendor/local/share/man/man3/ngettext.3 +60 -0
- data/vendor/local/share/man/man3/textdomain.3 +57 -0
- data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +10423 -0
- data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +457 -0
- data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.log +2602 -0
- data/vendor/local/src/tml/packaging/glib_2.24.2-2_win32.sh +290 -0
- data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +2867 -0
- data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +64 -0
- metadata +952 -0
@@ -0,0 +1,263 @@
|
|
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 GLib Dynamic Type System</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="GObject Reference Manual">
|
8
|
+
<link rel="up" href="pt01.html" title="Part I. Concepts">
|
9
|
+
<link rel="prev" href="ch01s02.html" title="Exporting a C API">
|
10
|
+
<link rel="next" href="gtype-conventions.html" title="Conventions">
|
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"><tr valign="middle">
|
16
|
+
<td><a accesskey="p" href="ch01s02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
+
<td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
18
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
19
|
+
<th width="100%" align="center">GObject Reference Manual</th>
|
20
|
+
<td><a accesskey="n" href="gtype-conventions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
21
|
+
</tr></table>
|
22
|
+
<div class="chapter">
|
23
|
+
<div class="titlepage"><div><div><h2 class="title">
|
24
|
+
<a name="chapter-gtype"></a>The GLib Dynamic Type System</h2></div></div></div>
|
25
|
+
<div class="toc"><dl>
|
26
|
+
<dt><span class="sect1"><a href="chapter-gtype.html#gtype-copy">Copy functions</a></span></dt>
|
27
|
+
<dt><span class="sect1"><a href="gtype-conventions.html">Conventions</a></span></dt>
|
28
|
+
<dt><span class="sect1"><a href="gtype-non-instantiable.html">Non-instantiable non-classed fundamental types</a></span></dt>
|
29
|
+
<dt><span class="sect1"><a href="gtype-instantiable-classed.html">Instantiable classed types: objects</a></span></dt>
|
30
|
+
<dd><dl><dt><span class="sect2"><a href="gtype-instantiable-classed.html#gtype-instantiable-classed-init-done">Initialization and Destruction</a></span></dt></dl></dd>
|
31
|
+
<dt><span class="sect1"><a href="gtype-non-instantiable-classed.html">Non-instantiable classed types: interfaces</a></span></dt>
|
32
|
+
<dd><dl>
|
33
|
+
<dt><span class="sect2"><a href="gtype-non-instantiable-classed.html#gtype-non-instantiable-classed-init">Interface Initialization</a></span></dt>
|
34
|
+
<dt><span class="sect2"><a href="gtype-non-instantiable-classed.html#gtype-non-instantiable-classed-dest">Interface Destruction</a></span></dt>
|
35
|
+
</dl></dd>
|
36
|
+
</dl></div>
|
37
|
+
<p>
|
38
|
+
A type, as manipulated by the GLib type system, is much more generic than what
|
39
|
+
is usually understood as an Object type. It is best explained by looking at the
|
40
|
+
structure and the functions used to register new types in the type system.
|
41
|
+
</p>
|
42
|
+
<pre class="programlisting">
|
43
|
+
typedef struct _GTypeInfo GTypeInfo;
|
44
|
+
struct _GTypeInfo
|
45
|
+
{
|
46
|
+
/* interface types, classed types, instantiated types */
|
47
|
+
guint16 class_size;
|
48
|
+
|
49
|
+
GBaseInitFunc base_init;
|
50
|
+
GBaseFinalizeFunc base_finalize;
|
51
|
+
|
52
|
+
/* classed types, instantiated types */
|
53
|
+
GClassInitFunc class_init;
|
54
|
+
GClassFinalizeFunc class_finalize;
|
55
|
+
gconstpointer class_data;
|
56
|
+
|
57
|
+
/* instantiated types */
|
58
|
+
guint16 instance_size;
|
59
|
+
guint16 n_preallocs;
|
60
|
+
GInstanceInitFunc instance_init;
|
61
|
+
|
62
|
+
/* value handling */
|
63
|
+
const GTypeValueTable *value_table;
|
64
|
+
};
|
65
|
+
GType g_type_register_static (GType parent_type,
|
66
|
+
const gchar *type_name,
|
67
|
+
const GTypeInfo *info,
|
68
|
+
GTypeFlags flags);
|
69
|
+
GType g_type_register_fundamental (GType type_id,
|
70
|
+
const gchar *type_name,
|
71
|
+
const GTypeInfo *info,
|
72
|
+
const GTypeFundamentalInfo *finfo,
|
73
|
+
GTypeFlags flags);
|
74
|
+
</pre>
|
75
|
+
<p>
|
76
|
+
</p>
|
77
|
+
<p>
|
78
|
+
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-register-static" title="g_type_register_static ()">g_type_register_static</a></code> and
|
79
|
+
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-register-fundamental" title="g_type_register_fundamental ()">g_type_register_fundamental</a></code>
|
80
|
+
are the C functions, defined in
|
81
|
+
<code class="filename">gtype.h</code> and implemented in <code class="filename">gtype.c</code>
|
82
|
+
which you should use to register a new <span class="type"><a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a></span> in the program's type system.
|
83
|
+
It is not likely you will ever need to use
|
84
|
+
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-register-fundamental" title="g_type_register_fundamental ()">g_type_register_fundamental</a></code> (you have to be Tim Janik
|
85
|
+
to do that) but in case you want to, the last chapter explains how to create
|
86
|
+
new fundamental types.
|
87
|
+
<sup>[<a name="id356493" href="#ftn.id356493" class="footnote">2</a>]</sup>
|
88
|
+
</p>
|
89
|
+
<p>
|
90
|
+
Fundamental types are top-level types which do not derive from any other type
|
91
|
+
while other non-fundamental types derive from other types.
|
92
|
+
Upon initialization by <code class="function"><a class="link" href="gobject-Type-Information.html#g-type-init" title="g_type_init ()">g_type_init</a></code>, the type system not
|
93
|
+
only initializes its internal data structures but it also registers a number of core
|
94
|
+
types: some of these are fundamental types. Others are types derived from these
|
95
|
+
fundamental types.
|
96
|
+
</p>
|
97
|
+
<p>
|
98
|
+
Fundamental and non-fundamental types are defined by:
|
99
|
+
</p>
|
100
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
101
|
+
<li class="listitem"><p>
|
102
|
+
class size: the class_size field in <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a></span>.
|
103
|
+
</p></li>
|
104
|
+
<li class="listitem"><p>
|
105
|
+
class initialization functions (C++ constructor): the base_init and
|
106
|
+
class_init fields in <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a></span>.
|
107
|
+
</p></li>
|
108
|
+
<li class="listitem"><p>
|
109
|
+
class destruction functions (C++ destructor): the base_finalize and
|
110
|
+
class_finalize fields in <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a></span>.
|
111
|
+
</p></li>
|
112
|
+
<li class="listitem"><p>
|
113
|
+
instance size (C++ parameter to new): the instance_size field in
|
114
|
+
<span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a></span>.
|
115
|
+
</p></li>
|
116
|
+
<li class="listitem"><p>
|
117
|
+
instantiation policy (C++ type of new operator): the n_preallocs
|
118
|
+
field in <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a></span>.
|
119
|
+
</p></li>
|
120
|
+
<li class="listitem"><p>
|
121
|
+
copy functions (C++ copy operators): the value_table field in
|
122
|
+
<span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo">GTypeInfo</a></span>.
|
123
|
+
</p></li>
|
124
|
+
<li class="listitem"><p>
|
125
|
+
type characteristic flags: <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeFlags" title="enum GTypeFlags">GTypeFlags</a></span>.
|
126
|
+
</p></li>
|
127
|
+
</ul></div>
|
128
|
+
<p>
|
129
|
+
Fundamental types are also defined by a set of <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeFundamentalFlags" title="enum GTypeFundamentalFlags">GTypeFundamentalFlags</a></span>
|
130
|
+
which are stored in a <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeFundamentalInfo" title="GTypeFundamentalInfo">GTypeFundamentalInfo</a></span>.
|
131
|
+
Non-fundamental types are furthermore defined by the type of their parent which is
|
132
|
+
passed as the parent_type parameter to <code class="function"><a class="link" href="gobject-Type-Information.html#g-type-register-static" title="g_type_register_static ()">g_type_register_static</a></code>
|
133
|
+
and <code class="function"><a class="link" href="gobject-Type-Information.html#g-type-register-dynamic" title="g_type_register_dynamic ()">g_type_register_dynamic</a></code>.
|
134
|
+
</p>
|
135
|
+
<div class="sect1">
|
136
|
+
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
137
|
+
<a name="gtype-copy"></a>Copy functions</h2></div></div></div>
|
138
|
+
<p>
|
139
|
+
The major common point between <span class="emphasis"><em>all</em></span> GLib types (fundamental and
|
140
|
+
non-fundamental, classed and non-classed, instantiable and non-instantiable) is that
|
141
|
+
they can all be manipulated through a single API to copy/assign them.
|
142
|
+
</p>
|
143
|
+
<p>
|
144
|
+
The <span class="type"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a></span> structure is used as an abstract container for all of these
|
145
|
+
types. Its simplistic API (defined in <code class="filename">gobject/gvalue.h</code>) can be
|
146
|
+
used to invoke the value_table functions registered
|
147
|
+
during type registration: for example <code class="function"><a class="link" href="gobject-Generic-values.html#g-value-copy" title="g_value_copy ()">g_value_copy</a></code> copies the
|
148
|
+
content of a <span class="type"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a></span> to another <span class="type"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a></span>. This is similar
|
149
|
+
to a C++ assignment which invokes the C++ copy operator to modify the default
|
150
|
+
bit-by-bit copy semantics of C++/C structures/classes.
|
151
|
+
</p>
|
152
|
+
<p>
|
153
|
+
The following code shows how you can copy around a 64 bit integer, as well as a <span class="type"><a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a></span>
|
154
|
+
instance pointer (sample code for this is located in the source tarball for this document in
|
155
|
+
<code class="filename">sample/gtype/test.c</code>):
|
156
|
+
</p>
|
157
|
+
<pre class="programlisting">
|
158
|
+
static void test_int (void)
|
159
|
+
{
|
160
|
+
GValue a_value = {0, };
|
161
|
+
GValue b_value = {0, };
|
162
|
+
guint64 a, b;
|
163
|
+
|
164
|
+
a = 0xdeadbeaf;
|
165
|
+
|
166
|
+
g_value_init (&a_value, G_TYPE_UINT64);
|
167
|
+
g_value_set_uint64 (&a_value, a);
|
168
|
+
|
169
|
+
g_value_init (&b_value, G_TYPE_UINT64);
|
170
|
+
g_value_copy (&a_value, &b_value);
|
171
|
+
|
172
|
+
b = g_value_get_uint64 (&b_value);
|
173
|
+
|
174
|
+
if (a == b) {
|
175
|
+
g_print ("Yay !! 10 lines of code to copy around a uint64.\n");
|
176
|
+
} else {
|
177
|
+
g_print ("Are you sure this is not a Z80 ?\n");
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
static void test_object (void)
|
182
|
+
{
|
183
|
+
GObject *obj;
|
184
|
+
GValue obj_vala = {0, };
|
185
|
+
GValue obj_valb = {0, };
|
186
|
+
obj = g_object_new (MAMAN_TYPE_BAR, NULL);
|
187
|
+
|
188
|
+
g_value_init (&obj_vala, MAMAN_TYPE_BAR);
|
189
|
+
g_value_set_object (&obj_vala, obj);
|
190
|
+
|
191
|
+
g_value_init (&obj_valb, G_TYPE_OBJECT);
|
192
|
+
|
193
|
+
/* g_value_copy's semantics for G_TYPE_OBJECT types is to copy the reference.
|
194
|
+
This function thus calls g_object_ref.
|
195
|
+
It is interesting to note that the assignment works here because
|
196
|
+
MAMAN_TYPE_BAR is a G_TYPE_OBJECT.
|
197
|
+
*/
|
198
|
+
g_value_copy (&obj_vala, &obj_valb);
|
199
|
+
|
200
|
+
g_object_unref (G_OBJECT (obj));
|
201
|
+
g_object_unref (G_OBJECT (obj));
|
202
|
+
}
|
203
|
+
</pre>
|
204
|
+
<p>
|
205
|
+
The important point about the above code is that the exact semantics of the copy calls
|
206
|
+
is undefined since they depend on the implementation of the copy function. Certain
|
207
|
+
copy functions might decide to allocate a new chunk of memory and then to copy the
|
208
|
+
data from the source to the destination. Others might want to simply increment
|
209
|
+
the reference count of the instance and copy the reference to the new GValue.
|
210
|
+
</p>
|
211
|
+
<p>
|
212
|
+
The value_table used to specify these assignment functions is defined in
|
213
|
+
<code class="filename">gtype.h</code> and is thoroughly described in the
|
214
|
+
API documentation provided with GObject (for once ;-) which is why we will
|
215
|
+
not detail its exact semantics.
|
216
|
+
</p>
|
217
|
+
<pre class="programlisting">
|
218
|
+
typedef struct _GTypeValueTable GTypeValueTable;
|
219
|
+
struct _GTypeValueTable
|
220
|
+
{
|
221
|
+
void (*value_init) (GValue *value);
|
222
|
+
void (*value_free) (GValue *value);
|
223
|
+
void (*value_copy) (const GValue *src_value,
|
224
|
+
GValue *dest_value);
|
225
|
+
/* varargs functionality (optional) */
|
226
|
+
gpointer (*value_peek_pointer) (const GValue *value);
|
227
|
+
gchar *collect_format;
|
228
|
+
gchar* (*collect_value) (GValue *value,
|
229
|
+
guint n_collect_values,
|
230
|
+
GTypeCValue *collect_values,
|
231
|
+
guint collect_flags);
|
232
|
+
gchar *lcopy_format;
|
233
|
+
gchar* (*lcopy_value) (const GValue *value,
|
234
|
+
guint n_collect_values,
|
235
|
+
GTypeCValue *collect_values,
|
236
|
+
guint collect_flags);
|
237
|
+
};
|
238
|
+
</pre>
|
239
|
+
<p>
|
240
|
+
Interestingly, it is also very unlikely
|
241
|
+
you will ever need to specify a value_table during type registration
|
242
|
+
because these value_tables are inherited from the parent types for
|
243
|
+
non-fundamental types which means that unless you want to write a
|
244
|
+
fundamental type (not a great idea!), you will not need to provide
|
245
|
+
a new value_table since you will inherit the value_table structure
|
246
|
+
from your parent type.
|
247
|
+
</p>
|
248
|
+
</div>
|
249
|
+
<div class="footnotes">
|
250
|
+
<br><hr width="100" align="left">
|
251
|
+
<div class="footnote"><p><sup>[<a name="ftn.id356493" href="#id356493" class="para">2</a>] </sup>
|
252
|
+
Please note that there exists another registration function: the
|
253
|
+
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-register-dynamic" title="g_type_register_dynamic ()">g_type_register_dynamic</a></code>. We will not discuss this
|
254
|
+
function here since its use is very similar to the <code class="function">_static</code>
|
255
|
+
version.
|
256
|
+
</p></div>
|
257
|
+
</div>
|
258
|
+
</div>
|
259
|
+
<div class="footer">
|
260
|
+
<hr>
|
261
|
+
Generated by GTK-Doc V1.15.1</div>
|
262
|
+
</body>
|
263
|
+
</html>
|
@@ -0,0 +1,92 @@
|
|
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>Background</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="GObject Reference Manual">
|
8
|
+
<link rel="up" href="pt01.html" title="Part I. Concepts">
|
9
|
+
<link rel="prev" href="pt01.html" title="Part I. Concepts">
|
10
|
+
<link rel="next" href="ch01s02.html" title="Exporting a C API">
|
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"><tr valign="middle">
|
16
|
+
<td><a accesskey="p" href="pt01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
+
<td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
18
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
19
|
+
<th width="100%" align="center">GObject Reference Manual</th>
|
20
|
+
<td><a accesskey="n" href="ch01s02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
21
|
+
</tr></table>
|
22
|
+
<div class="chapter">
|
23
|
+
<div class="titlepage"><div><div><h2 class="title">
|
24
|
+
<a name="chapter-intro"></a>Background</h2></div></div></div>
|
25
|
+
<div class="toc"><dl>
|
26
|
+
<dt><span class="sect1"><a href="chapter-intro.html#id313385">Data types and programming</a></span></dt>
|
27
|
+
<dt><span class="sect1"><a href="ch01s02.html">Exporting a C API</a></span></dt>
|
28
|
+
</dl></div>
|
29
|
+
<p>
|
30
|
+
GObject, and its lower-level type system, GType, are used by GTK+ and most GNOME libraries to
|
31
|
+
provide:
|
32
|
+
</p>
|
33
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
34
|
+
<li class="listitem"><p>object-oriented C-based APIs and</p></li>
|
35
|
+
<li class="listitem"><p>automatic transparent API bindings to other compiled
|
36
|
+
or interpreted languages.</p></li>
|
37
|
+
</ul></div>
|
38
|
+
<p>
|
39
|
+
</p>
|
40
|
+
<p>
|
41
|
+
A lot of programmers are used to working with compiled-only or dynamically interpreted-only
|
42
|
+
languages and do not understand the challenges associated with cross-language interoperability.
|
43
|
+
This introduction tries to provide an insight into these challenges and briefly describes
|
44
|
+
the solution chosen by GLib.
|
45
|
+
</p>
|
46
|
+
<p>
|
47
|
+
The following chapters go into greater detail into how GType and GObject work and
|
48
|
+
how you can use them as a C programmer. It is useful to keep in mind that
|
49
|
+
allowing access to C objects from other interpreted languages was one of the major design
|
50
|
+
goals: this can often explain the sometimes rather convoluted APIs and features present
|
51
|
+
in this library.
|
52
|
+
</p>
|
53
|
+
<div class="sect1">
|
54
|
+
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
55
|
+
<a name="id313385"></a>Data types and programming</h2></div></div></div>
|
56
|
+
<p>
|
57
|
+
One could say (I have seen such definitions used in some textbooks on programming language theory)
|
58
|
+
that a programming language is merely a way to create data types and manipulate them. Most languages
|
59
|
+
provide a number of language-native types and a few primitives to create more complex types based
|
60
|
+
on these primitive types.
|
61
|
+
</p>
|
62
|
+
<p>
|
63
|
+
In C, the language provides types such as <span class="emphasis"><em>char</em></span>, <span class="emphasis"><em>long</em></span>,
|
64
|
+
<span class="emphasis"><em>pointer</em></span>. During compilation of C code, the compiler maps these
|
65
|
+
language types to the compiler's target architecture machine types. If you are using a C interpreter
|
66
|
+
(I have never seen one myself but it is possible :), the interpreter (the program which interprets
|
67
|
+
the source code and executes it) maps the language types to the machine types of the target machine at
|
68
|
+
runtime, during the program execution (or just before execution if it uses a Just In Time compiler engine).
|
69
|
+
</p>
|
70
|
+
<p>
|
71
|
+
Perl and Python are interpreted languages which do not really provide type definitions similar
|
72
|
+
to those used by C. Perl and Python programmers manipulate variables and the type of the variables
|
73
|
+
is decided only upon the first assignment or upon the first use which forces a type on the variable.
|
74
|
+
The interpreter also often provides a lot of automatic conversions from one type to the other. For example,
|
75
|
+
in Perl, a variable which holds an integer can be automatically converted to a string given the
|
76
|
+
required context:
|
77
|
+
</p>
|
78
|
+
<pre class="programlisting">
|
79
|
+
my $tmp = 10;
|
80
|
+
print "this is an integer converted to a string:" . $tmp . "\n";
|
81
|
+
</pre>
|
82
|
+
<p>
|
83
|
+
Of course, it is also often possible to explicitly specify conversions when the default conversions provided
|
84
|
+
by the language are not intuitive.
|
85
|
+
</p>
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
<div class="footer">
|
89
|
+
<hr>
|
90
|
+
Generated by GTK-Doc V1.15.1</div>
|
91
|
+
</body>
|
92
|
+
</html>
|
@@ -0,0 +1,214 @@
|
|
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 GObject messaging system</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="GObject Reference Manual">
|
8
|
+
<link rel="up" href="pt01.html" title="Part I. Concepts">
|
9
|
+
<link rel="prev" href="gobject-properties.html" title="Object properties">
|
10
|
+
<link rel="next" href="signal.html" title="Signals">
|
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"><tr valign="middle">
|
16
|
+
<td><a accesskey="p" href="gobject-properties.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
+
<td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
18
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
19
|
+
<th width="100%" align="center">GObject Reference Manual</th>
|
20
|
+
<td><a accesskey="n" href="signal.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
21
|
+
</tr></table>
|
22
|
+
<div class="chapter">
|
23
|
+
<div class="titlepage"><div><div><h2 class="title">
|
24
|
+
<a name="chapter-signal"></a>The GObject messaging system</h2></div></div></div>
|
25
|
+
<div class="toc"><dl>
|
26
|
+
<dt><span class="sect1"><a href="chapter-signal.html#closure">Closures</a></span></dt>
|
27
|
+
<dd><dl>
|
28
|
+
<dt><span class="sect2"><a href="chapter-signal.html#id386863">C Closures</a></span></dt>
|
29
|
+
<dt><span class="sect2"><a href="chapter-signal.html#id382891">Non-C closures (for the fearless)</a></span></dt>
|
30
|
+
</dl></dd>
|
31
|
+
<dt><span class="sect1"><a href="signal.html">Signals</a></span></dt>
|
32
|
+
<dd><dl>
|
33
|
+
<dt><span class="sect2"><a href="signal.html#signal-registration">Signal registration</a></span></dt>
|
34
|
+
<dt><span class="sect2"><a href="signal.html#signal-connection">Signal connection</a></span></dt>
|
35
|
+
<dt><span class="sect2"><a href="signal.html#signal-emission">Signal emission</a></span></dt>
|
36
|
+
<dt><span class="sect2"><a href="signal.html#signal-detail">The <span class="emphasis"><em>detail</em></span> argument</a></span></dt>
|
37
|
+
</dl></dd>
|
38
|
+
</dl></div>
|
39
|
+
<div class="sect1">
|
40
|
+
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
41
|
+
<a name="closure"></a>Closures</h2></div></div></div>
|
42
|
+
<p>
|
43
|
+
Closures are central to the concept of asynchronous signal delivery
|
44
|
+
which is widely used throughout GTK+ and GNOME applications. A closure is an
|
45
|
+
abstraction, a generic representation of a callback. It is a small structure
|
46
|
+
which contains three objects:
|
47
|
+
</p>
|
48
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
49
|
+
<li class="listitem">
|
50
|
+
<p>a function pointer (the callback itself) whose prototype looks like:
|
51
|
+
</p>
|
52
|
+
<pre class="programlisting">
|
53
|
+
return_type function_callback (... , gpointer user_data);
|
54
|
+
</pre>
|
55
|
+
<p>
|
56
|
+
</p>
|
57
|
+
</li>
|
58
|
+
<li class="listitem"><p>
|
59
|
+
the user_data pointer which is passed to the callback upon invocation of the closure
|
60
|
+
</p></li>
|
61
|
+
<li class="listitem"><p>
|
62
|
+
a function pointer which represents the destructor of the closure: whenever the
|
63
|
+
closure's refcount reaches zero, this function will be called before the closure
|
64
|
+
structure is freed.
|
65
|
+
</p></li>
|
66
|
+
</ul></div>
|
67
|
+
<p>
|
68
|
+
</p>
|
69
|
+
<p>
|
70
|
+
The <span class="type"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure">GClosure</a></span> structure represents the common functionality of all
|
71
|
+
closure implementations: there exists a different Closure implementation for
|
72
|
+
each separate runtime which wants to use the GObject type system.
|
73
|
+
<sup>[<a name="id359882" href="#ftn.id359882" class="footnote">6</a>]</sup>
|
74
|
+
The GObject library provides a simple <span class="type"><a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure">GCClosure</a></span> type which
|
75
|
+
is a specific implementation of closures to be used with C/C++ callbacks.
|
76
|
+
</p>
|
77
|
+
<p>
|
78
|
+
A <span class="type"><a class="link" href="gobject-Closures.html#GClosure" title="GClosure">GClosure</a></span> provides simple services:
|
79
|
+
</p>
|
80
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
81
|
+
<li class="listitem"><p>
|
82
|
+
Invocation (<code class="function"><a class="link" href="gobject-Closures.html#g-closure-invoke" title="g_closure_invoke ()">g_closure_invoke</a></code>): this is what closures
|
83
|
+
were created for: they hide the details of callback invocation from the
|
84
|
+
callback invoker.</p></li>
|
85
|
+
<li class="listitem"><p>
|
86
|
+
Notification: the closure notifies listeners of certain events such as
|
87
|
+
closure invocation, closure invalidation and closure finalization. Listeners
|
88
|
+
can be registered with <code class="function"><a class="link" href="gobject-Closures.html#g-closure-add-finalize-notifier" title="g_closure_add_finalize_notifier ()">g_closure_add_finalize_notifier</a></code>
|
89
|
+
(finalization notification), <code class="function"><a class="link" href="gobject-Closures.html#g-closure-add-invalidate-notifier" title="g_closure_add_invalidate_notifier ()">g_closure_add_invalidate_notifier</a></code>
|
90
|
+
(invalidation notification) and
|
91
|
+
<code class="function"><a class="link" href="gobject-Closures.html#g-closure-add-marshal-guards" title="g_closure_add_marshal_guards ()">g_closure_add_marshal_guards</a></code> (invocation notification).
|
92
|
+
There exist symmetric deregistration functions for finalization and invalidation
|
93
|
+
events (<code class="function"><a class="link" href="gobject-Closures.html#g-closure-remove-finalize-notifier" title="g_closure_remove_finalize_notifier ()">g_closure_remove_finalize_notifier</a></code> and
|
94
|
+
<code class="function"><a class="link" href="gobject-Closures.html#g-closure-remove-invalidate-notifier" title="g_closure_remove_invalidate_notifier ()">g_closure_remove_invalidate_notifier</a></code>) but not for the invocation
|
95
|
+
process.
|
96
|
+
<sup>[<a name="id386852" href="#ftn.id386852" class="footnote">7</a>]</sup></p></li>
|
97
|
+
</ul></div>
|
98
|
+
<p>
|
99
|
+
</p>
|
100
|
+
<div class="sect2">
|
101
|
+
<div class="titlepage"><div><div><h3 class="title">
|
102
|
+
<a name="id386863"></a>C Closures</h3></div></div></div>
|
103
|
+
<p>
|
104
|
+
If you are using C or C++
|
105
|
+
to connect a callback to a given event, you will either use simple <span class="type"><a class="link" href="gobject-Closures.html#GCClosure" title="GCClosure">GCClosure</a></span>s
|
106
|
+
which have a pretty minimal API or the even simpler <code class="function"><a class="link" href="gobject-Signals.html#g-signal-connect" title="g_signal_connect()">g_signal_connect</a></code>
|
107
|
+
functions (which will be presented a bit later :).
|
108
|
+
</p>
|
109
|
+
<pre class="programlisting">
|
110
|
+
GClosure *g_cclosure_new (GCallback callback_func,
|
111
|
+
gpointer user_data,
|
112
|
+
GClosureNotify destroy_data);
|
113
|
+
GClosure *g_cclosure_new_swap (GCallback callback_func,
|
114
|
+
gpointer user_data,
|
115
|
+
GClosureNotify destroy_data);
|
116
|
+
GClosure *g_signal_type_cclosure_new (GType itype,
|
117
|
+
guint struct_offset);
|
118
|
+
</pre>
|
119
|
+
<p>
|
120
|
+
</p>
|
121
|
+
<p>
|
122
|
+
<code class="function"><a class="link" href="gobject-Closures.html#g-cclosure-new" title="g_cclosure_new ()">g_cclosure_new</a></code> will create a new closure which can invoke the
|
123
|
+
user-provided callback_func with the user-provided user_data as last parameter. When the closure
|
124
|
+
is finalized (second stage of the destruction process), it will invoke the destroy_data function
|
125
|
+
if the user has supplied one.
|
126
|
+
</p>
|
127
|
+
<p>
|
128
|
+
<code class="function"><a class="link" href="gobject-Closures.html#g-cclosure-new-swap" title="g_cclosure_new_swap ()">g_cclosure_new_swap</a></code> will create a new closure which can invoke the
|
129
|
+
user-provided callback_func with the user-provided user_data as first parameter (instead of being the
|
130
|
+
last parameter as with <code class="function"><a class="link" href="gobject-Closures.html#g-cclosure-new" title="g_cclosure_new ()">g_cclosure_new</a></code>). When the closure
|
131
|
+
is finalized (second stage of the destruction process), it will invoke the destroy_data
|
132
|
+
function if the user has supplied one.
|
133
|
+
</p>
|
134
|
+
</div>
|
135
|
+
<div class="sect2">
|
136
|
+
<div class="titlepage"><div><div><h3 class="title">
|
137
|
+
<a name="id382891"></a>Non-C closures (for the fearless)</h3></div></div></div>
|
138
|
+
<p>
|
139
|
+
As was explained above, closures hide the details of callback invocation. In C,
|
140
|
+
callback invocation is just like function invocation: it is a matter of creating
|
141
|
+
the correct stack frame for the called function and executing a <span class="emphasis"><em>call</em></span>
|
142
|
+
assembly instruction.
|
143
|
+
</p>
|
144
|
+
<p>
|
145
|
+
C closure marshallers transform the array of GValues which represent
|
146
|
+
the parameters to the target function into a C-style function parameter list, invoke
|
147
|
+
the user-supplied C function with this new parameter list, get the return value of the
|
148
|
+
function, transform it into a GValue and return this GValue to the marshaller caller.
|
149
|
+
</p>
|
150
|
+
<p>
|
151
|
+
The following code implements a simple marshaller in C for a C function which takes an
|
152
|
+
integer as first parameter and returns void.
|
153
|
+
</p>
|
154
|
+
<pre class="programlisting">
|
155
|
+
g_cclosure_marshal_VOID__INT (GClosure *closure,
|
156
|
+
GValue *return_value,
|
157
|
+
guint n_param_values,
|
158
|
+
const GValue *param_values,
|
159
|
+
gpointer invocation_hint,
|
160
|
+
gpointer marshal_data)
|
161
|
+
{
|
162
|
+
typedef void (*GMarshalFunc_VOID__INT) (gpointer data1,
|
163
|
+
gint arg_1,
|
164
|
+
gpointer data2);
|
165
|
+
register GMarshalFunc_VOID__INT callback;
|
166
|
+
register GCClosure *cc = (GCClosure*) closure;
|
167
|
+
register gpointer data1, data2;
|
168
|
+
|
169
|
+
g_return_if_fail (n_param_values == 2);
|
170
|
+
|
171
|
+
data1 = g_value_peek_pointer (param_values + 0);
|
172
|
+
data2 = closure->data;
|
173
|
+
|
174
|
+
callback = (GMarshalFunc_VOID__INT) (marshal_data ? marshal_data : cc->callback);
|
175
|
+
|
176
|
+
callback (data1,
|
177
|
+
g_marshal_value_peek_int (param_values + 1),
|
178
|
+
data2);
|
179
|
+
}
|
180
|
+
</pre>
|
181
|
+
<p>
|
182
|
+
</p>
|
183
|
+
<p>
|
184
|
+
Of course, there exist other kinds of marshallers. For example, James Henstridge
|
185
|
+
wrote a generic Python marshaller which is used by all Python closures (a Python closure
|
186
|
+
is used to have Python-based callback be invoked by the closure invocation process).
|
187
|
+
This Python marshaller transforms the input GValue list representing the function
|
188
|
+
parameters into a Python tuple which is the equivalent structure in Python (you can
|
189
|
+
look in <code class="function">pyg_closure_marshal</code> in <code class="filename">pygtype.c</code>
|
190
|
+
in the <span class="emphasis"><em>pygobject</em></span> module in the GNOME source code repository).
|
191
|
+
</p>
|
192
|
+
</div>
|
193
|
+
</div>
|
194
|
+
<div class="footnotes">
|
195
|
+
<br><hr width="100" align="left">
|
196
|
+
<div class="footnote"><p><sup>[<a name="ftn.id359882" href="#id359882" class="para">6</a>] </sup>
|
197
|
+
In practice, closures sit at the boundary of language runtimes: if you are
|
198
|
+
writing Python code and one of your Python callbacks receives a signal from
|
199
|
+
a GTK+ widget, the C code in GTK+ needs to execute your Python
|
200
|
+
code. The closure invoked by the GTK+ object invokes the Python callback:
|
201
|
+
it behaves as a normal C object for GTK+ and as a normal Python object for
|
202
|
+
Python code.
|
203
|
+
</p></div>
|
204
|
+
<div class="footnote"><p><sup>[<a name="ftn.id386852" href="#id386852" class="para">7</a>] </sup>
|
205
|
+
Closures are reference counted and notify listeners of their destruction in a two-stage
|
206
|
+
process: the invalidation notifiers are invoked before the finalization notifiers.
|
207
|
+
</p></div>
|
208
|
+
</div>
|
209
|
+
</div>
|
210
|
+
<div class="footer">
|
211
|
+
<hr>
|
212
|
+
Generated by GTK-Doc V1.15.1</div>
|
213
|
+
</body>
|
214
|
+
</html>
|