atk 0.90.5-x86-mingw32 → 0.90.6-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +9 -0
- data/Rakefile +8 -70
- data/ext/atk/Makefile +160 -0
- data/ext/atk/extconf.rb +9 -9
- data/ext/atk/rbatkversion.h +24 -0
- data/lib/1.8/atk.so +0 -0
- data/lib/1.9/atk.so +0 -0
- data/vendor/local/lib/pkgconfig/atk.pc +1 -1
- metadata +150 -902
- data/vendor/local/bin/envsubst.exe +0 -0
- data/vendor/local/bin/gettext.exe +0 -0
- data/vendor/local/bin/gettext.sh +0 -123
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +0 -188
- data/vendor/local/bin/glib-mkenums +0 -537
- 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 +0 -66
- data/vendor/local/include/glib-2.0/gio/gappinfo.h +0 -236
- data/vendor/local/include/glib-2.0/gio/gasyncinitable.h +0 -119
- data/vendor/local/include/glib-2.0/gio/gasyncresult.h +0 -73
- data/vendor/local/include/glib-2.0/gio/gbufferedinputstream.h +0 -123
- data/vendor/local/include/glib-2.0/gio/gbufferedoutputstream.h +0 -81
- data/vendor/local/include/glib-2.0/gio/gcancellable.h +0 -103
- data/vendor/local/include/glib-2.0/gio/gcharsetconverter.h +0 -60
- data/vendor/local/include/glib-2.0/gio/gcontenttype.h +0 -57
- data/vendor/local/include/glib-2.0/gio/gconverter.h +0 -95
- data/vendor/local/include/glib-2.0/gio/gconverterinputstream.h +0 -79
- data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +0 -79
- data/vendor/local/include/glib-2.0/gio/gcredentials.h +0 -76
- data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +0 -150
- data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +0 -115
- data/vendor/local/include/glib-2.0/gio/gdbusaddress.h +0 -58
- data/vendor/local/include/glib-2.0/gio/gdbusauthobserver.h +0 -46
- data/vendor/local/include/glib-2.0/gio/gdbusconnection.h +0 -562
- data/vendor/local/include/glib-2.0/gio/gdbuserror.h +0 -100
- data/vendor/local/include/glib-2.0/gio/gdbusintrospection.h +0 -286
- data/vendor/local/include/glib-2.0/gio/gdbusmessage.h +0 -149
- data/vendor/local/include/glib-2.0/gio/gdbusmethodinvocation.h +0 -73
- data/vendor/local/include/glib-2.0/gio/gdbusnameowning.h +0 -112
- data/vendor/local/include/glib-2.0/gio/gdbusnamewatching.h +0 -94
- data/vendor/local/include/glib-2.0/gio/gdbusproxy.h +0 -167
- data/vendor/local/include/glib-2.0/gio/gdbusserver.h +0 -54
- data/vendor/local/include/glib-2.0/gio/gdbusutils.h +0 -44
- data/vendor/local/include/glib-2.0/gio/gdrive.h +0 -225
- data/vendor/local/include/glib-2.0/gio/gemblem.h +0 -58
- data/vendor/local/include/glib-2.0/gio/gemblemedicon.h +0 -62
- data/vendor/local/include/glib-2.0/gio/gfile.h +0 -1017
- data/vendor/local/include/glib-2.0/gio/gfileattribute.h +0 -77
- data/vendor/local/include/glib-2.0/gio/gfileenumerator.h +0 -132
- data/vendor/local/include/glib-2.0/gio/gfileicon.h +0 -56
- data/vendor/local/include/glib-2.0/gio/gfileinfo.h +0 -952
- data/vendor/local/include/glib-2.0/gio/gfileinputstream.h +0 -112
- data/vendor/local/include/glib-2.0/gio/gfileiostream.h +0 -118
- data/vendor/local/include/glib-2.0/gio/gfilemonitor.h +0 -95
- data/vendor/local/include/glib-2.0/gio/gfilenamecompleter.h +0 -76
- data/vendor/local/include/glib-2.0/gio/gfileoutputstream.h +0 -119
- data/vendor/local/include/glib-2.0/gio/gfilterinputstream.h +0 -76
- data/vendor/local/include/glib-2.0/gio/gfilteroutputstream.h +0 -76
- data/vendor/local/include/glib-2.0/gio/gicon.h +0 -91
- data/vendor/local/include/glib-2.0/gio/ginetaddress.h +0 -103
- data/vendor/local/include/glib-2.0/gio/ginetsocketaddress.h +0 -69
- data/vendor/local/include/glib-2.0/gio/ginitable.h +0 -96
- data/vendor/local/include/glib-2.0/gio/ginputstream.h +0 -172
- data/vendor/local/include/glib-2.0/gio/gio.h +0 -122
- data/vendor/local/include/glib-2.0/gio/gioenums.h +0 -1221
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +0 -121
- data/vendor/local/include/glib-2.0/gio/gioerror.h +0 -52
- data/vendor/local/include/glib-2.0/gio/giomodule.h +0 -132
- data/vendor/local/include/glib-2.0/gio/gioscheduler.h +0 -52
- data/vendor/local/include/glib-2.0/gio/giostream.h +0 -112
- data/vendor/local/include/glib-2.0/gio/giotypes.h +0 -375
- data/vendor/local/include/glib-2.0/gio/gloadableicon.h +0 -97
- data/vendor/local/include/glib-2.0/gio/gmemoryinputstream.h +0 -82
- data/vendor/local/include/glib-2.0/gio/gmemoryoutputstream.h +0 -98
- data/vendor/local/include/glib-2.0/gio/gmount.h +0 -242
- data/vendor/local/include/glib-2.0/gio/gmountoperation.h +0 -123
- data/vendor/local/include/glib-2.0/gio/gnativevolumemonitor.h +0 -62
- data/vendor/local/include/glib-2.0/gio/gnetworkaddress.h +0 -73
- data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +0 -71
- data/vendor/local/include/glib-2.0/gio/goutputstream.h +0 -207
- data/vendor/local/include/glib-2.0/gio/gpermission.h +0 -118
- data/vendor/local/include/glib-2.0/gio/gproxy.h +0 -123
- data/vendor/local/include/glib-2.0/gio/gproxyaddress.h +0 -76
- data/vendor/local/include/glib-2.0/gio/gproxyaddressenumerator.h +0 -75
- data/vendor/local/include/glib-2.0/gio/gproxyresolver.h +0 -96
- data/vendor/local/include/glib-2.0/gio/gresolver.h +0 -167
- data/vendor/local/include/glib-2.0/gio/gseekable.h +0 -99
- data/vendor/local/include/glib-2.0/gio/gsettings.h +0 -258
- data/vendor/local/include/glib-2.0/gio/gsettingsbackend.h +0 -138
- data/vendor/local/include/glib-2.0/gio/gsimpleasyncresult.h +0 -125
- data/vendor/local/include/glib-2.0/gio/gsimplepermission.h +0 -45
- data/vendor/local/include/glib-2.0/gio/gsocket.h +0 -194
- data/vendor/local/include/glib-2.0/gio/gsocketaddress.h +0 -79
- data/vendor/local/include/glib-2.0/gio/gsocketaddressenumerator.h +0 -89
- data/vendor/local/include/glib-2.0/gio/gsocketclient.h +0 -152
- data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +0 -74
- data/vendor/local/include/glib-2.0/gio/gsocketconnection.h +0 -91
- data/vendor/local/include/glib-2.0/gio/gsocketcontrolmessage.h +0 -105
- data/vendor/local/include/glib-2.0/gio/gsocketlistener.h +0 -138
- data/vendor/local/include/glib-2.0/gio/gsocketservice.h +0 -88
- data/vendor/local/include/glib-2.0/gio/gsrvtarget.h +0 -52
- data/vendor/local/include/glib-2.0/gio/gtcpconnection.h +0 -68
- data/vendor/local/include/glib-2.0/gio/gthemedicon.h +0 -63
- data/vendor/local/include/glib-2.0/gio/gthreadedsocketservice.h +0 -81
- data/vendor/local/include/glib-2.0/gio/gvfs.h +0 -125
- data/vendor/local/include/glib-2.0/gio/gvolume.h +0 -211
- data/vendor/local/include/glib-2.0/gio/gvolumemonitor.h +0 -150
- data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +0 -60
- data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +0 -57
- data/vendor/local/include/glib-2.0/glib-object.h +0 -42
- data/vendor/local/include/glib-2.0/glib.h +0 -99
- data/vendor/local/include/glib-2.0/glib/galloca.h +0 -110
- data/vendor/local/include/glib-2.0/glib/garray.h +0 -179
- data/vendor/local/include/glib-2.0/glib/gasyncqueue.h +0 -120
- data/vendor/local/include/glib-2.0/glib/gatomic.h +0 -105
- data/vendor/local/include/glib-2.0/glib/gbacktrace.h +0 -68
- data/vendor/local/include/glib-2.0/glib/gbase64.h +0 -57
- data/vendor/local/include/glib-2.0/glib/gbitlock.h +0 -43
- data/vendor/local/include/glib-2.0/glib/gbookmarkfile.h +0 -215
- data/vendor/local/include/glib-2.0/glib/gcache.h +0 -69
- data/vendor/local/include/glib-2.0/glib/gchecksum.h +0 -86
- data/vendor/local/include/glib-2.0/glib/gcompletion.h +0 -81
- data/vendor/local/include/glib-2.0/glib/gconvert.h +0 -162
- data/vendor/local/include/glib-2.0/glib/gdataset.h +0 -122
- data/vendor/local/include/glib-2.0/glib/gdate.h +0 -263
- data/vendor/local/include/glib-2.0/glib/gdatetime.h +0 -217
- data/vendor/local/include/glib-2.0/glib/gdir.h +0 -52
- data/vendor/local/include/glib-2.0/glib/gerror.h +0 -98
- data/vendor/local/include/glib-2.0/glib/gfileutils.h +0 -128
- data/vendor/local/include/glib-2.0/glib/ghash.h +0 -166
- data/vendor/local/include/glib-2.0/glib/ghook.h +0 -181
- data/vendor/local/include/glib-2.0/glib/ghostutils.h +0 -40
- data/vendor/local/include/glib-2.0/glib/gi18n-lib.h +0 -38
- data/vendor/local/include/glib-2.0/glib/gi18n.h +0 -34
- data/vendor/local/include/glib-2.0/glib/giochannel.h +0 -366
- data/vendor/local/include/glib-2.0/glib/gkeyfile.h +0 -266
- data/vendor/local/include/glib-2.0/glib/glist.h +0 -120
- data/vendor/local/include/glib-2.0/glib/gmacros.h +0 -284
- data/vendor/local/include/glib-2.0/glib/gmain.h +0 -531
- data/vendor/local/include/glib-2.0/glib/gmappedfile.h +0 -49
- data/vendor/local/include/glib-2.0/glib/gmarkup.h +0 -163
- data/vendor/local/include/glib-2.0/glib/gmem.h +0 -309
- data/vendor/local/include/glib-2.0/glib/gmessages.h +0 -343
- data/vendor/local/include/glib-2.0/glib/gnode.h +0 -290
- data/vendor/local/include/glib-2.0/glib/goption.h +0 -370
- data/vendor/local/include/glib-2.0/glib/gpattern.h +0 -49
- data/vendor/local/include/glib-2.0/glib/gpoll.h +0 -117
- data/vendor/local/include/glib-2.0/glib/gprimes.h +0 -51
- data/vendor/local/include/glib-2.0/glib/gprintf.h +0 -52
- data/vendor/local/include/glib-2.0/glib/gqsort.h +0 -46
- data/vendor/local/include/glib-2.0/glib/gquark.h +0 -52
- data/vendor/local/include/glib-2.0/glib/gqueue.h +0 -127
- data/vendor/local/include/glib-2.0/glib/grand.h +0 -85
- data/vendor/local/include/glib-2.0/glib/gregex.h +0 -471
- data/vendor/local/include/glib-2.0/glib/grel.h +0 -101
- data/vendor/local/include/glib-2.0/glib/gscanner.h +0 -278
- data/vendor/local/include/glib-2.0/glib/gsequence.h +0 -128
- data/vendor/local/include/glib-2.0/glib/gshell.h +0 -55
- data/vendor/local/include/glib-2.0/glib/gslice.h +0 -86
- data/vendor/local/include/glib-2.0/glib/gslist.h +0 -114
- data/vendor/local/include/glib-2.0/glib/gspawn.h +0 -139
- data/vendor/local/include/glib-2.0/glib/gstdio.h +0 -147
- data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +0 -269
- data/vendor/local/include/glib-2.0/glib/gstring.h +0 -178
- data/vendor/local/include/glib-2.0/glib/gtestutils.h +0 -297
- data/vendor/local/include/glib-2.0/glib/gthread.h +0 -407
- data/vendor/local/include/glib-2.0/glib/gthreadpool.h +0 -114
- data/vendor/local/include/glib-2.0/glib/gtimer.h +0 -65
- data/vendor/local/include/glib-2.0/glib/gtimezone.h +0 -44
- data/vendor/local/include/glib-2.0/glib/gtree.h +0 -91
- data/vendor/local/include/glib-2.0/glib/gtypes.h +0 -451
- data/vendor/local/include/glib-2.0/glib/gunicode.h +0 -421
- data/vendor/local/include/glib-2.0/glib/gurifuncs.h +0 -81
- data/vendor/local/include/glib-2.0/glib/gutils.h +0 -490
- data/vendor/local/include/glib-2.0/glib/gvariant.h +0 -248
- data/vendor/local/include/glib-2.0/glib/gvarianttype.h +0 -334
- data/vendor/local/include/glib-2.0/glib/gwin32.h +0 -114
- data/vendor/local/include/glib-2.0/gmodule.h +0 -101
- data/vendor/local/include/glib-2.0/gobject/gbinding.h +0 -136
- data/vendor/local/include/glib-2.0/gobject/gboxed.h +0 -248
- data/vendor/local/include/glib-2.0/gobject/gclosure.h +0 -251
- data/vendor/local/include/glib-2.0/gobject/genums.h +0 -261
- data/vendor/local/include/glib-2.0/gobject/gmarshal.h +0 -186
- data/vendor/local/include/glib-2.0/gobject/gobject.h +0 -567
- data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +0 -193
- data/vendor/local/include/glib-2.0/gobject/gparam.h +0 -415
- data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +0 -1137
- data/vendor/local/include/glib-2.0/gobject/gsignal.h +0 -509
- data/vendor/local/include/glib-2.0/gobject/gsourceclosure.h +0 -51
- data/vendor/local/include/glib-2.0/gobject/gtype.h +0 -1736
- data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +0 -263
- data/vendor/local/include/glib-2.0/gobject/gtypeplugin.h +0 -134
- data/vendor/local/include/glib-2.0/gobject/gvalue.h +0 -159
- data/vendor/local/include/glib-2.0/gobject/gvaluearray.h +0 -77
- data/vendor/local/include/glib-2.0/gobject/gvaluecollector.h +0 -227
- data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +0 -260
- data/vendor/local/include/libintl.h +0 -464
- data/vendor/local/lib/GNU.Gettext.dll +0 -0
- data/vendor/local/lib/gio-2.0.def +0 -1143
- data/vendor/local/lib/gio-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0.def +0 -1452
- data/vendor/local/lib/glib-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +0 -284
- data/vendor/local/lib/gmodule-2.0.def +0 -11
- data/vendor/local/lib/gmodule-2.0.lib +0 -0
- data/vendor/local/lib/gobject-2.0.def +0 -370
- data/vendor/local/lib/gobject-2.0.lib +0 -0
- data/vendor/local/lib/gthread-2.0.def +0 -3
- 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 +0 -31
- data/vendor/local/lib/libintl.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/gio-2.0.pc +0 -15
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +0 -11
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +0 -15
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +0 -14
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +0 -14
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +0 -11
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +0 -11
- data/vendor/local/manifest/gettext-runtime-dev_0.18.1.1-2_win32.mft +0 -81
- data/vendor/local/manifest/gettext-runtime_0.18.1.1-2_win32.mft +0 -3
- data/vendor/local/manifest/glib-dev_2.26.0-2_win32.mft +0 -570
- data/vendor/local/manifest/glib_2.26.0-2_win32.mft +0 -102
- data/vendor/local/share/aclocal/glib-2.0.m4 +0 -211
- data/vendor/local/share/aclocal/glib-gettext.m4 +0 -432
- data/vendor/local/share/doc/gettext/bind_textdomain_codeset.3.html +0 -165
- data/vendor/local/share/doc/gettext/bindtextdomain.3.html +0 -160
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext.html +0 -8
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceManager.html +0 -305
- data/vendor/local/share/doc/gettext/csharpdoc/GNU_Gettext_GettextResourceSet.html +0 -356
- data/vendor/local/share/doc/gettext/csharpdoc/begin.html +0 -11
- data/vendor/local/share/doc/gettext/csharpdoc/index.html +0 -10
- data/vendor/local/share/doc/gettext/csharpdoc/namespaces.html +0 -6
- data/vendor/local/share/doc/gettext/envsubst.1.html +0 -213
- data/vendor/local/share/doc/gettext/gettext.1.html +0 -266
- data/vendor/local/share/doc/gettext/gettext.3.html +0 -186
- data/vendor/local/share/doc/gettext/ngettext.1.html +0 -280
- data/vendor/local/share/doc/gettext/ngettext.3.html +0 -143
- data/vendor/local/share/doc/gettext/textdomain.3.html +0 -150
- data/vendor/local/share/doc/glib-2.26.0/COPYING +0 -482
- data/vendor/local/share/doc/glib-dev-2.26.0/COPYING +0 -482
- data/vendor/local/share/doc/libasprintf/autosprintf_all.html +0 -174
- data/vendor/local/share/glib-2.0/gdb/glib.py +0 -249
- data/vendor/local/share/glib-2.0/gdb/gobject.py +0 -305
- data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +0 -111
- data/vendor/local/share/glib-2.0/gettext/po/Makefile.in.in +0 -279
- data/vendor/local/share/glib-2.0/schemas/gschema.dtd +0 -60
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +0 -1403
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +0 -733
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +0 -343
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +0 -563
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +0 -291
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +0 -620
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +0 -245
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +0 -423
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +0 -398
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +0 -254
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +0 -6211
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +0 -1833
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +0 -618
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +0 -2050
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +0 -1124
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +0 -1215
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +0 -540
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +0 -1416
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +0 -272
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +0 -206
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +0 -7462
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +0 -120
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +0 -516
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +0 -312
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +0 -155
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +0 -3144
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +0 -262
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +0 -353
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +0 -301
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +0 -217
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +0 -188
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +0 -189
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +0 -261
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +0 -479
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +0 -331
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +0 -717
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +0 -196
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +0 -388
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +0 -808
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +0 -301
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +0 -185
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +0 -393
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +0 -1465
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +0 -848
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +0 -343
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +0 -311
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +0 -1012
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +0 -560
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +0 -312
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +0 -348
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +0 -301
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +0 -787
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +0 -350
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +0 -2424
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +0 -609
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +0 -1193
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +0 -107
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +0 -2438
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +0 -297
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +0 -1292
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +0 -513
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +0 -337
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +0 -275
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +0 -745
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +0 -258
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +0 -165
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +0 -377
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +0 -197
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +0 -298
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +0 -222
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +0 -389
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +0 -288
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +0 -237
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +0 -237
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +0 -491
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +0 -274
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +0 -1028
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +0 -705
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +0 -252
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +0 -170
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +0 -65
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +0 -153
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +0 -155
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +0 -1084
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +0 -223
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +0 -1598
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +0 -112
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +0 -6250
- data/vendor/local/share/gtk-doc/html/gio/async.html +0 -44
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +0 -207
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +0 -50
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +0 -180
- data/vendor/local/share/gtk-doc/html/gio/ch24.html +0 -75
- data/vendor/local/share/gtk-doc/html/gio/ch25.html +0 -217
- data/vendor/local/share/gtk-doc/html/gio/ch25s02.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/ch25s03.html +0 -39
- data/vendor/local/share/gtk-doc/html/gio/ch26.html +0 -57
- data/vendor/local/share/gtk-doc/html/gio/ch26s02.html +0 -59
- data/vendor/local/share/gtk-doc/html/gio/ch26s03.html +0 -159
- data/vendor/local/share/gtk-doc/html/gio/ch26s04.html +0 -46
- data/vendor/local/share/gtk-doc/html/gio/ch26s05.html +0 -48
- data/vendor/local/share/gtk-doc/html/gio/ch26s06.html +0 -277
- data/vendor/local/share/gtk-doc/html/gio/ch26s07.html +0 -95
- data/vendor/local/share/gtk-doc/html/gio/ch27.html +0 -70
- data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +0 -130
- data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +0 -202
- data/vendor/local/share/gtk-doc/html/gio/ch27s04.html +0 -96
- data/vendor/local/share/gtk-doc/html/gio/ch27s05.html +0 -823
- data/vendor/local/share/gtk-doc/html/gio/ch27s06.html +0 -828
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +0 -44
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +0 -109
- data/vendor/local/share/gtk-doc/html/gio/extending.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +0 -38
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +0 -33
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +0 -50
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +0 -59
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +0 -243
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +0 -316
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +0 -1117
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +0 -216
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +0 -339
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +0 -473
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +0 -391
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +0 -159
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +0 -159
- data/vendor/local/share/gtk-doc/html/gio/gio-GDBusError.html +0 -908
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +0 -933
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +0 -409
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +0 -297
- data/vendor/local/share/gtk-doc/html/gio/gio-GSrvTarget.html +0 -313
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +0 -736
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +0 -909
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +0 -666
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +0 -123
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +0 -53
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +0 -1736
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +0 -2006
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +0 -102
- data/vendor/local/share/gtk-doc/html/gio/gvfs-overview.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +0 -53
- data/vendor/local/share/gtk-doc/html/gio/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/icons.html +0 -50
- data/vendor/local/share/gtk-doc/html/gio/index.html +0 -435
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +0 -2513
- data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +0 -62
- data/vendor/local/share/gtk-doc/html/gio/networking.html +0 -69
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +0 -39
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +0 -39
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +0 -390
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +0 -50
- data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/settings.html +0 -38
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +0 -92
- data/vendor/local/share/gtk-doc/html/gio/style.css +0 -265
- data/vendor/local/share/gtk-doc/html/gio/tools.html +0 -44
- data/vendor/local/share/gtk-doc/html/gio/types.html +0 -41
- data/vendor/local/share/gtk-doc/html/gio/up.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/utils.html +0 -33
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +0 -47
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +0 -77
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +0 -180
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +0 -312
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +0 -559
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +0 -362
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +0 -102
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +0 -124
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +0 -83
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +0 -194
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +0 -420
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +0 -359
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +0 -396
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +0 -417
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +0 -158
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +0 -419
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +0 -8214
- 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 +0 -893
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +0 -818
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +0 -414
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +0 -466
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +0 -802
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +0 -372
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +0 -500
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +0 -2056
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +0 -560
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +0 -1686
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +0 -398
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +0 -1094
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +0 -1671
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +0 -460
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +0 -528
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +0 -2045
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +0 -1278
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +0 -1406
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +0 -548
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +0 -1026
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +0 -1852
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +0 -2201
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +0 -239
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +0 -4278
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +0 -1864
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +0 -295
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +0 -1512
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +0 -1367
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +0 -229
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +0 -692
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +0 -2196
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +0 -2740
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +0 -612
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +0 -1451
- data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +0 -389
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +0 -1033
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +0 -141
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +0 -706
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +0 -510
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +0 -748
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +0 -1105
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +0 -1552
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +0 -1468
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +0 -194
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +0 -2745
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +0 -752
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +0 -269
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +0 -578
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +0 -532
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +0 -1353
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +0 -238
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +0 -1282
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +0 -1213
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +0 -924
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +0 -470
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +0 -301
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +0 -2960
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +0 -1291
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +0 -1805
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +0 -3478
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +0 -606
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +0 -3411
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +0 -245
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +0 -188
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +0 -263
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +0 -400
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +0 -3448
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +0 -253
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +0 -438
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +0 -476
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +0 -466
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +0 -159
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +0 -118
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +0 -64
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +0 -160
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +0 -120
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +0 -59
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +0 -93
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +0 -2217
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +0 -121
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +0 -319
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +0 -118
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +0 -2183
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +0 -2671
- data/vendor/local/share/gtk-doc/html/glib/glib.html +0 -80
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +0 -72
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +0 -131
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +0 -1288
- data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/index.html +0 -344
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +0 -2846
- 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 +0 -265
- data/vendor/local/share/gtk-doc/html/glib/tools.html +0 -41
- data/vendor/local/share/gtk-doc/html/glib/up.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +0 -803
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +0 -710
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +0 -453
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +0 -47
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +0 -85
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +0 -55
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +0 -51
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +0 -46
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +0 -38
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +0 -46
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +0 -73
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +0 -201
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +0 -178
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +0 -42
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +0 -42
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +0 -50
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +0 -2721
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +0 -136
- data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +0 -113
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +0 -293
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +0 -263
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +0 -92
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +0 -214
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +0 -361
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +0 -307
- data/vendor/local/share/gtk-doc/html/gobject/glue.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +0 -417
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +0 -2412
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +0 -847
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +0 -1433
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +0 -776
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +0 -2741
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +0 -5555
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +0 -2875
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +0 -4460
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +0 -416
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +0 -260
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +0 -234
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +0 -270
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +0 -117
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +0 -762
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +0 -801
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +0 -143
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +0 -287
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +0 -316
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +0 -76
- data/vendor/local/share/gtk-doc/html/gobject/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +0 -100
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +0 -86
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +0 -113
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +0 -122
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +0 -257
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +0 -283
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +0 -125
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +0 -167
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +0 -160
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +0 -121
- data/vendor/local/share/gtk-doc/html/gobject/index.html +0 -192
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +0 -786
- data/vendor/local/share/gtk-doc/html/gobject/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +0 -72
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +0 -80
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +0 -66
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +0 -55
- data/vendor/local/share/gtk-doc/html/gobject/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +0 -85
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +0 -47
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +0 -377
- data/vendor/local/share/gtk-doc/html/gobject/style.css +0 -265
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +0 -35
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +0 -40
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +0 -63
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +0 -55
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +0 -43
- 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 +0 -77
- 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 +0 -54
- data/vendor/local/share/man/man1/gettext.1 +0 -69
- data/vendor/local/share/man/man1/glib-genmarshal.1 +0 -312
- data/vendor/local/share/man/man1/glib-mkenums.1 +0 -246
- data/vendor/local/share/man/man1/gobject-query.1 +0 -83
- data/vendor/local/share/man/man1/ngettext.1 +0 -68
- data/vendor/local/share/man/man3/bind_textdomain_codeset.3 +0 -72
- data/vendor/local/share/man/man3/bindtextdomain.3 +0 -69
- data/vendor/local/share/man/man3/dcgettext.3 +0 -1
- data/vendor/local/share/man/man3/dcngettext.3 +0 -1
- data/vendor/local/share/man/man3/dgettext.3 +0 -1
- data/vendor/local/share/man/man3/dngettext.3 +0 -1
- data/vendor/local/share/man/man3/gettext.3 +0 -99
- data/vendor/local/share/man/man3/ngettext.3 +0 -60
- data/vendor/local/share/man/man3/textdomain.3 +0 -57
- data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.log +0 -10423
- data/vendor/local/src/tml/packaging/gettext_0.18.1.1-2_win32.sh +0 -457
- data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.log +0 -2867
- data/vendor/local/src/tml/packaging/glib_2.26.0-2_win32.sh +0 -64
@@ -1,143 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
-
<title>Conventions</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-gtype.html" title="The GLib Dynamic Type System">
|
9
|
-
<link rel="prev" href="chapter-gtype.html" title="The GLib Dynamic Type System">
|
10
|
-
<link rel="next" href="gtype-non-instantiable.html" title="Non-instantiable non-classed fundamental types">
|
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-gtype.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
-
<td><a accesskey="u" href="chapter-gtype.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-non-instantiable.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="gtype-conventions"></a>Conventions</h2></div></div></div>
|
25
|
-
<p>
|
26
|
-
There are a number of conventions users are expected to follow when creating new types
|
27
|
-
which are to be exported in a header file:
|
28
|
-
</p>
|
29
|
-
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
30
|
-
<li class="listitem"><p>
|
31
|
-
Use the <code class="function">object_method</code> pattern for function names: to invoke
|
32
|
-
the method named foo on an instance of object type bar, call
|
33
|
-
<code class="function">bar_foo</code>.
|
34
|
-
</p></li>
|
35
|
-
<li class="listitem"><p>Use prefixing to avoid namespace conflicts with other projects.
|
36
|
-
If your library (or application) is named <span class="emphasis"><em>Maman</em></span>,
|
37
|
-
<sup>[<a name="id365787" href="#ftn.id365787" class="footnote">3</a>]</sup>
|
38
|
-
|
39
|
-
prefix all your function names with <span class="emphasis"><em>maman_</em></span>.
|
40
|
-
For example: <code class="function">maman_object_method</code>.
|
41
|
-
</p></li>
|
42
|
-
<li class="listitem"><p>Create a macro named <code class="function">PREFIX_TYPE_OBJECT</code> which always
|
43
|
-
returns the GType for the associated object type. For an object of type
|
44
|
-
<span class="emphasis"><em>Bar</em></span> in a library prefixed by <span class="emphasis"><em>maman</em></span>,
|
45
|
-
use: <code class="function">MAMAN_TYPE_BAR</code>.
|
46
|
-
It is common although not a convention to implement this macro using either a global
|
47
|
-
static variable or a function named <code class="function">prefix_object_get_type</code>.
|
48
|
-
We will follow the function pattern wherever possible in this document.
|
49
|
-
</p></li>
|
50
|
-
<li class="listitem"><p>Create a macro named <code class="function">PREFIX_OBJECT (obj)</code> which
|
51
|
-
returns a pointer of type <span class="type">PrefixObject</span>. This macro is used to enforce
|
52
|
-
static type safety by doing explicit casts wherever needed. It also enforces
|
53
|
-
dynamic type safety by doing runtime checks. It is possible to disable the dynamic
|
54
|
-
type checks in production builds (see <a href="./../glib/glib/glib-building.html">building glib</a>).
|
55
|
-
For example, we would create
|
56
|
-
<code class="function">MAMAN_BAR (obj)</code> to keep the previous example.
|
57
|
-
</p></li>
|
58
|
-
<li class="listitem"><p>If the type is classed, create a macro named
|
59
|
-
<code class="function">PREFIX_OBJECT_CLASS (klass)</code>. This macro
|
60
|
-
is strictly equivalent to the previous casting macro: it does static casting with
|
61
|
-
dynamic type checking of class structures. It is expected to return a pointer
|
62
|
-
to a class structure of type <span class="type">PrefixObjectClass</span>. Again, an example is:
|
63
|
-
<code class="function">MAMAN_BAR_CLASS</code>.
|
64
|
-
</p></li>
|
65
|
-
<li class="listitem"><p>Create a macro named <code class="function">PREFIX_IS_BAR (obj)</code>: this macro is expected
|
66
|
-
to return a <span class="type">gboolean</span> which indicates whether or not the input
|
67
|
-
object instance pointer of type BAR.
|
68
|
-
</p></li>
|
69
|
-
<li class="listitem"><p>If the type is classed, create a macro named
|
70
|
-
<code class="function">PREFIX_IS_OBJECT_CLASS (klass)</code> which, as above, returns a boolean
|
71
|
-
if the input class pointer is a pointer to a class of type OBJECT.
|
72
|
-
</p></li>
|
73
|
-
<li class="listitem"><p>If the type is classed, create a macro named
|
74
|
-
<code class="function">PREFIX_OBJECT_GET_CLASS (obj)</code>
|
75
|
-
which returns the class pointer associated to an instance of a given type. This macro
|
76
|
-
is used for static and dynamic type safety purposes (just like the previous casting
|
77
|
-
macros).
|
78
|
-
</p></li>
|
79
|
-
</ul></div>
|
80
|
-
<p>
|
81
|
-
The implementation of these macros is pretty straightforward: a number of simple-to-use
|
82
|
-
macros are provided in <code class="filename">gtype.h</code>. For the example we used above, we would
|
83
|
-
write the following trivial code to declare the macros:
|
84
|
-
</p>
|
85
|
-
<pre class="programlisting">
|
86
|
-
#define MAMAN_TYPE_BAR (maman_bar_get_type ())
|
87
|
-
#define MAMAN_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MAMAN_TYPE_BAR, MamanBar))
|
88
|
-
#define MAMAN_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MAMAN_TYPE_BAR, MamanBarClass))
|
89
|
-
#define MAMAN_IS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MAMAN_TYPE_BAR))
|
90
|
-
#define MAMAN_IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MAMAN_TYPE_BAR))
|
91
|
-
#define MAMAN_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MAMAN_TYPE_BAR, MamanBarClass))
|
92
|
-
</pre>
|
93
|
-
<p>
|
94
|
-
</p>
|
95
|
-
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
|
96
|
-
<h3 class="title">Note</h3>
|
97
|
-
<p>Stick to the naming <code class="varname">klass</code> as <code class="varname">class</code> is a registered c++ keyword.</p>
|
98
|
-
</div>
|
99
|
-
<p>
|
100
|
-
</p>
|
101
|
-
<p>
|
102
|
-
The following code shows how to implement the <code class="function">maman_bar_get_type</code>
|
103
|
-
function:
|
104
|
-
</p>
|
105
|
-
<pre class="programlisting">
|
106
|
-
GType maman_bar_get_type (void)
|
107
|
-
{
|
108
|
-
static GType type = 0;
|
109
|
-
if (type == 0) {
|
110
|
-
static const GTypeInfo info = {
|
111
|
-
/* You fill this structure. */
|
112
|
-
};
|
113
|
-
type = g_type_register_static (G_TYPE_OBJECT,
|
114
|
-
"MamanBarType",
|
115
|
-
&info, 0);
|
116
|
-
}
|
117
|
-
return type;
|
118
|
-
}
|
119
|
-
</pre>
|
120
|
-
<p>
|
121
|
-
</p>
|
122
|
-
<p>
|
123
|
-
When having no special requirements you also can use the <code class="function">G_DEFINE_TYPE</code>
|
124
|
-
macro:
|
125
|
-
</p>
|
126
|
-
<pre class="programlisting">
|
127
|
-
G_DEFINE_TYPE (MamanBar, maman_bar, G_TYPE_OBJECT)
|
128
|
-
</pre>
|
129
|
-
<p>
|
130
|
-
</p>
|
131
|
-
<div class="footnotes">
|
132
|
-
<br><hr width="100" align="left">
|
133
|
-
<div class="footnote"><p><sup>[<a name="ftn.id365787" href="#id365787" class="para">3</a>] </sup>
|
134
|
-
<span class="emphasis"><em>Maman</em></span> is the French word for <span class="emphasis"><em>mum</em></span>
|
135
|
-
or <span class="emphasis"><em>mother</em></span> - nothing more and nothing less.
|
136
|
-
</p></div>
|
137
|
-
</div>
|
138
|
-
</div>
|
139
|
-
<div class="footer">
|
140
|
-
<hr>
|
141
|
-
Generated by GTK-Doc V1.15.1</div>
|
142
|
-
</body>
|
143
|
-
</html>
|
@@ -1,287 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
-
<title>Instantiable classed types: objects</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-gtype.html" title="The GLib Dynamic Type System">
|
9
|
-
<link rel="prev" href="gtype-non-instantiable.html" title="Non-instantiable non-classed fundamental types">
|
10
|
-
<link rel="next" href="gtype-non-instantiable-classed.html" title="Non-instantiable classed types: interfaces">
|
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="gtype-non-instantiable.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
-
<td><a accesskey="u" href="chapter-gtype.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-non-instantiable-classed.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="gtype-instantiable-classed"></a>Instantiable classed types: objects</h2></div></div></div>
|
25
|
-
<p>
|
26
|
-
Types which are registered with a class and are declared instantiable are
|
27
|
-
what most closely resembles an <span class="emphasis"><em>object</em></span>.
|
28
|
-
Although <span class="type"><a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a></span>s (detailed in <a class="xref" href="chapter-gobject.html" title="The GObject base class"><i>The GObject base class</i></a>)
|
29
|
-
are the most well known type of instantiable
|
30
|
-
classed types, other kinds of similar objects used as the base of an inheritance
|
31
|
-
hierarchy have been externally developed and they are all built on the fundamental
|
32
|
-
features described below.
|
33
|
-
</p>
|
34
|
-
<p>
|
35
|
-
For example, the code below shows how you could register
|
36
|
-
such a fundamental object type in the type system:
|
37
|
-
</p>
|
38
|
-
<pre class="programlisting">
|
39
|
-
typedef struct {
|
40
|
-
GObject parent;
|
41
|
-
/* instance members */
|
42
|
-
int field_a;
|
43
|
-
} MamanBar;
|
44
|
-
|
45
|
-
typedef struct {
|
46
|
-
GObjectClass parent;
|
47
|
-
/* class members */
|
48
|
-
void (*do_action_public_virtual) (MamanBar *self, guint8 i);
|
49
|
-
|
50
|
-
void (*do_action_public_pure_virtual) (MamanBar *self, guint8 i);
|
51
|
-
} MamanBarClass;
|
52
|
-
|
53
|
-
#define MAMAN_TYPE_BAR (maman_bar_get_type ())
|
54
|
-
|
55
|
-
GType
|
56
|
-
maman_bar_get_type (void)
|
57
|
-
{
|
58
|
-
static GType type = 0;
|
59
|
-
if (type == 0) {
|
60
|
-
static const GTypeInfo info = {
|
61
|
-
sizeof (MamanBarClass),
|
62
|
-
NULL, /* base_init */
|
63
|
-
NULL, /* base_finalize */
|
64
|
-
(GClassInitFunc) foo_class_init,
|
65
|
-
NULL, /* class_finalize */
|
66
|
-
NULL, /* class_data */
|
67
|
-
sizeof (MamanBar),
|
68
|
-
0, /* n_preallocs */
|
69
|
-
(GInstanceInitFunc) NULL /* instance_init */
|
70
|
-
};
|
71
|
-
type = g_type_register_static (G_TYPE_OBJECT,
|
72
|
-
"BarType",
|
73
|
-
&info, 0);
|
74
|
-
}
|
75
|
-
return type;
|
76
|
-
}
|
77
|
-
</pre>
|
78
|
-
<p>
|
79
|
-
Upon the first call to <code class="function">maman_bar_get_type</code>, the type named
|
80
|
-
<span class="emphasis"><em>BarType</em></span> will be registered in the type system as inheriting
|
81
|
-
from the type <span class="emphasis"><em>G_TYPE_OBJECT</em></span>.
|
82
|
-
</p>
|
83
|
-
<p>
|
84
|
-
Every object must define two structures: its class structure and its
|
85
|
-
instance structure. All class structures must contain as first member
|
86
|
-
a <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeClass" title="GTypeClass">GTypeClass</a></span> structure. All instance structures must contain as first
|
87
|
-
member a <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInstance" title="GTypeInstance">GTypeInstance</a></span> structure. The declaration of these C types,
|
88
|
-
coming from <code class="filename">gtype.h</code> is shown below:
|
89
|
-
</p>
|
90
|
-
<pre class="programlisting">
|
91
|
-
struct _GTypeClass
|
92
|
-
{
|
93
|
-
GType g_type;
|
94
|
-
};
|
95
|
-
struct _GTypeInstance
|
96
|
-
{
|
97
|
-
GTypeClass *g_class;
|
98
|
-
};
|
99
|
-
</pre>
|
100
|
-
<p>
|
101
|
-
These constraints allow the type system to make sure that every object instance
|
102
|
-
(identified by a pointer to the object's instance structure) contains in its
|
103
|
-
first bytes a pointer to the object's class structure.
|
104
|
-
</p>
|
105
|
-
<p>
|
106
|
-
This relationship is best explained by an example: let's take object B which
|
107
|
-
inherits from object A:
|
108
|
-
</p>
|
109
|
-
<pre class="programlisting">
|
110
|
-
/* A definitions */
|
111
|
-
typedef struct {
|
112
|
-
GTypeInstance parent;
|
113
|
-
int field_a;
|
114
|
-
int field_b;
|
115
|
-
} A;
|
116
|
-
typedef struct {
|
117
|
-
GTypeClass parent_class;
|
118
|
-
void (*method_a) (void);
|
119
|
-
void (*method_b) (void);
|
120
|
-
} AClass;
|
121
|
-
|
122
|
-
/* B definitions. */
|
123
|
-
typedef struct {
|
124
|
-
A parent;
|
125
|
-
int field_c;
|
126
|
-
int field_d;
|
127
|
-
} B;
|
128
|
-
typedef struct {
|
129
|
-
AClass parent_class;
|
130
|
-
void (*method_c) (void);
|
131
|
-
void (*method_d) (void);
|
132
|
-
} BClass;
|
133
|
-
</pre>
|
134
|
-
<p>
|
135
|
-
The C standard mandates that the first field of a C structure is stored starting
|
136
|
-
in the first byte of the buffer used to hold the structure's fields in memory.
|
137
|
-
This means that the first field of an instance of an object B is A's first field
|
138
|
-
which in turn is GTypeInstance's first field which in turn is g_class, a pointer
|
139
|
-
to B's class structure.
|
140
|
-
</p>
|
141
|
-
<p>
|
142
|
-
Thanks to these simple conditions, it is possible to detect the type of every
|
143
|
-
object instance by doing:
|
144
|
-
</p>
|
145
|
-
<pre class="programlisting">
|
146
|
-
B *b;
|
147
|
-
b->parent.parent.g_class->g_type
|
148
|
-
</pre>
|
149
|
-
<p>
|
150
|
-
or, more quickly:
|
151
|
-
</p>
|
152
|
-
<pre class="programlisting">
|
153
|
-
B *b;
|
154
|
-
((GTypeInstance*)b)->g_class->g_type
|
155
|
-
</pre>
|
156
|
-
<p>
|
157
|
-
</p>
|
158
|
-
<div class="sect2">
|
159
|
-
<div class="titlepage"><div><div><h3 class="title">
|
160
|
-
<a name="gtype-instantiable-classed-init-done"></a>Initialization and Destruction</h3></div></div></div>
|
161
|
-
<p>
|
162
|
-
instantiation of these types can be done with
|
163
|
-
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()">g_type_create_instance</a></code>:
|
164
|
-
</p>
|
165
|
-
<pre class="programlisting">
|
166
|
-
GTypeInstance* g_type_create_instance (GType type);
|
167
|
-
void g_type_free_instance (GTypeInstance *instance);
|
168
|
-
</pre>
|
169
|
-
<p>
|
170
|
-
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()">g_type_create_instance</a></code> will look up the type information
|
171
|
-
structure associated to the type requested. Then, the instance size and instantiation
|
172
|
-
policy (if the n_preallocs field is set to a non-zero value, the type system allocates
|
173
|
-
the object's instance structures in chunks rather than mallocing for every instance)
|
174
|
-
declared by the user are used to get a buffer to hold the object's instance
|
175
|
-
structure.
|
176
|
-
</p>
|
177
|
-
<p>
|
178
|
-
If this is the first instance of the object ever created, the type system must create
|
179
|
-
a class structure: it allocates a buffer to hold the object's class structure and
|
180
|
-
initializes it. It first copies the parent's class structure over this structure
|
181
|
-
(if there is no parent, it initializes it to zero). It then invokes the
|
182
|
-
base_class_initialization functions (<span class="type"><a class="link" href="gobject-Type-Information.html#GBaseInitFunc" title="GBaseInitFunc ()">GBaseInitFunc</a></span>) from topmost
|
183
|
-
fundamental object to bottom-most most derived object. The object's class_init
|
184
|
-
(<span class="type"><a class="link" href="gobject-Type-Information.html#GClassInitFunc" title="GClassInitFunc ()">GClassInitFunc</a></span>) function is invoked afterwards to complete
|
185
|
-
initialization of the class structure.
|
186
|
-
Finally, the object's interfaces are initialized (we will discuss interface initialization
|
187
|
-
in more detail later).
|
188
|
-
</p>
|
189
|
-
<p>
|
190
|
-
Once the type system has a pointer to an initialized class structure, it sets the object's
|
191
|
-
instance class pointer to the object's class structure and invokes the object's
|
192
|
-
instance_init (<span class="type"><a class="link" href="gobject-Type-Information.html#GInstanceInitFunc" title="GInstanceInitFunc ()">GInstanceInitFunc</a></span>)functions, from top-most fundamental
|
193
|
-
type to bottom-most most derived type.
|
194
|
-
</p>
|
195
|
-
<p>
|
196
|
-
Object instance destruction through <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 very simple:
|
197
|
-
the instance structure is returned to the instance pool if there is one and if this was the
|
198
|
-
last living instance of the object, the class is destroyed.
|
199
|
-
</p>
|
200
|
-
<p>
|
201
|
-
Class destruction (the concept of destruction is sometimes partly
|
202
|
-
referred to as finalization in GType) is the symmetric process of
|
203
|
-
the initialization: interfaces are destroyed first.
|
204
|
-
Then, the most derived
|
205
|
-
class_finalize (<span class="type">ClassFinalizeFunc</span>) function is invoked. The
|
206
|
-
base_class_finalize (<span class="type"><a class="link" href="gobject-Type-Information.html#GBaseFinalizeFunc" title="GBaseFinalizeFunc ()">GBaseFinalizeFunc</a></span>) functions are
|
207
|
-
Finally invoked from bottom-most most-derived type to top-most fundamental type and
|
208
|
-
the class structure is freed.
|
209
|
-
</p>
|
210
|
-
<p>
|
211
|
-
As many readers have now understood it, the base initialization/finalization process is
|
212
|
-
very similar to the C++ constructor/destructor paradigm. The practical details are different
|
213
|
-
though and it is important not to get confused by superficial similarities.
|
214
|
-
GTypes have no instance destruction mechanism. It is
|
215
|
-
the user's responsibility to implement correct destruction semantics on top
|
216
|
-
of the existing GType code. (this is what GObject does. See
|
217
|
-
<a class="xref" href="chapter-gobject.html" title="The GObject base class"><i>The GObject base class</i></a>)
|
218
|
-
Furthermore, C++ code equivalent to the base_init
|
219
|
-
and class_init callbacks of GType is usually not needed because C++ cannot really create object
|
220
|
-
types at runtime.
|
221
|
-
</p>
|
222
|
-
<p>
|
223
|
-
The instantiation/finalization process can be summarized as follows:
|
224
|
-
</p>
|
225
|
-
<div class="table">
|
226
|
-
<a name="gtype-init-fini-table"></a><p class="title"><b>Table 1. GType Instantiation/Finalization</b></p>
|
227
|
-
<div class="table-contents"><table summary="GType Instantiation/Finalization" border="1">
|
228
|
-
<colgroup>
|
229
|
-
<col align="left">
|
230
|
-
<col align="left">
|
231
|
-
<col align="left">
|
232
|
-
</colgroup>
|
233
|
-
<thead><tr>
|
234
|
-
<th align="left">Invocation time</th>
|
235
|
-
<th align="left">Function Invoked</th>
|
236
|
-
<th align="left">Function's parameters</th>
|
237
|
-
</tr></thead>
|
238
|
-
<tbody>
|
239
|
-
<tr>
|
240
|
-
<td rowspan="3" align="left">First call to <code class="function"><a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()">g_type_create_instance</a></code> for target type</td>
|
241
|
-
<td align="left">type's base_init function</td>
|
242
|
-
<td align="left">On the inheritance tree of classes from fundamental type to target type.
|
243
|
-
base_init is invoked once for each class structure.</td>
|
244
|
-
</tr>
|
245
|
-
<tr>
|
246
|
-
<td align="left">target type's class_init function</td>
|
247
|
-
<td align="left">On target type's class structure</td>
|
248
|
-
</tr>
|
249
|
-
<tr>
|
250
|
-
<td align="left">interface initialization, see
|
251
|
-
<a class="xref" href="gtype-non-instantiable-classed.html#gtype-non-instantiable-classed-init" title="Interface Initialization">the section called “Interface Initialization”</a>
|
252
|
-
</td>
|
253
|
-
<td align="left"> </td>
|
254
|
-
</tr>
|
255
|
-
<tr>
|
256
|
-
<td align="left">Each call to <code class="function"><a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()">g_type_create_instance</a></code> for target type</td>
|
257
|
-
<td align="left">target type's instance_init function</td>
|
258
|
-
<td align="left">On object's instance</td>
|
259
|
-
</tr>
|
260
|
-
<tr>
|
261
|
-
<td rowspan="3" align="left">Last call to <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> for target type</td>
|
262
|
-
<td align="left">interface destruction, see
|
263
|
-
<a class="xref" href="gtype-non-instantiable-classed.html#gtype-non-instantiable-classed-dest" title="Interface Destruction">the section called “Interface Destruction”</a>
|
264
|
-
</td>
|
265
|
-
<td align="left"> </td>
|
266
|
-
</tr>
|
267
|
-
<tr>
|
268
|
-
<td align="left">target type's class_finalize function</td>
|
269
|
-
<td align="left">On target type's class structure</td>
|
270
|
-
</tr>
|
271
|
-
<tr>
|
272
|
-
<td align="left">type's base_finalize function</td>
|
273
|
-
<td align="left">On the inheritance tree of classes from fundamental type to target type.
|
274
|
-
base_finalize is invoked once for each class structure.</td>
|
275
|
-
</tr>
|
276
|
-
</tbody>
|
277
|
-
</table></div>
|
278
|
-
</div>
|
279
|
-
<p><br class="table-break">
|
280
|
-
</p>
|
281
|
-
</div>
|
282
|
-
</div>
|
283
|
-
<div class="footer">
|
284
|
-
<hr>
|
285
|
-
Generated by GTK-Doc V1.15.1</div>
|
286
|
-
</body>
|
287
|
-
</html>
|
@@ -1,316 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
-
<title>Non-instantiable classed types: interfaces</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-gtype.html" title="The GLib Dynamic Type System">
|
9
|
-
<link rel="prev" href="gtype-instantiable-classed.html" title="Instantiable classed types: objects">
|
10
|
-
<link rel="next" href="chapter-gobject.html" title="The GObject base class">
|
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="gtype-instantiable-classed.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
17
|
-
<td><a accesskey="u" href="chapter-gtype.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-gobject.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="gtype-non-instantiable-classed"></a>Non-instantiable classed types: interfaces</h2></div></div></div>
|
25
|
-
<p>
|
26
|
-
GType's interfaces are very similar to Java's interfaces. They allow
|
27
|
-
to describe a common API that several classes will adhere to.
|
28
|
-
Imagine the play, pause and stop buttons on hi-fi equipment - those can
|
29
|
-
be seen as a playback interface. Once you know what they do, you can
|
30
|
-
control your CD player, MP3 player or anything that uses these symbols.
|
31
|
-
To declare an interface you have to register a non-instantiable
|
32
|
-
classed type which derives from
|
33
|
-
<span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInterface" title="GTypeInterface">GTypeInterface</a></span>. The following piece of code declares such an interface.
|
34
|
-
</p>
|
35
|
-
<pre class="programlisting">
|
36
|
-
#define MAMAN_IBAZ_TYPE (maman_ibaz_get_type ())
|
37
|
-
#define MAMAN_IBAZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MAMAN_IBAZ_TYPE, MamanIbaz))
|
38
|
-
#define MAMAN_IS_IBAZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MAMAN_IBAZ_TYPE))
|
39
|
-
#define MAMAN_IBAZ_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), MAMAN_IBAZ_TYPE, MamanIbazInterface))
|
40
|
-
|
41
|
-
typedef struct _MamanIbaz MamanIbaz; /* dummy object */
|
42
|
-
typedef struct _MamanIbazInterface MamanIbazInterface;
|
43
|
-
|
44
|
-
struct _MamanIbazInterface {
|
45
|
-
GTypeInterface parent;
|
46
|
-
|
47
|
-
void (*do_action) (MamanIbaz *self);
|
48
|
-
};
|
49
|
-
|
50
|
-
GType maman_ibaz_get_type (void);
|
51
|
-
|
52
|
-
void maman_ibaz_do_action (MamanIbaz *self);
|
53
|
-
</pre>
|
54
|
-
<p>
|
55
|
-
The interface function, <code class="function">maman_ibaz_do_action</code> is implemented
|
56
|
-
in a pretty simple way:
|
57
|
-
</p>
|
58
|
-
<pre class="programlisting">
|
59
|
-
void maman_ibaz_do_action (MamanIbaz *self)
|
60
|
-
{
|
61
|
-
MAMAN_IBAZ_GET_INTERFACE (self)->do_action (self);
|
62
|
-
}
|
63
|
-
</pre>
|
64
|
-
<p>
|
65
|
-
<code class="function">maman_ibaz_get_type</code> registers a type named <span class="emphasis"><em>MamanIBaz</em></span>
|
66
|
-
which inherits from G_TYPE_INTERFACE. All interfaces must be children of G_TYPE_INTERFACE in the
|
67
|
-
inheritance tree.
|
68
|
-
</p>
|
69
|
-
<p>
|
70
|
-
An interface is defined by only one structure which must contain as first member
|
71
|
-
a <span class="type"><a class="link" href="gobject-Type-Information.html#GTypeInterface" title="GTypeInterface">GTypeInterface</a></span> structure. The interface structure is expected to
|
72
|
-
contain the function pointers of the interface methods. It is good style to
|
73
|
-
define helper functions for each of the interface methods which simply call
|
74
|
-
the interface' method directly: <code class="function">maman_ibaz_do_action</code>
|
75
|
-
is one of these.
|
76
|
-
</p>
|
77
|
-
<p>
|
78
|
-
Once an interface type is registered, you must register implementations for these
|
79
|
-
interfaces. The function named <code class="function">maman_baz_get_type</code> registers
|
80
|
-
a new GType named MamanBaz which inherits from <span class="type"><a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a></span> and which
|
81
|
-
implements the interface <span class="type">MamanIBaz</span>.
|
82
|
-
</p>
|
83
|
-
<pre class="programlisting">
|
84
|
-
static void maman_baz_do_action (MamanIbaz *self)
|
85
|
-
{
|
86
|
-
g_print ("Baz implementation of IBaz interface Action.\n");
|
87
|
-
}
|
88
|
-
|
89
|
-
|
90
|
-
static void
|
91
|
-
baz_interface_init (gpointer g_iface,
|
92
|
-
gpointer iface_data)
|
93
|
-
{
|
94
|
-
MamanIbazInterface *iface = (MamanIbazInterface *)g_iface;
|
95
|
-
iface->do_action = maman_baz_do_action;
|
96
|
-
}
|
97
|
-
|
98
|
-
GType
|
99
|
-
maman_baz_get_type (void)
|
100
|
-
{
|
101
|
-
static GType type = 0;
|
102
|
-
if (type == 0) {
|
103
|
-
static const GTypeInfo info = {
|
104
|
-
sizeof (MamanBazInterface),
|
105
|
-
NULL, /* base_init */
|
106
|
-
NULL, /* base_finalize */
|
107
|
-
NULL, /* class_init */
|
108
|
-
NULL, /* class_finalize */
|
109
|
-
NULL, /* class_data */
|
110
|
-
sizeof (MamanBaz),
|
111
|
-
0, /* n_preallocs */
|
112
|
-
NULL /* instance_init */
|
113
|
-
};
|
114
|
-
static const GInterfaceInfo ibaz_info = {
|
115
|
-
(GInterfaceInitFunc) baz_interface_init, /* interface_init */
|
116
|
-
NULL, /* interface_finalize */
|
117
|
-
NULL /* interface_data */
|
118
|
-
};
|
119
|
-
type = g_type_register_static (G_TYPE_OBJECT,
|
120
|
-
"MamanBazType",
|
121
|
-
&info, 0);
|
122
|
-
g_type_add_interface_static (type,
|
123
|
-
MAMAN_IBAZ_TYPE,
|
124
|
-
&ibaz_info);
|
125
|
-
}
|
126
|
-
return type;
|
127
|
-
}
|
128
|
-
</pre>
|
129
|
-
<p>
|
130
|
-
</p>
|
131
|
-
<p>
|
132
|
-
<code class="function"><a class="link" href="gobject-Type-Information.html#g-type-add-interface-static" title="g_type_add_interface_static ()">g_type_add_interface_static</a></code> records in the type system that
|
133
|
-
a given type implements also <span class="type">FooInterface</span>
|
134
|
-
(<code class="function">foo_interface_get_type</code> returns the type of
|
135
|
-
<span class="type">FooInterface</span>).
|
136
|
-
The <span class="type"><a class="link" href="gobject-Type-Information.html#GInterfaceInfo" title="GInterfaceInfo">GInterfaceInfo</a></span> structure holds
|
137
|
-
information about the implementation of the interface:
|
138
|
-
</p>
|
139
|
-
<pre class="programlisting">
|
140
|
-
struct _GInterfaceInfo
|
141
|
-
{
|
142
|
-
GInterfaceInitFunc interface_init;
|
143
|
-
GInterfaceFinalizeFunc interface_finalize;
|
144
|
-
gpointer interface_data;
|
145
|
-
};
|
146
|
-
</pre>
|
147
|
-
<p>
|
148
|
-
</p>
|
149
|
-
<p>
|
150
|
-
When having no special requirements you also can use the <code class="function">G_DEFINE_INTERFACE</code> macro:
|
151
|
-
</p>
|
152
|
-
<pre class="programlisting">
|
153
|
-
G_DEFINE_INTERFACE (MamanBaz, maman_baz, G_TYPE_OBJECT)
|
154
|
-
</pre>
|
155
|
-
<p>
|
156
|
-
</p>
|
157
|
-
<div class="sect2">
|
158
|
-
<div class="titlepage"><div><div><h3 class="title">
|
159
|
-
<a name="gtype-non-instantiable-classed-init"></a>Interface Initialization</h3></div></div></div>
|
160
|
-
<p>
|
161
|
-
When an instantiable classed type which registered an interface
|
162
|
-
implementation is created for the first time, its class structure
|
163
|
-
is initialized following the process
|
164
|
-
described in <a class="xref" href="gtype-instantiable-classed.html" title="Instantiable classed types: objects">the section called “Instantiable classed types: objects”</a>.
|
165
|
-
After that, the interface implementations associated with
|
166
|
-
the type are initialized.
|
167
|
-
</p>
|
168
|
-
<p>
|
169
|
-
First a memory buffer is allocated to hold the interface structure. The parent's
|
170
|
-
interface structure is then copied over to the new interface structure (the parent
|
171
|
-
interface is already initialized at that point). If there is no parent interface,
|
172
|
-
the interface structure is initialized with zeros. The g_type and the g_instance_type
|
173
|
-
fields are then initialized: g_type is set to the type of the most-derived interface
|
174
|
-
and g_instance_type is set to the type of the most derived type which implements
|
175
|
-
this interface.
|
176
|
-
</p>
|
177
|
-
<p>
|
178
|
-
Finally, the interface' most-derived <code class="function">base_init</code> function and then
|
179
|
-
the implementation's <code class="function">interface_init</code>
|
180
|
-
function are invoked. It is important to understand that if there are multiple
|
181
|
-
implementations of an interface the <code class="function">base_init</code> and
|
182
|
-
<code class="function">interface_init</code> functions will be
|
183
|
-
invoked once for each implementation initialized.
|
184
|
-
</p>
|
185
|
-
<p>
|
186
|
-
It is thus common for base_init functions to hold a local static boolean variable
|
187
|
-
which makes sure that the interface type is initialized only once even if there are
|
188
|
-
multiple implementations of the interface:
|
189
|
-
</p>
|
190
|
-
<pre class="programlisting">
|
191
|
-
static void
|
192
|
-
maman_ibaz_base_init (gpointer g_iface)
|
193
|
-
{
|
194
|
-
static gboolean initialized = FALSE;
|
195
|
-
|
196
|
-
if (!initialized) {
|
197
|
-
/* create interface signals here. */
|
198
|
-
initialized = TRUE;
|
199
|
-
}
|
200
|
-
}
|
201
|
-
</pre>
|
202
|
-
<p>
|
203
|
-
</p>
|
204
|
-
<p>
|
205
|
-
If you have found the stuff about interface hairy, you are right: it is hairy but
|
206
|
-
there is not much I can do about it. What I can do is summarize what you need to know
|
207
|
-
about interfaces:
|
208
|
-
</p>
|
209
|
-
<p>
|
210
|
-
The above process can be summarized as follows:
|
211
|
-
</p>
|
212
|
-
<div class="table">
|
213
|
-
<a name="ginterface-init-table"></a><p class="title"><b>Table 2. Interface Initialization</b></p>
|
214
|
-
<div class="table-contents"><table summary="Interface Initialization" border="1">
|
215
|
-
<colgroup>
|
216
|
-
<col align="left">
|
217
|
-
<col align="left">
|
218
|
-
<col align="left">
|
219
|
-
</colgroup>
|
220
|
-
<thead><tr>
|
221
|
-
<th align="left">Invocation time</th>
|
222
|
-
<th align="left">Function Invoked</th>
|
223
|
-
<th align="left">Function's parameters</th>
|
224
|
-
<th>Remark</th>
|
225
|
-
</tr></thead>
|
226
|
-
<tbody>
|
227
|
-
<tr>
|
228
|
-
<td rowspan="2" align="left">First call to <code class="function"><a class="link" href="gobject-Type-Information.html#g-type-create-instance" title="g_type_create_instance ()">g_type_create_instance</a></code> for type
|
229
|
-
implementing interface
|
230
|
-
</td>
|
231
|
-
<td align="left">interface' base_init function</td>
|
232
|
-
<td align="left">On interface' vtable</td>
|
233
|
-
<td>Register interface' signals here (use a local static
|
234
|
-
boolean variable as described above to make sure not to register them
|
235
|
-
twice.).</td>
|
236
|
-
</tr>
|
237
|
-
<tr>
|
238
|
-
<td align="left">interface' interface_init function</td>
|
239
|
-
<td align="left">On interface' vtable</td>
|
240
|
-
<td>
|
241
|
-
Initialize interface' implementation. That is, initialize the interface
|
242
|
-
method pointers in the interface structure to the function's implementation.
|
243
|
-
</td>
|
244
|
-
</tr>
|
245
|
-
</tbody>
|
246
|
-
</table></div>
|
247
|
-
</div>
|
248
|
-
<p><br class="table-break">
|
249
|
-
It is highly unlikely (i.e. I do not know of <span class="emphasis"><em>anyone</em></span> who actually
|
250
|
-
used it) you will ever need other more fancy things such as the ones described in the
|
251
|
-
following section (<a class="xref" href="gtype-non-instantiable-classed.html#gtype-non-instantiable-classed-dest" title="Interface Destruction">the section called “Interface Destruction”</a>).
|
252
|
-
</p>
|
253
|
-
</div>
|
254
|
-
<div class="sect2">
|
255
|
-
<div class="titlepage"><div><div><h3 class="title">
|
256
|
-
<a name="gtype-non-instantiable-classed-dest"></a>Interface Destruction</h3></div></div></div>
|
257
|
-
<p>
|
258
|
-
When the last instance of an instantiable type which registered
|
259
|
-
an interface implementation is destroyed, the interface's
|
260
|
-
implementations associated to the type are destroyed.
|
261
|
-
</p>
|
262
|
-
<p>
|
263
|
-
To destroy an interface implementation, GType first calls the
|
264
|
-
implementation's <code class="function">interface_finalize</code> function
|
265
|
-
and then the interface's most-derived
|
266
|
-
<code class="function">base_finalize</code> function.
|
267
|
-
</p>
|
268
|
-
<p>
|
269
|
-
Again, it is important to understand, as in
|
270
|
-
<a class="xref" href="gtype-non-instantiable-classed.html#gtype-non-instantiable-classed-init" title="Interface Initialization">the section called “Interface Initialization”</a>,
|
271
|
-
that both <code class="function">interface_finalize</code> and <code class="function">base_finalize</code>
|
272
|
-
are invoked exactly once for the destruction of each implementation of an interface. Thus,
|
273
|
-
if you were to use one of these functions, you would need to use a static integer variable
|
274
|
-
which would hold the number of instances of implementations of an interface such that
|
275
|
-
the interface's class is destroyed only once (when the integer variable reaches zero).
|
276
|
-
</p>
|
277
|
-
<p>
|
278
|
-
The above process can be summarized as follows:
|
279
|
-
</p>
|
280
|
-
<div class="table">
|
281
|
-
<a name="ginterface-fini-table"></a><p class="title"><b>Table 3. Interface Finalization</b></p>
|
282
|
-
<div class="table-contents"><table summary="Interface Finalization" border="1">
|
283
|
-
<colgroup>
|
284
|
-
<col align="left">
|
285
|
-
<col align="left">
|
286
|
-
<col align="left">
|
287
|
-
</colgroup>
|
288
|
-
<thead><tr>
|
289
|
-
<th align="left">Invocation time</th>
|
290
|
-
<th align="left">Function Invoked</th>
|
291
|
-
<th align="left">Function's parameters</th>
|
292
|
-
</tr></thead>
|
293
|
-
<tbody>
|
294
|
-
<tr>
|
295
|
-
<td rowspan="2" align="left">Last call to <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> for type
|
296
|
-
implementing interface
|
297
|
-
</td>
|
298
|
-
<td align="left">interface' interface_finalize function</td>
|
299
|
-
<td align="left">On interface' vtable</td>
|
300
|
-
</tr>
|
301
|
-
<tr>
|
302
|
-
<td align="left">interface' base_finalize function</td>
|
303
|
-
<td align="left">On interface' vtable</td>
|
304
|
-
</tr>
|
305
|
-
</tbody>
|
306
|
-
</table></div>
|
307
|
-
</div>
|
308
|
-
<p><br class="table-break">
|
309
|
-
</p>
|
310
|
-
</div>
|
311
|
-
</div>
|
312
|
-
<div class="footer">
|
313
|
-
<hr>
|
314
|
-
Generated by GTK-Doc V1.15.1</div>
|
315
|
-
</body>
|
316
|
-
</html>
|