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,234 @@
|
|
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>Object memory management</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="chapter-gobject.html" title="The GObject base class">
|
9
|
+
<link rel="prev" href="chapter-gobject.html" title="The GObject base class">
|
10
|
+
<link rel="next" href="gobject-properties.html" title="Object properties">
|
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="chapter-gobject.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
+
<td><a accesskey="u" href="chapter-gobject.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="gobject-properties.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
21
|
+
</tr></table>
|
22
|
+
<div class="sect1">
|
23
|
+
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
24
|
+
<a name="gobject-memory"></a>Object memory management</h2></div></div></div>
|
25
|
+
<p>
|
26
|
+
The memory-management API for GObjects is a bit complicated but the idea behind it
|
27
|
+
is pretty simple: the goal is to provide a flexible model based on reference counting
|
28
|
+
which can be integrated in applications which use or require different memory management
|
29
|
+
models (such as garbage collection, aso...). The methods which are used to
|
30
|
+
manipulate this reference count are described below.
|
31
|
+
</p>
|
32
|
+
<pre class="programlisting">
|
33
|
+
/*
|
34
|
+
Refcounting
|
35
|
+
*/
|
36
|
+
gpointer g_object_ref (gpointer object);
|
37
|
+
void g_object_unref (gpointer object);
|
38
|
+
|
39
|
+
/*
|
40
|
+
* Weak References
|
41
|
+
*/
|
42
|
+
typedef void (*GWeakNotify) (gpointer data,
|
43
|
+
GObject *where_the_object_was);
|
44
|
+
|
45
|
+
void g_object_weak_ref (GObject *object,
|
46
|
+
GWeakNotify notify,
|
47
|
+
gpointer data);
|
48
|
+
void g_object_weak_unref (GObject *object,
|
49
|
+
GWeakNotify notify,
|
50
|
+
gpointer data);
|
51
|
+
void g_object_add_weak_pointer (GObject *object,
|
52
|
+
gpointer *weak_pointer_location);
|
53
|
+
void g_object_remove_weak_pointer (GObject *object,
|
54
|
+
gpointer *weak_pointer_location);
|
55
|
+
/*
|
56
|
+
* Cycle handling
|
57
|
+
*/
|
58
|
+
void g_object_run_dispose (GObject *object);
|
59
|
+
</pre>
|
60
|
+
<p>
|
61
|
+
</p>
|
62
|
+
<div class="sect2">
|
63
|
+
<div class="titlepage"><div><div><h3 class="title">
|
64
|
+
<a name="gobject-memory-refcount"></a>Reference count</h3></div></div></div>
|
65
|
+
<p>
|
66
|
+
The functions <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()">g_object_ref</a></code>/<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a></code> respectively
|
67
|
+
increase and decrease the reference count.These functions are thread-safe as of GLib 2.8.
|
68
|
+
The reference count is, unsurprisingly, initialized to one by
|
69
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()">g_object_new</a></code> which means that the caller
|
70
|
+
is currently the sole owner of the newly-created reference.
|
71
|
+
When the reference count reaches zero, that is,
|
72
|
+
when <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a></code> is called by the last client holding
|
73
|
+
a reference to the object, the <span class="emphasis"><em>dispose</em></span> and the
|
74
|
+
<span class="emphasis"><em>finalize</em></span> class methods are invoked.
|
75
|
+
</p>
|
76
|
+
<p>
|
77
|
+
Finally, after <span class="emphasis"><em>finalize</em></span> is invoked,
|
78
|
+
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-free-instance" title="g_type_free_instance ()">g_type_free_instance</a></code> is called to free the object instance.
|
79
|
+
Depending on the memory allocation policy decided when the type was registered (through
|
80
|
+
one of the <code class="function">g_type_register_*</code> functions), the object's instance
|
81
|
+
memory will be freed or returned to the object pool for this type.
|
82
|
+
Once the object has been freed, if it was the last instance of the type, the type's class
|
83
|
+
will be destroyed as described in <a class="xref" href="gtype-instantiable-classed.html" title="Instantiable classed types: objects">the section called “Instantiable classed types: objects”</a> and
|
84
|
+
<a class="xref" href="gtype-non-instantiable-classed.html" title="Non-instantiable classed types: interfaces">the section called “Non-instantiable classed types: interfaces”</a>.
|
85
|
+
</p>
|
86
|
+
<p>
|
87
|
+
The table below summarizes the destruction process of a GObject:
|
88
|
+
</p>
|
89
|
+
<div class="table">
|
90
|
+
<a name="gobject-destruction-table"></a><p class="title"><b>Table 5. <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a></code></b></p>
|
91
|
+
<div class="table-contents"><table summary="g_object_unref" border="1">
|
92
|
+
<colgroup>
|
93
|
+
<col align="left">
|
94
|
+
<col align="left">
|
95
|
+
<col align="left">
|
96
|
+
</colgroup>
|
97
|
+
<thead><tr>
|
98
|
+
<th align="left">Invocation time</th>
|
99
|
+
<th align="left">Function Invoked</th>
|
100
|
+
<th align="left">Function's parameters</th>
|
101
|
+
<th>Remark</th>
|
102
|
+
</tr></thead>
|
103
|
+
<tbody>
|
104
|
+
<tr>
|
105
|
+
<td rowspan="2" align="left">Last call to <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a></code> for an instance
|
106
|
+
of target type
|
107
|
+
</td>
|
108
|
+
<td align="left">target type's dispose class function</td>
|
109
|
+
<td align="left">GObject instance</td>
|
110
|
+
<td>
|
111
|
+
When dispose ends, the object should not hold any reference to any other
|
112
|
+
member object. The object is also expected to be able to answer client
|
113
|
+
method invocations (with possibly an error code but no memory violation)
|
114
|
+
until finalize is executed. dispose can be executed more than once.
|
115
|
+
dispose should chain up to its parent implementation just before returning
|
116
|
+
to the caller.
|
117
|
+
</td>
|
118
|
+
</tr>
|
119
|
+
<tr>
|
120
|
+
<td align="left">target type's finalize class function</td>
|
121
|
+
<td align="left">GObject instance</td>
|
122
|
+
<td>
|
123
|
+
Finalize is expected to complete the destruction process initiated by
|
124
|
+
dispose. It should complete the object's destruction. finalize will be
|
125
|
+
executed only once.
|
126
|
+
finalize should chain up to its parent implementation just before returning
|
127
|
+
to the caller.
|
128
|
+
The reason why the destruction process is split is two different phases is
|
129
|
+
explained in <a class="xref" href="gobject-memory.html#gobject-memory-cycles" title="Reference counts and cycles">the section called “Reference counts and cycles”</a>.
|
130
|
+
</td>
|
131
|
+
</tr>
|
132
|
+
<tr>
|
133
|
+
<td rowspan="4" align="left">Last call to <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a></code> for the last
|
134
|
+
instance of target type
|
135
|
+
</td>
|
136
|
+
<td align="left">interface' interface_finalize function</td>
|
137
|
+
<td align="left">On interface' vtable</td>
|
138
|
+
<td>Never used in practice. Unlikely you will need it.</td>
|
139
|
+
</tr>
|
140
|
+
<tr>
|
141
|
+
<td align="left">interface' base_finalize function</td>
|
142
|
+
<td align="left">On interface' vtable</td>
|
143
|
+
<td>Never used in practice. Unlikely you will need it.</td>
|
144
|
+
</tr>
|
145
|
+
<tr>
|
146
|
+
<td align="left">target type's class_finalize function</td>
|
147
|
+
<td align="left">On target type's class structure</td>
|
148
|
+
<td>Never used in practice. Unlikely you will need it.</td>
|
149
|
+
</tr>
|
150
|
+
<tr>
|
151
|
+
<td align="left">type's base_finalize function</td>
|
152
|
+
<td align="left">On the inheritance tree of classes from fundamental type to target type.
|
153
|
+
base_init is invoked once for each class structure.</td>
|
154
|
+
<td>Never used in practice. Unlikely you will need it.</td>
|
155
|
+
</tr>
|
156
|
+
</tbody>
|
157
|
+
</table></div>
|
158
|
+
</div>
|
159
|
+
<p><br class="table-break">
|
160
|
+
</p>
|
161
|
+
</div>
|
162
|
+
<div class="sect2">
|
163
|
+
<div class="titlepage"><div><div><h3 class="title">
|
164
|
+
<a name="gobject-memory-weakref"></a>Weak References</h3></div></div></div>
|
165
|
+
<p>
|
166
|
+
Weak References are used to monitor object finalization:
|
167
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-ref" title="g_object_weak_ref ()">g_object_weak_ref</a></code> adds a monitoring callback which does
|
168
|
+
not hold a reference to the object but which is invoked when the object runs
|
169
|
+
its dispose method. As such, each weak ref can be invoked more than once upon
|
170
|
+
object finalization (since dispose can run more than once during object
|
171
|
+
finalization).
|
172
|
+
</p>
|
173
|
+
<p>
|
174
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-unref" title="g_object_weak_unref ()">g_object_weak_unref</a></code> can be used to remove a monitoring
|
175
|
+
callback from the object.
|
176
|
+
</p>
|
177
|
+
<p>
|
178
|
+
Weak References are also used to implement <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer" title="g_object_add_weak_pointer ()">g_object_add_weak_pointer</a></code>
|
179
|
+
and <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-weak-pointer" title="g_object_remove_weak_pointer ()">g_object_remove_weak_pointer</a></code>. These functions add a weak reference
|
180
|
+
to the object they are applied to which makes sure to nullify the pointer given by the user
|
181
|
+
when object is finalized.
|
182
|
+
</p>
|
183
|
+
</div>
|
184
|
+
<div class="sect2">
|
185
|
+
<div class="titlepage"><div><div><h3 class="title">
|
186
|
+
<a name="gobject-memory-cycles"></a>Reference counts and cycles</h3></div></div></div>
|
187
|
+
<p>
|
188
|
+
Note: the following section was inspired by James Henstridge. I guess this means that
|
189
|
+
all praise and all curses will be directly forwarded to him.
|
190
|
+
</p>
|
191
|
+
<p>
|
192
|
+
GObject's memory management model was designed to be easily integrated in existing code
|
193
|
+
using garbage collection. This is why the destruction process is split in two phases:
|
194
|
+
the first phase, executed in the dispose handler is supposed to release all references
|
195
|
+
to other member objects. The second phase, executed by the finalize handler is supposed
|
196
|
+
to complete the object's destruction process. Object methods should be able to run
|
197
|
+
without program error (that is, without segfault :) in-between the two phases.
|
198
|
+
</p>
|
199
|
+
<p>
|
200
|
+
This two-step destruction process is very useful to break reference counting cycles.
|
201
|
+
While the detection of the cycles is up to the external code, once the cycles have been
|
202
|
+
detected, the external code can invoke <code class="function">g_object_dispose</code> which
|
203
|
+
will indeed break any existing cycles since it will run the dispose handler associated
|
204
|
+
to the object and thus release all references to other objects.
|
205
|
+
</p>
|
206
|
+
<p>
|
207
|
+
Attentive readers might now have understood one of the rules about the dispose handler
|
208
|
+
we stated a bit sooner: the dispose handler can be invoked multiple times. Let's say we
|
209
|
+
have a reference count cycle: object A references B which itself references object A.
|
210
|
+
Let's say we have detected the cycle and we want to destroy the two objects. One way to
|
211
|
+
do this would be to invoke <code class="function">g_object_dispose</code> on one of the
|
212
|
+
objects.
|
213
|
+
</p>
|
214
|
+
<p>
|
215
|
+
If object A releases all its references to all objects, this means it releases its
|
216
|
+
reference to object B. If object B was not owned by anyone else, this is its last
|
217
|
+
reference count which means this last unref runs B's dispose handler which, in turn,
|
218
|
+
releases B's reference on object A. If this is A's last reference count, this last
|
219
|
+
unref runs A's dispose handler which is running for the second time before
|
220
|
+
A's finalize handler is invoked !
|
221
|
+
</p>
|
222
|
+
<p>
|
223
|
+
The above example, which might seem a bit contrived can really happen if your
|
224
|
+
GObject's are being handled by language bindings. I would thus suggest the rules stated above
|
225
|
+
for object destruction are closely followed. Otherwise, <span class="emphasis"><em>Bad Bad Things</em></span>
|
226
|
+
will happen.
|
227
|
+
</p>
|
228
|
+
</div>
|
229
|
+
</div>
|
230
|
+
<div class="footer">
|
231
|
+
<hr>
|
232
|
+
Generated by GTK-Doc V1.15.1</div>
|
233
|
+
</body>
|
234
|
+
</html>
|
@@ -0,0 +1,270 @@
|
|
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>Object properties</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="chapter-gobject.html" title="The GObject base class">
|
9
|
+
<link rel="prev" href="gobject-memory.html" title="Object memory management">
|
10
|
+
<link rel="next" href="chapter-signal.html" title="The GObject messaging system">
|
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-memory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
+
<td><a accesskey="u" href="chapter-gobject.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="chapter-signal.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
21
|
+
</tr></table>
|
22
|
+
<div class="sect1">
|
23
|
+
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
24
|
+
<a name="gobject-properties"></a>Object properties</h2></div></div></div>
|
25
|
+
<p>
|
26
|
+
One of GObject's nice features is its generic get/set mechanism for object
|
27
|
+
properties. When an object
|
28
|
+
is instantiated, the object's class_init handler should be used to register
|
29
|
+
the object's properties with <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()">g_object_class_install_property</a></code>
|
30
|
+
(implemented in <code class="filename">gobject.c</code>).
|
31
|
+
</p>
|
32
|
+
<p>
|
33
|
+
The best way to understand how object properties work is by looking at a real example
|
34
|
+
on how it is used:
|
35
|
+
</p>
|
36
|
+
<pre class="programlisting">
|
37
|
+
/************************************************/
|
38
|
+
/* Implementation */
|
39
|
+
/************************************************/
|
40
|
+
|
41
|
+
enum
|
42
|
+
{
|
43
|
+
PROP_0,
|
44
|
+
|
45
|
+
PROP_MAMAN_NAME,
|
46
|
+
PROP_PAPA_NUMBER
|
47
|
+
};
|
48
|
+
|
49
|
+
static void
|
50
|
+
maman_bar_set_property (GObject *object,
|
51
|
+
guint property_id,
|
52
|
+
const GValue *value,
|
53
|
+
GParamSpec *pspec)
|
54
|
+
{
|
55
|
+
MamanBar *self = MAMAN_BAR (object);
|
56
|
+
|
57
|
+
switch (property_id)
|
58
|
+
{
|
59
|
+
case PROP_MAMAN_NAME:
|
60
|
+
g_free (self->priv->name);
|
61
|
+
self->priv->name = g_value_dup_string (value);
|
62
|
+
g_print ("maman: %s\n", self->priv->name);
|
63
|
+
break;
|
64
|
+
|
65
|
+
case PROP_PAPA_NUMBER:
|
66
|
+
self->priv->papa_number = g_value_get_uchar (value);
|
67
|
+
g_print ("papa: %u\n", self->priv->papa_number);
|
68
|
+
break;
|
69
|
+
|
70
|
+
default:
|
71
|
+
/* We don't have any other property... */
|
72
|
+
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
73
|
+
break;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
static void
|
78
|
+
maman_bar_get_property (GObject *object,
|
79
|
+
guint property_id,
|
80
|
+
GValue *value,
|
81
|
+
GParamSpec *pspec)
|
82
|
+
{
|
83
|
+
MamanBar *self = MAMAN_BAR (object);
|
84
|
+
|
85
|
+
switch (property_id)
|
86
|
+
{
|
87
|
+
case PROP_MAMAN_NAME:
|
88
|
+
g_value_set_string (value, self->priv->name);
|
89
|
+
break;
|
90
|
+
|
91
|
+
case PROP_PAPA_NUMBER:
|
92
|
+
g_value_set_uchar (value, self->priv->papa_number);
|
93
|
+
break;
|
94
|
+
|
95
|
+
default:
|
96
|
+
/* We don't have any other property... */
|
97
|
+
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
98
|
+
break;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
static void
|
103
|
+
maman_bar_class_init (MamanBarClass *klass)
|
104
|
+
{
|
105
|
+
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
106
|
+
GParamSpec *pspec;
|
107
|
+
|
108
|
+
gobject_class->set_property = maman_bar_set_property;
|
109
|
+
gobject_class->get_property = maman_bar_get_property;
|
110
|
+
|
111
|
+
pspec = g_param_spec_string ("maman-name",
|
112
|
+
"Maman construct prop",
|
113
|
+
"Set maman's name",
|
114
|
+
"no-name-set" /* default value */,
|
115
|
+
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
|
116
|
+
g_object_class_install_property (gobject_class,
|
117
|
+
PROP_MAMAN_NAME,
|
118
|
+
pspec);
|
119
|
+
|
120
|
+
pspec = g_param_spec_uchar ("papa-number",
|
121
|
+
"Number of current Papa",
|
122
|
+
"Set/Get papa's number",
|
123
|
+
0 /* minimum value */,
|
124
|
+
10 /* maximum value */,
|
125
|
+
2 /* default value */,
|
126
|
+
G_PARAM_READWRITE);
|
127
|
+
g_object_class_install_property (gobject_class,
|
128
|
+
PROP_PAPA_NUMBER,
|
129
|
+
pspec);
|
130
|
+
}
|
131
|
+
|
132
|
+
/************************************************/
|
133
|
+
/* Use */
|
134
|
+
/************************************************/
|
135
|
+
|
136
|
+
GObject *bar;
|
137
|
+
GValue val = { 0, };
|
138
|
+
|
139
|
+
bar = g_object_new (MAMAN_TYPE_SUBBAR, NULL);
|
140
|
+
|
141
|
+
g_value_init (&val, G_TYPE_CHAR);
|
142
|
+
g_value_set_char (&val, 11);
|
143
|
+
|
144
|
+
g_object_set_property (G_OBJECT (bar), "papa-number", &val);
|
145
|
+
|
146
|
+
g_value_unset (&val);
|
147
|
+
</pre>
|
148
|
+
<p>
|
149
|
+
The client code just above looks simple but a lot of things happen under the hood:
|
150
|
+
</p>
|
151
|
+
<p>
|
152
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a></code> first ensures a property
|
153
|
+
with this name was registered in bar's class_init handler. If so, it calls
|
154
|
+
<code class="function">object_set_property</code> which first walks the class hierarchy,
|
155
|
+
from bottom, most derived type, to top, fundamental type to find the class
|
156
|
+
which registered that property. It then tries to convert the user-provided GValue
|
157
|
+
into a GValue whose type is that of the associated property.
|
158
|
+
</p>
|
159
|
+
<p>
|
160
|
+
If the user provides a signed char GValue, as is shown
|
161
|
+
here, and if the object's property was registered as an unsigned int,
|
162
|
+
<code class="function"><a class="link" href="gobject-Generic-values.html#g-value-transform" title="g_value_transform ()">g_value_transform</a></code> will try to transform the input signed char into
|
163
|
+
an unsigned int. Of course, the success of the transformation depends on the availability
|
164
|
+
of the required transform function. In practice, there will almost always be a transformation
|
165
|
+
<sup>[<a name="id393192" href="#ftn.id393192" class="footnote">4</a>]</sup>
|
166
|
+
which matches and conversion will be carried out if needed.
|
167
|
+
</p>
|
168
|
+
<p>
|
169
|
+
After transformation, the <span class="type"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a></span> is validated by
|
170
|
+
<code class="function"><a class="link" href="gobject-GParamSpec.html#g-param-value-validate" title="g_param_value_validate ()">g_param_value_validate</a></code> which makes sure the user's
|
171
|
+
data stored in the <span class="type"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a></span> matches the characteristics specified by
|
172
|
+
the property's <span class="type"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a></span>. Here, the <span class="type"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a></span> we
|
173
|
+
provided in class_init has a validation function which makes sure that the GValue
|
174
|
+
contains a value which respects the minimum and maximum bounds of the
|
175
|
+
<span class="type"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a></span>. In the example above, the client's GValue does not
|
176
|
+
respect these constraints (it is set to 11, while the maximum is 10). As such, the
|
177
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a></code> function will return with an error.
|
178
|
+
</p>
|
179
|
+
<p>
|
180
|
+
If the user's GValue had been set to a valid value, <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a></code>
|
181
|
+
would have proceeded with calling the object's set_property class method. Here, since our
|
182
|
+
implementation of Foo did override this method, the code path would jump to
|
183
|
+
<code class="function">foo_set_property</code> after having retrieved from the
|
184
|
+
<span class="type"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a></span> the <span class="emphasis"><em>param_id</em></span>
|
185
|
+
<sup>[<a name="id393282" href="#ftn.id393282" class="footnote">5</a>]</sup>
|
186
|
+
which had been stored by
|
187
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()">g_object_class_install_property</a></code>.
|
188
|
+
</p>
|
189
|
+
<p>
|
190
|
+
Once the property has been set by the object's set_property class method, the code path
|
191
|
+
returns to <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a></code> which calls
|
192
|
+
<code class="function">g_object_notify_queue_thaw</code>. This function makes sure that
|
193
|
+
the "notify" signal is emitted on the object's instance with the changed property as
|
194
|
+
parameter unless notifications were frozen by <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify" title="g_object_freeze_notify ()">g_object_freeze_notify</a></code>.
|
195
|
+
</p>
|
196
|
+
<p>
|
197
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-thaw-notify" title="g_object_thaw_notify ()">g_object_thaw_notify</a></code> can be used to re-enable notification of
|
198
|
+
property modifications through the "notify" signal. It is important to remember that
|
199
|
+
even if properties are changed while property change notification is frozen, the "notify"
|
200
|
+
signal will be emitted once for each of these changed properties as soon as the property
|
201
|
+
change notification is thawed: no property change is lost for the "notify" signal. Signal
|
202
|
+
can only be delayed by the notification freezing mechanism.
|
203
|
+
</p>
|
204
|
+
<p>
|
205
|
+
It sounds like a tedious task to set up GValues every time when one wants to modify a property.
|
206
|
+
In practice one will rarely do this. The functions <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a></code>
|
207
|
+
and <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property" title="g_object_get_property ()">g_object_get_property</a></code>
|
208
|
+
are meant to be used by language bindings. For application there is an easier way and
|
209
|
+
that is described next.
|
210
|
+
</p>
|
211
|
+
<div class="sect2">
|
212
|
+
<div class="titlepage"><div><div><h3 class="title">
|
213
|
+
<a name="gobject-multi-properties"></a>Accessing multiple properties at once</h3></div></div></div>
|
214
|
+
<p>
|
215
|
+
It is interesting to note that the <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()">g_object_set</a></code> and
|
216
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-valist" title="g_object_set_valist ()">g_object_set_valist</a></code> (vararg version) functions can be used to set
|
217
|
+
multiple properties at once. The client code shown above can then be re-written as:
|
218
|
+
</p>
|
219
|
+
<pre class="programlisting">
|
220
|
+
MamanBar *foo;
|
221
|
+
foo = /* */;
|
222
|
+
g_object_set (G_OBJECT (foo),
|
223
|
+
"papa-number", 2,
|
224
|
+
"maman-name", "test",
|
225
|
+
NULL);
|
226
|
+
</pre>
|
227
|
+
<p>
|
228
|
+
This saves us from managing the GValues that we were needing to handle when using
|
229
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a></code>.
|
230
|
+
The code above will trigger one notify signal emission for each property modified.
|
231
|
+
</p>
|
232
|
+
<p>
|
233
|
+
Of course, the _get versions are also available: <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()">g_object_get</a></code>
|
234
|
+
and <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-valist" title="g_object_get_valist ()">g_object_get_valist</a></code> (vararg version) can be used to get numerous
|
235
|
+
properties at once.
|
236
|
+
</p>
|
237
|
+
<p>
|
238
|
+
These high level functions have one drawback - they don't provide a return result.
|
239
|
+
One should pay attention to the argument types and ranges when using them.
|
240
|
+
A known source of errors is to e.g. pass a gfloat instead of a gdouble and thus
|
241
|
+
shifting all subsequent parameters by four bytes. Also forgetting the terminating
|
242
|
+
NULL will lead to unexpected behaviour.
|
243
|
+
</p>
|
244
|
+
<p>
|
245
|
+
Really attentive readers now understand how <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()">g_object_new</a></code>,
|
246
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()">g_object_newv</a></code> and <code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-new-valist" title="g_object_new_valist ()">g_object_new_valist</a></code>
|
247
|
+
work: they parse the user-provided variable number of parameters and invoke
|
248
|
+
<code class="function"><a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()">g_object_set</a></code> on the parameters only after the object has been successfully constructed.
|
249
|
+
Of course, the "notify" signal will be emitted for each property set.
|
250
|
+
</p>
|
251
|
+
</div>
|
252
|
+
<div class="footnotes">
|
253
|
+
<br><hr width="100" align="left">
|
254
|
+
<div class="footnote"><p><sup>[<a name="ftn.id393192" href="#id393192" class="para">4</a>] </sup>Its behaviour might not be what you expect but it is up to you to actually avoid
|
255
|
+
relying on these transformations.
|
256
|
+
</p></div>
|
257
|
+
<div class="footnote"><p><sup>[<a name="ftn.id393282" href="#id393282" class="para">5</a>] </sup>
|
258
|
+
It should be noted that the param_id used here need only to uniquely identify each
|
259
|
+
<span class="type"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a></span> within the <span class="type">FooClass</span> such that the switch
|
260
|
+
used in the set and get methods actually works. Of course, this locally-unique
|
261
|
+
integer is purely an optimization: it would have been possible to use a set of
|
262
|
+
<span class="emphasis"><em>if (strcmp (a, b) == 0) {} else if (strcmp (a, b) == 0) {}</em></span> statements.
|
263
|
+
</p></div>
|
264
|
+
</div>
|
265
|
+
</div>
|
266
|
+
<div class="footer">
|
267
|
+
<hr>
|
268
|
+
Generated by GTK-Doc V1.15.1</div>
|
269
|
+
</body>
|
270
|
+
</html>
|