glib2 0.90.2-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +3115 -0
- data/README +40 -0
- data/Rakefile +69 -0
- data/ext/glib2/depend +10 -0
- data/ext/glib2/extconf.rb +61 -0
- data/ext/glib2/glib2.def +89 -0
- data/ext/glib2/rbgcompat.h +30 -0
- data/ext/glib2/rbglib.c +330 -0
- data/ext/glib2/rbglib.h +96 -0
- data/ext/glib2/rbglib_bookmarkfile.c +595 -0
- data/ext/glib2/rbglib_completion.c +192 -0
- data/ext/glib2/rbglib_convert.c +195 -0
- data/ext/glib2/rbglib_error.c +95 -0
- data/ext/glib2/rbglib_fileutils.c +83 -0
- data/ext/glib2/rbglib_i18n.c +44 -0
- data/ext/glib2/rbglib_int64.c +157 -0
- data/ext/glib2/rbglib_iochannel.c +883 -0
- data/ext/glib2/rbglib_keyfile.c +846 -0
- data/ext/glib2/rbglib_maincontext.c +915 -0
- data/ext/glib2/rbglib_mainloop.c +87 -0
- data/ext/glib2/rbglib_messages.c +150 -0
- data/ext/glib2/rbglib_pollfd.c +111 -0
- data/ext/glib2/rbglib_shell.c +68 -0
- data/ext/glib2/rbglib_source.c +190 -0
- data/ext/glib2/rbglib_spawn.c +345 -0
- data/ext/glib2/rbglib_threads.c +51 -0
- data/ext/glib2/rbglib_timer.c +127 -0
- data/ext/glib2/rbglib_unicode.c +611 -0
- data/ext/glib2/rbglib_utils.c +386 -0
- data/ext/glib2/rbglib_win32.c +136 -0
- data/ext/glib2/rbgobj_boxed.c +251 -0
- data/ext/glib2/rbgobj_closure.c +337 -0
- data/ext/glib2/rbgobj_convert.c +167 -0
- data/ext/glib2/rbgobj_enums.c +961 -0
- data/ext/glib2/rbgobj_fundamental.c +30 -0
- data/ext/glib2/rbgobj_object.c +892 -0
- data/ext/glib2/rbgobj_param.c +390 -0
- data/ext/glib2/rbgobj_paramspecs.c +305 -0
- data/ext/glib2/rbgobj_signal.c +963 -0
- data/ext/glib2/rbgobj_strv.c +61 -0
- data/ext/glib2/rbgobj_type.c +851 -0
- data/ext/glib2/rbgobj_typeinstance.c +121 -0
- data/ext/glib2/rbgobj_typeinterface.c +148 -0
- data/ext/glib2/rbgobj_typemodule.c +66 -0
- data/ext/glib2/rbgobj_typeplugin.c +49 -0
- data/ext/glib2/rbgobj_value.c +313 -0
- data/ext/glib2/rbgobj_valuearray.c +59 -0
- data/ext/glib2/rbgobj_valuetypes.c +298 -0
- data/ext/glib2/rbgobject.c +406 -0
- data/ext/glib2/rbgobject.h +265 -0
- data/ext/glib2/rbgprivate.h +88 -0
- data/ext/glib2/rbgutil.c +316 -0
- data/ext/glib2/rbgutil.h +82 -0
- data/ext/glib2/rbgutil_callback.c +231 -0
- data/extconf.rb +49 -0
- data/lib/1.8/glib2.so +0 -0
- data/lib/1.9/glib2.so +0 -0
- data/lib/glib-mkenums.rb +199 -0
- data/lib/glib2.rb +239 -0
- data/lib/gnome2-win32-binary-downloader.rb +92 -0
- data/lib/mkmf-gnome2.rb +377 -0
- data/sample/bookmarkfile.rb +66 -0
- data/sample/completion.rb +45 -0
- data/sample/idle.rb +41 -0
- data/sample/iochannel.rb +44 -0
- data/sample/keyfile.rb +62 -0
- data/sample/shell.rb +36 -0
- data/sample/spawn.rb +25 -0
- data/sample/timeout.rb +28 -0
- data/sample/timeout2.rb +35 -0
- data/sample/timer.rb +40 -0
- data/sample/type-register.rb +103 -0
- data/sample/type-register2.rb +104 -0
- data/sample/utils.rb +54 -0
- data/test/glib-test-init.rb +6 -0
- data/test/glib-test-utils.rb +12 -0
- data/test/run-test.rb +21 -0
- data/test/test_enum.rb +99 -0
- data/test/test_file_utils.rb +15 -0
- data/test/test_glib2.rb +120 -0
- data/test/test_iochannel.rb +275 -0
- data/test/test_key_file.rb +38 -0
- data/test/test_mkenums.rb +25 -0
- data/test/test_signal.rb +20 -0
- data/test/test_timeout.rb +28 -0
- data/test/test_unicode.rb +369 -0
- data/test/test_utils.rb +37 -0
- data/test/test_win32.rb +13 -0
- data/test-unit/COPYING +56 -0
- data/test-unit/GPL +340 -0
- data/test-unit/History.txt +232 -0
- data/test-unit/Manifest.txt +110 -0
- data/test-unit/PSFL +271 -0
- data/test-unit/README.txt +75 -0
- data/test-unit/Rakefile +53 -0
- data/test-unit/TODO +5 -0
- data/test-unit/bin/testrb +5 -0
- data/test-unit/html/bar.png +0 -0
- data/test-unit/html/bar.svg +153 -0
- data/test-unit/html/developer.png +0 -0
- data/test-unit/html/developer.svg +469 -0
- data/test-unit/html/famfamfam-logo.png +0 -0
- data/test-unit/html/favicon.ico +0 -0
- data/test-unit/html/favicon.png +0 -0
- data/test-unit/html/favicon.svg +82 -0
- data/test-unit/html/heading-mark.png +0 -0
- data/test-unit/html/heading-mark.svg +393 -0
- data/test-unit/html/index.html +247 -0
- data/test-unit/html/index.html.ja +270 -0
- data/test-unit/html/install.png +0 -0
- data/test-unit/html/install.svg +636 -0
- data/test-unit/html/jp.png +0 -0
- data/test-unit/html/kinotan-failure.png +0 -0
- data/test-unit/html/kinotan-pass.png +0 -0
- data/test-unit/html/logo.png +0 -0
- data/test-unit/html/logo.svg +483 -0
- data/test-unit/html/reference.png +0 -0
- data/test-unit/html/rubyforge.png +0 -0
- data/test-unit/html/tango-logo.png +0 -0
- data/test-unit/html/test-unit.css +339 -0
- data/test-unit/html/tutorial.png +0 -0
- data/test-unit/html/tutorial.svg +559 -0
- data/test-unit/html/us.png +0 -0
- data/test-unit/images/color-diff.png +0 -0
- data/test-unit/lib/test/unit/assertionfailederror.rb +25 -0
- data/test-unit/lib/test/unit/assertions.rb +1334 -0
- data/test-unit/lib/test/unit/attribute.rb +125 -0
- data/test-unit/lib/test/unit/autorunner.rb +363 -0
- data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
- data/test-unit/lib/test/unit/collector/dir.rb +108 -0
- data/test-unit/lib/test/unit/collector/load.rb +144 -0
- data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
- data/test-unit/lib/test/unit/collector.rb +36 -0
- data/test-unit/lib/test/unit/color-scheme.rb +106 -0
- data/test-unit/lib/test/unit/color.rb +96 -0
- data/test-unit/lib/test/unit/diff.rb +740 -0
- data/test-unit/lib/test/unit/error.rb +130 -0
- data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
- data/test-unit/lib/test/unit/failure.rb +136 -0
- data/test-unit/lib/test/unit/fixture.rb +176 -0
- data/test-unit/lib/test/unit/notification.rb +129 -0
- data/test-unit/lib/test/unit/omission.rb +191 -0
- data/test-unit/lib/test/unit/pending.rb +150 -0
- data/test-unit/lib/test/unit/priority.rb +180 -0
- data/test-unit/lib/test/unit/runner/console.rb +52 -0
- data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
- data/test-unit/lib/test/unit/runner/tap.rb +8 -0
- data/test-unit/lib/test/unit/testcase.rb +483 -0
- data/test-unit/lib/test/unit/testresult.rb +121 -0
- data/test-unit/lib/test/unit/testsuite.rb +110 -0
- data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +430 -0
- data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +63 -0
- data/test-unit/lib/test/unit/ui/tap/testrunner.rb +82 -0
- data/test-unit/lib/test/unit/ui/testrunner.rb +53 -0
- data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
- data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/test-unit/lib/test/unit/util/backtracefilter.rb +42 -0
- data/test-unit/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/test-unit/lib/test/unit/util/observable.rb +90 -0
- data/test-unit/lib/test/unit/util/output.rb +31 -0
- data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
- data/test-unit/lib/test/unit/version.rb +7 -0
- data/test-unit/lib/test/unit.rb +328 -0
- data/test-unit/sample/adder.rb +13 -0
- data/test-unit/sample/subtracter.rb +12 -0
- data/test-unit/sample/test_adder.rb +20 -0
- data/test-unit/sample/test_subtracter.rb +20 -0
- data/test-unit/sample/test_user.rb +23 -0
- data/test-unit/test/collector/test-descendant.rb +133 -0
- data/test-unit/test/collector/test-load.rb +442 -0
- data/test-unit/test/collector/test_dir.rb +406 -0
- data/test-unit/test/collector/test_objectspace.rb +100 -0
- data/test-unit/test/run-test.rb +15 -0
- data/test-unit/test/test-attribute.rb +86 -0
- data/test-unit/test/test-color-scheme.rb +69 -0
- data/test-unit/test/test-color.rb +47 -0
- data/test-unit/test/test-diff.rb +518 -0
- data/test-unit/test/test-emacs-runner.rb +60 -0
- data/test-unit/test/test-fixture.rb +287 -0
- data/test-unit/test/test-notification.rb +33 -0
- data/test-unit/test/test-omission.rb +81 -0
- data/test-unit/test/test-pending.rb +70 -0
- data/test-unit/test/test-priority.rb +119 -0
- data/test-unit/test/test-testcase.rb +544 -0
- data/test-unit/test/test_assertions.rb +1197 -0
- data/test-unit/test/test_error.rb +26 -0
- data/test-unit/test/test_failure.rb +33 -0
- data/test-unit/test/test_testresult.rb +113 -0
- data/test-unit/test/test_testsuite.rb +129 -0
- data/test-unit/test/testunit-test-util.rb +14 -0
- data/test-unit/test/ui/test_tap.rb +33 -0
- data/test-unit/test/ui/test_testrunmediator.rb +20 -0
- data/test-unit/test/util/test-method-owner-finder.rb +38 -0
- data/test-unit/test/util/test-output.rb +11 -0
- data/test-unit/test/util/test_backtracefilter.rb +41 -0
- data/test-unit/test/util/test_observable.rb +102 -0
- data/test-unit/test/util/test_procwrapper.rb +36 -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 +511 -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 +237 -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 +82 -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 +80 -0
- data/vendor/local/include/glib-2.0/gio/gconverteroutputstream.h +80 -0
- data/vendor/local/include/glib-2.0/gio/gdatainputstream.h +133 -0
- data/vendor/local/include/glib-2.0/gio/gdataoutputstream.h +116 -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 +133 -0
- data/vendor/local/include/glib-2.0/gio/gfileicon.h +56 -0
- data/vendor/local/include/glib-2.0/gio/gfileinfo.h +951 -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 +101 -0
- data/vendor/local/include/glib-2.0/gio/gioenums.h +703 -0
- data/vendor/local/include/glib-2.0/gio/gioenumtypes.h +79 -0
- data/vendor/local/include/glib-2.0/gio/gioerror.h +48 -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 +339 -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 +97 -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 +69 -0
- data/vendor/local/include/glib-2.0/gio/gnetworkservice.h +69 -0
- data/vendor/local/include/glib-2.0/gio/goutputstream.h +207 -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/gsimpleasyncresult.h +125 -0
- data/vendor/local/include/glib-2.0/gio/gsocket.h +176 -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 +130 -0
- data/vendor/local/include/glib-2.0/gio/gsocketconnectable.h +68 -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 +151 -0
- data/vendor/local/include/glib-2.0/gio/gzlibcompressor.h +55 -0
- data/vendor/local/include/glib-2.0/gio/gzlibdecompressor.h +54 -0
- data/vendor/local/include/glib-2.0/glib/galloca.h +63 -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 +85 -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 +191 -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 +77 -0
- data/vendor/local/include/glib-2.0/glib/gconvert.h +138 -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/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 +250 -0
- data/vendor/local/include/glib-2.0/glib/glist.h +120 -0
- data/vendor/local/include/glib-2.0/glib/gmacros.h +277 -0
- data/vendor/local/include/glib-2.0/glib/gmain.h +304 -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 +203 -0
- data/vendor/local/include/glib-2.0/glib/gmessages.h +343 -0
- data/vendor/local/include/glib-2.0/glib/gnode.h +288 -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 +93 -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 +243 -0
- data/vendor/local/include/glib-2.0/glib/grel.h +97 -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 +159 -0
- data/vendor/local/include/glib-2.0/glib/gstrfuncs.h +267 -0
- data/vendor/local/include/glib-2.0/glib/gstring.h +178 -0
- data/vendor/local/include/glib-2.0/glib/gtestutils.h +292 -0
- data/vendor/local/include/glib-2.0/glib/gthread.h +408 -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/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 +404 -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 +224 -0
- data/vendor/local/include/glib-2.0/glib/gvarianttype.h +305 -0
- data/vendor/local/include/glib-2.0/glib/gwin32.h +114 -0
- data/vendor/local/include/glib-2.0/glib-object.h +41 -0
- data/vendor/local/include/glib-2.0/glib.h +97 -0
- data/vendor/local/include/glib-2.0/gmodule.h +101 -0
- data/vendor/local/include/glib-2.0/gobject/gboxed.h +236 -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 +169 -0
- data/vendor/local/include/glib-2.0/gobject/gobject.h +562 -0
- data/vendor/local/include/glib-2.0/gobject/gobjectnotifyqueue.c +166 -0
- data/vendor/local/include/glib-2.0/gobject/gparam.h +410 -0
- data/vendor/local/include/glib-2.0/gobject/gparamspecs.h +1083 -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 +1608 -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 +222 -0
- data/vendor/local/include/glib-2.0/gobject/gvaluetypes.h +243 -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 +800 -0
- data/vendor/local/lib/gio-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +284 -0
- data/vendor/local/lib/glib-2.0.def +1381 -0
- data/vendor/local/lib/glib-2.0.lib +0 -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 +349 -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 +14 -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_2.24.2-2_win32.mft +101 -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-dev-2.24.2/COPYING +482 -0
- data/vendor/local/share/doc/libasprintf/autosprintf_all.html +174 -0
- data/vendor/local/share/glib-2.0/gdb/glib.py +252 -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 +277 -0
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +1390 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +531 -0
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +343 -0
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +568 -0
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +295 -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 +388 -0
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +993 -0
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +544 -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 +7450 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +115 -0
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +520 -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 +3116 -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 +182 -0
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +183 -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 +195 -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 +362 -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 +263 -0
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +248 -0
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +1006 -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/GSimpleAsyncResult.html +979 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2152 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +297 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +930 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +428 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +548 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +274 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +741 -0
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +258 -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/GUnixFDList.html +381 -0
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +280 -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 +306 -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 +709 -0
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +180 -0
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +128 -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 +1088 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +206 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +97 -0
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +4499 -0
- data/vendor/local/share/gtk-doc/html/gio/async.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +171 -0
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +45 -0
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +80 -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/conversion.html +44 -0
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +96 -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/gio-Desktop-file-based-GAppInfo.html +339 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +465 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +381 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +163 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +163 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +927 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +328 -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-Unix-Mounts.html +918 -0
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +107 -0
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +1235 -0
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +1384 -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 +47 -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 +318 -0
- data/vendor/local/share/gtk-doc/html/gio/index.sgml +1795 -0
- data/vendor/local/share/gtk-doc/html/gio/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +42 -0
- data/vendor/local/share/gtk-doc/html/gio/networking.html +57 -0
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +39 -0
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +293 -0
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +47 -0
- data/vendor/local/share/gtk-doc/html/gio/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +92 -0
- data/vendor/local/share/gtk-doc/html/gio/style.css +257 -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/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 +563 -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 +419 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +389 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +413 -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 +340 -0
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +7835 -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 +413 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +430 -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 +2054 -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 +1187 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +1665 -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 +2042 -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 +1023 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +1810 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +3798 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +1815 -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 +629 -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 +2556 -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 +1029 -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 +703 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +1045 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +1523 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +1466 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +204 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2648 -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 +483 -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 +1283 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +1212 -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 +466 -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 +2947 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +1290 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +1719 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +3379 -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 +314 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +3356 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +150 -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 +438 -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 +2395 -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 +302 -0
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +112 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +2084 -0
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +2556 -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 +1171 -0
- data/vendor/local/share/gtk-doc/html/glib/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/glib/index.html +336 -0
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +2717 -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 +257 -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/GTypeModule.html +710 -0
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +453 -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 +72 -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 +2577 -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 +355 -0
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +295 -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 +406 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2355 -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 +1423 -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 +5242 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2609 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +4227 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +413 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +230 -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 +723 -0
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +757 -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 +187 -0
- data/vendor/local/share/gtk-doc/html/gobject/index.sgml +734 -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 +82 -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 +257 -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/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 +307 -0
- data/vendor/local/share/man/man1/glib-mkenums.1 +234 -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
- metadata +940 -0
@@ -0,0 +1,1023 @@
|
|
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>Error Reporting</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
7
|
+
<link rel="home" href="index.html" title="GLib Reference Manual">
|
8
|
+
<link rel="up" href="glib-core.html" title="GLib Core Application Support">
|
9
|
+
<link rel="prev" href="glib-IO-Channels.html" title="IO Channels">
|
10
|
+
<link rel="next" href="glib-Warnings-and-Assertions.html" title="Message Output and Debugging Functions">
|
11
|
+
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
|
12
|
+
<link rel="stylesheet" href="style.css" type="text/css">
|
13
|
+
</head>
|
14
|
+
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
15
|
+
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
|
16
|
+
<tr valign="middle">
|
17
|
+
<td><a accesskey="p" href="glib-IO-Channels.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
|
18
|
+
<td><a accesskey="u" href="glib-core.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
|
19
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
|
20
|
+
<th width="100%" align="center">GLib Reference Manual</th>
|
21
|
+
<td><a accesskey="n" href="glib-Warnings-and-Assertions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
|
22
|
+
</tr>
|
23
|
+
<tr><td colspan="5" class="shortcuts">
|
24
|
+
<a href="#glib-Error-Reporting.synopsis" class="shortcut">Top</a>
|
25
|
+
|
|
26
|
+
<a href="#glib-Error-Reporting.description" class="shortcut">Description</a>
|
27
|
+
</td></tr>
|
28
|
+
</table>
|
29
|
+
<div class="refentry" title="Error Reporting">
|
30
|
+
<a name="glib-Error-Reporting"></a><div class="titlepage"></div>
|
31
|
+
<div class="refnamediv"><table width="100%"><tr>
|
32
|
+
<td valign="top">
|
33
|
+
<h2><span class="refentrytitle"><a name="glib-Error-Reporting.top_of_page"></a>Error Reporting</span></h2>
|
34
|
+
<p>Error Reporting — a system for reporting errors</p>
|
35
|
+
</td>
|
36
|
+
<td valign="top" align="right"></td>
|
37
|
+
</tr></table></div>
|
38
|
+
<div class="refsynopsisdiv" title="Synopsis">
|
39
|
+
<a name="glib-Error-Reporting.synopsis"></a><h2>Synopsis</h2>
|
40
|
+
<pre class="synopsis">
|
41
|
+
#include <glib.h>
|
42
|
+
|
43
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError">GError</a>;
|
44
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* <a class="link" href="glib-Error-Reporting.html#g-error-new" title="g_error_new ()">g_error_new</a> (<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
45
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
46
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
47
|
+
<em class="parameter"><code>...</code></em>);
|
48
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* <a class="link" href="glib-Error-Reporting.html#g-error-new-literal" title="g_error_new_literal ()">g_error_new_literal</a> (<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
49
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
50
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>);
|
51
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* <a class="link" href="glib-Error-Reporting.html#g-error-new-valist" title="g_error_new_valist ()">g_error_new_valist</a> (<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
52
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
53
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
54
|
+
<em class="parameter"><code><span class="type">va_list</span> args</code></em>);
|
55
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-error-free" title="g_error_free ()">g_error_free</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *error</code></em>);
|
56
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* <a class="link" href="glib-Error-Reporting.html#g-error-copy" title="g_error_copy ()">g_error_copy</a> (<em class="parameter"><code>const <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *error</code></em>);
|
57
|
+
<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-Error-Reporting.html#g-error-matches" title="g_error_matches ()">g_error_matches</a> (<em class="parameter"><code>const <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *error</code></em>,
|
58
|
+
<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
59
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>);
|
60
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-set-error" title="g_set_error ()">g_set_error</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>,
|
61
|
+
<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
62
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
63
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
64
|
+
<em class="parameter"><code>...</code></em>);
|
65
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-set-error-literal" title="g_set_error_literal ()">g_set_error_literal</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>,
|
66
|
+
<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
67
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
68
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>);
|
69
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-propagate-error" title="g_propagate_error ()">g_propagate_error</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **dest</code></em>,
|
70
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *src</code></em>);
|
71
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-clear-error" title="g_clear_error ()">g_clear_error</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>);
|
72
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-prefix-error" title="g_prefix_error ()">g_prefix_error</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>,
|
73
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
74
|
+
<em class="parameter"><code>...</code></em>);
|
75
|
+
<span class="returnvalue">void</span> <a class="link" href="glib-Error-Reporting.html#g-propagate-prefixed-error" title="g_propagate_prefixed_error ()">g_propagate_prefixed_error</a> (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **dest</code></em>,
|
76
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *src</code></em>,
|
77
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
78
|
+
<em class="parameter"><code>...</code></em>);
|
79
|
+
</pre>
|
80
|
+
</div>
|
81
|
+
<div class="refsect1" title="Description">
|
82
|
+
<a name="glib-Error-Reporting.description"></a><h2>Description</h2>
|
83
|
+
<p>
|
84
|
+
GLib provides a standard method of reporting errors from a called function to
|
85
|
+
the calling code. (This is the same problem solved by exceptions in other
|
86
|
+
languages.) It's important to understand that this method is both a
|
87
|
+
<span class="emphasis"><em>data type</em></span> (the <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> object) and a <span class="emphasis"><em>set of
|
88
|
+
rules.</em></span> If you use <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> incorrectly, then your code will not
|
89
|
+
properly interoperate with other code that uses <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>, and users of your API
|
90
|
+
will probably get confused.
|
91
|
+
</p>
|
92
|
+
<p>
|
93
|
+
First and foremost: <span class="emphasis"><em><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> should only be used to report
|
94
|
+
recoverable runtime errors, never to report programming errors.</em></span> If
|
95
|
+
the programmer has screwed up, then you should use <a class="link" href="glib-Message-Logging.html#g-warning" title="g_warning()"><code class="function">g_warning()</code></a>,
|
96
|
+
<a class="link" href="glib-Warnings-and-Assertions.html#g-return-if-fail" title="g_return_if_fail()"><code class="function">g_return_if_fail()</code></a>, <a class="link" href="glib-Testing.html#g-assert" title="g_assert()"><code class="function">g_assert()</code></a>, <a class="link" href="glib-Message-Logging.html#g-error" title="g_error()"><code class="function">g_error()</code></a>, or some similar facility.
|
97
|
+
(Incidentally, remember that the <a class="link" href="glib-Message-Logging.html#g-error" title="g_error()"><code class="function">g_error()</code></a> function should
|
98
|
+
<span class="emphasis"><em>only</em></span> be used for programming errors, it should not be used
|
99
|
+
to print any error reportable via <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>.)
|
100
|
+
</p>
|
101
|
+
<p>
|
102
|
+
Examples of recoverable runtime errors are "file not found" or "failed to parse
|
103
|
+
input." Examples of programming errors are "NULL passed to <code class="function">strcmp()</code>" or
|
104
|
+
"attempted to free the same pointer twice." These two kinds of errors are
|
105
|
+
fundamentally different: runtime errors should be handled or reported to the
|
106
|
+
user, programming errors should be eliminated by fixing the bug in the program.
|
107
|
+
This is why most functions in GLib and GTK+ do not use the <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> facility.
|
108
|
+
</p>
|
109
|
+
<p>
|
110
|
+
Functions that can fail take a return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> as their last argument.
|
111
|
+
For example:
|
112
|
+
</p>
|
113
|
+
<div class="informalexample">
|
114
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
115
|
+
<tbody>
|
116
|
+
<tr>
|
117
|
+
<td class="listing_lines" align="right"><pre>1
|
118
|
+
2
|
119
|
+
3
|
120
|
+
4</pre></td>
|
121
|
+
<td class="listing_code"><pre class="programlisting"><span class="usertype">gboolean</span><span class="normal"> </span><span class="function"><a href="glib-File-Utilities.html#g-file-get-contents">g_file_get_contents</a></span><span class="normal"> </span><span class="symbol">(</span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">filename</span><span class="symbol">,</span>
|
122
|
+
<span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">contents</span><span class="symbol">,</span>
|
123
|
+
<span class="normal"> </span><span class="usertype">gsize</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">length</span><span class="symbol">,</span>
|
124
|
+
<span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">error</span><span class="symbol">);</span></pre></td>
|
125
|
+
</tr>
|
126
|
+
</tbody>
|
127
|
+
</table>
|
128
|
+
</div>
|
129
|
+
|
130
|
+
<p>
|
131
|
+
If you pass a non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> value for the <code class="literal">error</code> argument, it should
|
132
|
+
point to a location where an error can be placed. For example:
|
133
|
+
</p>
|
134
|
+
<div class="informalexample">
|
135
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
136
|
+
<tbody>
|
137
|
+
<tr>
|
138
|
+
<td class="listing_lines" align="right"><pre>1
|
139
|
+
2
|
140
|
+
3
|
141
|
+
4
|
142
|
+
5
|
143
|
+
6
|
144
|
+
7
|
145
|
+
8
|
146
|
+
9
|
147
|
+
10
|
148
|
+
11
|
149
|
+
12
|
150
|
+
13
|
151
|
+
14
|
152
|
+
15
|
153
|
+
16</pre></td>
|
154
|
+
<td class="listing_code"><pre class="programlisting"><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">contents</span><span class="symbol">;</span>
|
155
|
+
<span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
|
156
|
+
<span class="function"><a href="glib-File-Utilities.html#g-file-get-contents">g_file_get_contents</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"foo.txt"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">contents</span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">err</span><span class="symbol">);</span>
|
157
|
+
<span class="function"><a href="glib-Testing.html#g-assert">g_assert</a></span><span class="normal"> </span><span class="symbol">((</span><span class="normal">contents </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">&&</span><span class="normal"> err </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">contents </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">&&</span><span class="normal"> err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">));</span>
|
158
|
+
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span>
|
159
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
160
|
+
<span class="normal"> </span><span class="comment">/* Report error to user, and free error */</span>
|
161
|
+
<span class="normal"> </span><span class="function"><a href="glib-Testing.html#g-assert">g_assert</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">contents </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
|
162
|
+
<span class="normal"> </span><span class="function">fprintf</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">stderr</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Unable to read file: %s</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> err</span><span class="symbol">-></span><span class="normal">message</span><span class="symbol">);</span>
|
163
|
+
<span class="normal"> </span><span class="function"><a href="glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err</span><span class="symbol">);</span>
|
164
|
+
<span class="normal"> </span><span class="cbracket">}</span>
|
165
|
+
<span class="keyword">else</span>
|
166
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
167
|
+
<span class="normal"> </span><span class="comment">/* Use file contents */</span>
|
168
|
+
<span class="normal"> </span><span class="function"><a href="glib-Testing.html#g-assert">g_assert</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">contents </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
|
169
|
+
<span class="normal"> </span><span class="cbracket">}</span></pre></td>
|
170
|
+
</tr>
|
171
|
+
</tbody>
|
172
|
+
</table>
|
173
|
+
</div>
|
174
|
+
|
175
|
+
<p>
|
176
|
+
Note that <code class="literal">err != NULL</code> in this example is a
|
177
|
+
<span class="emphasis"><em>reliable</em></span> indicator of whether
|
178
|
+
<a class="link" href="glib-File-Utilities.html#g-file-get-contents" title="g_file_get_contents ()"><code class="function">g_file_get_contents()</code></a> failed. Additionally, <a class="link" href="glib-File-Utilities.html#g-file-get-contents" title="g_file_get_contents ()"><code class="function">g_file_get_contents()</code></a> returns
|
179
|
+
a boolean which indicates whether it was successful.
|
180
|
+
</p>
|
181
|
+
<p>
|
182
|
+
Because <a class="link" href="glib-File-Utilities.html#g-file-get-contents" title="g_file_get_contents ()"><code class="function">g_file_get_contents()</code></a> returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> on failure, if you are only
|
183
|
+
interested in whether it failed and don't need to display an error message, you
|
184
|
+
can pass <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the <code class="literal">error</code> argument:
|
185
|
+
</p>
|
186
|
+
<div class="informalexample">
|
187
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
188
|
+
<tbody>
|
189
|
+
<tr>
|
190
|
+
<td class="listing_lines" align="right"><pre>1
|
191
|
+
2
|
192
|
+
3
|
193
|
+
4</pre></td>
|
194
|
+
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="glib-File-Utilities.html#g-file-get-contents">g_file_get_contents</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"foo.txt"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">contents</span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">))</span><span class="normal"> </span><span class="comment">/* ignore errors */</span>
|
195
|
+
<span class="normal"> </span><span class="comment">/* no error occurred */</span><span class="normal"> </span><span class="symbol">;</span>
|
196
|
+
<span class="keyword">else</span>
|
197
|
+
<span class="normal"> </span><span class="comment">/* error */</span><span class="normal"> </span><span class="symbol">;</span></pre></td>
|
198
|
+
</tr>
|
199
|
+
</tbody>
|
200
|
+
</table>
|
201
|
+
</div>
|
202
|
+
|
203
|
+
<p>
|
204
|
+
</p>
|
205
|
+
<p>
|
206
|
+
The <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> object contains three fields: <code class="literal">domain</code> indicates
|
207
|
+
the module the error-reporting function is located in, <code class="literal">code</code>
|
208
|
+
indicates the specific error that occurred, and <code class="literal">message</code> is a
|
209
|
+
user-readable error message with as many details as possible. Several functions
|
210
|
+
are provided to deal with an error received from a called function:
|
211
|
+
<a class="link" href="glib-Error-Reporting.html#g-error-matches" title="g_error_matches ()"><code class="function">g_error_matches()</code></a> returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the error matches a given domain and code,
|
212
|
+
<a class="link" href="glib-Error-Reporting.html#g-propagate-error" title="g_propagate_error ()"><code class="function">g_propagate_error()</code></a> copies an error into an error location (so the calling
|
213
|
+
function will receive it), and <a class="link" href="glib-Error-Reporting.html#g-clear-error" title="g_clear_error ()"><code class="function">g_clear_error()</code></a> clears an error location by
|
214
|
+
freeing the error and resetting the location to <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. To display an error to the
|
215
|
+
user, simply display <code class="literal">error->message</code>, perhaps along with
|
216
|
+
additional context known only to the calling function (the file being opened, or
|
217
|
+
whatever -- though in the <a class="link" href="glib-File-Utilities.html#g-file-get-contents" title="g_file_get_contents ()"><code class="function">g_file_get_contents()</code></a> case,
|
218
|
+
<code class="literal">error->message</code> already contains a filename).
|
219
|
+
</p>
|
220
|
+
<p>
|
221
|
+
When implementing a function that can report errors, the basic tool is
|
222
|
+
<a class="link" href="glib-Error-Reporting.html#g-set-error" title="g_set_error ()"><code class="function">g_set_error()</code></a>. Typically, if a fatal error occurs you want to <a class="link" href="glib-Error-Reporting.html#g-set-error" title="g_set_error ()"><code class="function">g_set_error()</code></a>,
|
223
|
+
then return immediately. <a class="link" href="glib-Error-Reporting.html#g-set-error" title="g_set_error ()"><code class="function">g_set_error()</code></a> does nothing if the error location passed
|
224
|
+
to it is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. Here's an example:
|
225
|
+
</p>
|
226
|
+
<div class="informalexample">
|
227
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
228
|
+
<tbody>
|
229
|
+
<tr>
|
230
|
+
<td class="listing_lines" align="right"><pre>1
|
231
|
+
2
|
232
|
+
3
|
233
|
+
4
|
234
|
+
5
|
235
|
+
6
|
236
|
+
7
|
237
|
+
8
|
238
|
+
9
|
239
|
+
10
|
240
|
+
11
|
241
|
+
12
|
242
|
+
13
|
243
|
+
14
|
244
|
+
15
|
245
|
+
16
|
246
|
+
17</pre></td>
|
247
|
+
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="glib-Basic-Types.html#gint">gint</a></span>
|
248
|
+
<span class="function">foo_open_file</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">error</span><span class="symbol">)</span>
|
249
|
+
<span class="cbracket">{</span>
|
250
|
+
<span class="normal"> </span><span class="usertype">gint</span><span class="normal"> fd</span><span class="symbol">;</span>
|
251
|
+
<span class="normal"> fd </span><span class="symbol">=</span><span class="normal"> </span><span class="function">open</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"file.txt"</span><span class="symbol">,</span><span class="normal"> O_RDONLY</span><span class="symbol">);</span>
|
252
|
+
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">fd </span><span class="symbol"><</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
|
253
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
254
|
+
<span class="normal"> </span><span class="function"><a href="glib-Error-Reporting.html#g-set-error">g_set_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">,</span>
|
255
|
+
<span class="normal"> FOO_ERROR</span><span class="symbol">,</span><span class="normal"> </span><span class="comment">/* error domain */</span>
|
256
|
+
<span class="normal"> FOO_ERROR_BLAH</span><span class="symbol">,</span><span class="normal"> </span><span class="comment">/* error code */</span>
|
257
|
+
<span class="normal"> </span><span class="string">"Failed to open file: %s"</span><span class="symbol">,</span><span class="normal"> </span><span class="comment">/* error message format string */</span>
|
258
|
+
<span class="normal"> </span><span class="function"><a href="glib-String-Utility-Functions.html#g-strerror">g_strerror</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">errno</span><span class="symbol">));</span>
|
259
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">;</span>
|
260
|
+
<span class="normal"> </span><span class="cbracket">}</span>
|
261
|
+
<span class="normal"> </span><span class="keyword">else</span>
|
262
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> fd</span><span class="symbol">;</span>
|
263
|
+
<span class="cbracket">}</span></pre></td>
|
264
|
+
</tr>
|
265
|
+
</tbody>
|
266
|
+
</table>
|
267
|
+
</div>
|
268
|
+
|
269
|
+
<p>
|
270
|
+
</p>
|
271
|
+
<p>
|
272
|
+
Things are somewhat more complicated if you yourself call another function that
|
273
|
+
can report a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>. If the sub-function indicates fatal errors in some way
|
274
|
+
other than reporting a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>, such as by returning <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> on success, you can
|
275
|
+
simply do the following:
|
276
|
+
</p>
|
277
|
+
<div class="informalexample">
|
278
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
279
|
+
<tbody>
|
280
|
+
<tr>
|
281
|
+
<td class="listing_lines" align="right"><pre>1
|
282
|
+
2
|
283
|
+
3
|
284
|
+
4
|
285
|
+
5
|
286
|
+
6
|
287
|
+
7
|
288
|
+
8
|
289
|
+
9
|
290
|
+
10
|
291
|
+
11
|
292
|
+
12
|
293
|
+
13</pre></td>
|
294
|
+
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="glib-Basic-Types.html#gboolean">gboolean</a></span>
|
295
|
+
<span class="function">my_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">err</span><span class="symbol">)</span>
|
296
|
+
<span class="cbracket">{</span>
|
297
|
+
<span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-return-val-if-fail">g_return_val_if_fail</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">);</span>
|
298
|
+
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="function">sub_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err</span><span class="symbol">))</span>
|
299
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
300
|
+
<span class="normal"> </span><span class="comment">/* assert that error was set by the sub-function */</span>
|
301
|
+
<span class="normal"> </span><span class="function"><a href="glib-Testing.html#g-assert">g_assert</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
|
302
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
|
303
|
+
<span class="normal"> </span><span class="cbracket">}</span>
|
304
|
+
<span class="normal"> </span><span class="comment">/* otherwise continue, no error occurred */</span>
|
305
|
+
<span class="normal"> </span><span class="function"><a href="glib-Testing.html#g-assert">g_assert</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
|
306
|
+
<span class="cbracket">}</span></pre></td>
|
307
|
+
</tr>
|
308
|
+
</tbody>
|
309
|
+
</table>
|
310
|
+
</div>
|
311
|
+
|
312
|
+
<p>
|
313
|
+
</p>
|
314
|
+
<p>
|
315
|
+
If the sub-function does not indicate errors other than by reporting a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>,
|
316
|
+
you need to create a temporary <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> since the passed-in one may be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
|
317
|
+
<a class="link" href="glib-Error-Reporting.html#g-propagate-error" title="g_propagate_error ()"><code class="function">g_propagate_error()</code></a> is intended for use in this case.
|
318
|
+
</p>
|
319
|
+
<div class="informalexample">
|
320
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
321
|
+
<tbody>
|
322
|
+
<tr>
|
323
|
+
<td class="listing_lines" align="right"><pre>1
|
324
|
+
2
|
325
|
+
3
|
326
|
+
4
|
327
|
+
5
|
328
|
+
6
|
329
|
+
7
|
330
|
+
8
|
331
|
+
9
|
332
|
+
10
|
333
|
+
11
|
334
|
+
12
|
335
|
+
13
|
336
|
+
14
|
337
|
+
15
|
338
|
+
16
|
339
|
+
17</pre></td>
|
340
|
+
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="glib-Basic-Types.html#gboolean">gboolean</a></span>
|
341
|
+
<span class="function">my_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">err</span><span class="symbol">)</span>
|
342
|
+
<span class="cbracket">{</span>
|
343
|
+
<span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">tmp_error</span><span class="symbol">;</span>
|
344
|
+
<span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-return-val-if-fail">g_return_val_if_fail</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">);</span>
|
345
|
+
<span class="normal"> tmp_error </span><span class="symbol">=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
|
346
|
+
<span class="normal"> </span><span class="function">sub_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(&</span><span class="normal">tmp_error</span><span class="symbol">);</span>
|
347
|
+
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">tmp_error </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span>
|
348
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
349
|
+
<span class="normal"> </span><span class="comment">/* store tmp_error in err, if err != NULL,</span>
|
350
|
+
<span class="comment"> * otherwise call g_error_free() on tmp_error</span>
|
351
|
+
<span class="comment"> */</span>
|
352
|
+
<span class="normal"> </span><span class="function"><a href="glib-Error-Reporting.html#g-propagate-error">g_propagate_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err</span><span class="symbol">,</span><span class="normal"> tmp_error</span><span class="symbol">);</span>
|
353
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
|
354
|
+
<span class="normal"> </span><span class="cbracket">}</span>
|
355
|
+
<span class="normal"> </span><span class="comment">/* otherwise continue, no error occurred */</span>
|
356
|
+
<span class="cbracket">}</span></pre></td>
|
357
|
+
</tr>
|
358
|
+
</tbody>
|
359
|
+
</table>
|
360
|
+
</div>
|
361
|
+
|
362
|
+
<p>
|
363
|
+
</p>
|
364
|
+
<p>
|
365
|
+
Error pileups are always a bug. For example, this code is incorrect:
|
366
|
+
</p>
|
367
|
+
<div class="informalexample">
|
368
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
369
|
+
<tbody>
|
370
|
+
<tr>
|
371
|
+
<td class="listing_lines" align="right"><pre>1
|
372
|
+
2
|
373
|
+
3
|
374
|
+
4
|
375
|
+
5
|
376
|
+
6
|
377
|
+
7
|
378
|
+
8
|
379
|
+
9
|
380
|
+
10
|
381
|
+
11
|
382
|
+
12
|
383
|
+
13
|
384
|
+
14</pre></td>
|
385
|
+
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="glib-Basic-Types.html#gboolean">gboolean</a></span>
|
386
|
+
<span class="function">my_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">err</span><span class="symbol">)</span>
|
387
|
+
<span class="cbracket">{</span>
|
388
|
+
<span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">tmp_error</span><span class="symbol">;</span>
|
389
|
+
<span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-return-val-if-fail">g_return_val_if_fail</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">);</span>
|
390
|
+
<span class="normal"> tmp_error </span><span class="symbol">=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
|
391
|
+
<span class="normal"> </span><span class="function">sub_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(&</span><span class="normal">tmp_error</span><span class="symbol">);</span>
|
392
|
+
<span class="normal"> </span><span class="function">other_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(&</span><span class="normal">tmp_error</span><span class="symbol">);</span>
|
393
|
+
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">tmp_error </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span>
|
394
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
395
|
+
<span class="normal"> </span><span class="function"><a href="glib-Error-Reporting.html#g-propagate-error">g_propagate_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err</span><span class="symbol">,</span><span class="normal"> tmp_error</span><span class="symbol">);</span>
|
396
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
|
397
|
+
<span class="normal"> </span><span class="cbracket">}</span>
|
398
|
+
<span class="cbracket">}</span></pre></td>
|
399
|
+
</tr>
|
400
|
+
</tbody>
|
401
|
+
</table>
|
402
|
+
</div>
|
403
|
+
|
404
|
+
<p>
|
405
|
+
<code class="literal">tmp_error</code> should be checked immediately after
|
406
|
+
<code class="function"><code class="function">sub_function_that_can_fail()</code></code>, and either cleared or propagated upward. The rule
|
407
|
+
is: <span class="emphasis"><em>after each error, you must either handle the error, or return it to the
|
408
|
+
calling function</em></span>. Note that passing <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the error location is the
|
409
|
+
equivalent of handling an error by always doing nothing about it. So the
|
410
|
+
following code is fine, assuming errors in <code class="function"><code class="function">sub_function_that_can_fail()</code></code> are not
|
411
|
+
fatal to <code class="function"><code class="function">my_function_that_can_fail()</code></code>:
|
412
|
+
</p>
|
413
|
+
<div class="informalexample">
|
414
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
415
|
+
<tbody>
|
416
|
+
<tr>
|
417
|
+
<td class="listing_lines" align="right"><pre>1
|
418
|
+
2
|
419
|
+
3
|
420
|
+
4
|
421
|
+
5
|
422
|
+
6
|
423
|
+
7
|
424
|
+
8
|
425
|
+
9
|
426
|
+
10
|
427
|
+
11
|
428
|
+
12
|
429
|
+
13
|
430
|
+
14</pre></td>
|
431
|
+
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="glib-Basic-Types.html#gboolean">gboolean</a></span>
|
432
|
+
<span class="function">my_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">err</span><span class="symbol">)</span>
|
433
|
+
<span class="cbracket">{</span>
|
434
|
+
<span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">tmp_error</span><span class="symbol">;</span>
|
435
|
+
<span class="normal"> </span><span class="function"><a href="glib-Warnings-and-Assertions.html#g-return-val-if-fail">g_return_val_if_fail</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="symbol">||</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">err </span><span class="symbol">==</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">);</span>
|
436
|
+
<span class="normal"> </span><span class="function">sub_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span><span class="normal"> </span><span class="comment">/* ignore errors */</span>
|
437
|
+
<span class="normal"> tmp_error </span><span class="symbol">=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
|
438
|
+
<span class="normal"> </span><span class="function">other_function_that_can_fail</span><span class="normal"> </span><span class="symbol">(&</span><span class="normal">tmp_error</span><span class="symbol">);</span>
|
439
|
+
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">tmp_error </span><span class="symbol">!=</span><span class="normal"> <a href="glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span>
|
440
|
+
<span class="normal"> </span><span class="cbracket">{</span>
|
441
|
+
<span class="normal"> </span><span class="function"><a href="glib-Error-Reporting.html#g-propagate-error">g_propagate_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">err</span><span class="symbol">,</span><span class="normal"> tmp_error</span><span class="symbol">);</span>
|
442
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
|
443
|
+
<span class="normal"> </span><span class="cbracket">}</span>
|
444
|
+
<span class="cbracket">}</span></pre></td>
|
445
|
+
</tr>
|
446
|
+
</tbody>
|
447
|
+
</table>
|
448
|
+
</div>
|
449
|
+
|
450
|
+
<p>
|
451
|
+
</p>
|
452
|
+
<p>
|
453
|
+
Note that passing <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the error location <span class="emphasis"><em>ignores</em></span>
|
454
|
+
errors; it's equivalent to <code class="literal">try { <code class="function">sub_function_that_can_fail()</code>; } catch
|
455
|
+
(...) {}</code> in C++. It does <span class="emphasis"><em>not</em></span> mean to leave errors
|
456
|
+
unhandled; it means to handle them by doing nothing.
|
457
|
+
</p>
|
458
|
+
<p>
|
459
|
+
Error domains and codes are conventionally named as follows:
|
460
|
+
</p>
|
461
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
462
|
+
<li class="listitem">
|
463
|
+
<p>
|
464
|
+
The error domain is called
|
465
|
+
<code class="literal"><NAMESPACE>_<MODULE>_ERROR</code>, for example
|
466
|
+
<a class="link" href="glib-Spawning-Processes.html#G-SPAWN-ERROR:CAPS" title="G_SPAWN_ERROR"><code class="literal">G_SPAWN_ERROR</code></a> or <a class="link" href="glib-Threads.html#G-THREAD-ERROR:CAPS" title="G_THREAD_ERROR"><code class="literal">G_THREAD_ERROR</code></a>:
|
467
|
+
</p>
|
468
|
+
<div class="informalexample">
|
469
|
+
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
470
|
+
<tbody>
|
471
|
+
<tr>
|
472
|
+
<td class="listing_lines" align="right"><pre>1
|
473
|
+
2
|
474
|
+
3
|
475
|
+
4
|
476
|
+
5
|
477
|
+
6</pre></td>
|
478
|
+
<td class="listing_code"><pre class="programlisting"><span class="preproc">#define</span><span class="normal"> </span><span class="usertype">G_SPAWN_ERROR</span><span class="normal"> </span><span class="function">g_spawn_error_quark</span><span class="normal"> </span><span class="symbol">()</span>
|
479
|
+
<span class="normal"><a href="glib-Quarks.html#GQuark">GQuark</a></span>
|
480
|
+
<span class="function">g_spawn_error_quark</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
|
481
|
+
<span class="cbracket">{</span>
|
482
|
+
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="glib-Quarks.html#g-quark-from-static-string">g_quark_from_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"g-spawn-error-quark"</span><span class="symbol">);</span>
|
483
|
+
<span class="cbracket">}</span></pre></td>
|
484
|
+
</tr>
|
485
|
+
</tbody>
|
486
|
+
</table>
|
487
|
+
</div>
|
488
|
+
|
489
|
+
<p>
|
490
|
+
</p>
|
491
|
+
</li>
|
492
|
+
<li class="listitem"><p>
|
493
|
+
The error codes are in an enumeration called
|
494
|
+
<code class="literal"><Namespace><Module>Error</code>; for example,
|
495
|
+
<a class="link" href="glib-Threads.html#GThreadError" title="enum GThreadError"><span class="type">GThreadError</span></a> or <a class="link" href="glib-Spawning-Processes.html#GSpawnError" title="enum GSpawnError"><span class="type">GSpawnError</span></a>.
|
496
|
+
</p></li>
|
497
|
+
<li class="listitem"><p>
|
498
|
+
Members of the error code enumeration are called <code class="literal"><NAMESPACE>_<MODULE>_ERROR_<CODE></code>, for example <a class="link" href="glib-Spawning-Processes.html#G-SPAWN-ERROR-FORK:CAPS"><code class="literal">G_SPAWN_ERROR_FORK</code></a> or <a class="link" href="glib-Threads.html#G-THREAD-ERROR-AGAIN:CAPS"><code class="literal">G_THREAD_ERROR_AGAIN</code></a>.
|
499
|
+
</p></li>
|
500
|
+
<li class="listitem"><p>
|
501
|
+
If there's a "generic" or "unknown" error code for unrecoverable errors it
|
502
|
+
doesn't make sense to distinguish with specific codes, it should be called
|
503
|
+
<code class="literal"><NAMESPACE>_<MODULE>_ERROR_FAILED</code>, for
|
504
|
+
example <a class="link" href="glib-Spawning-Processes.html#G-SPAWN-ERROR-FAILED:CAPS"><code class="literal">G_SPAWN_ERROR_FAILED</code></a> or <code class="literal">G_THREAD_ERROR_FAILED</code>.
|
505
|
+
</p></li>
|
506
|
+
</ul></div>
|
507
|
+
<p>
|
508
|
+
</p>
|
509
|
+
<p>
|
510
|
+
Summary of rules for use of <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>:
|
511
|
+
</p>
|
512
|
+
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
513
|
+
<li class="listitem"><p>
|
514
|
+
Do not report programming errors via <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>.
|
515
|
+
</p></li>
|
516
|
+
<li class="listitem"><p>
|
517
|
+
The last argument of a function that returns an error should be a
|
518
|
+
location where a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> can be placed (i.e. "<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>** error"). If
|
519
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> is used with varargs, the <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>** should be the last
|
520
|
+
argument before the "...".
|
521
|
+
</p></li>
|
522
|
+
<li class="listitem"><p>
|
523
|
+
The caller may pass <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>** if they are not interested
|
524
|
+
in details of the exact error that occurred.
|
525
|
+
</p></li>
|
526
|
+
<li class="listitem"><p>
|
527
|
+
If <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is passed for the <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>** argument, then errors should
|
528
|
+
not be returned to the caller, but your function should still
|
529
|
+
abort and return if an error occurs. That is, control flow should
|
530
|
+
not be affected by whether the caller wants to get a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>.
|
531
|
+
</p></li>
|
532
|
+
<li class="listitem"><p>
|
533
|
+
If a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> is reported, then your function by definition
|
534
|
+
<span class="emphasis"><em>had a fatal failure and did not complete whatever it was supposed
|
535
|
+
to do</em></span>. If the failure was not fatal, then you handled it
|
536
|
+
and you should not report it. If it was fatal, then you must report it
|
537
|
+
and discontinue whatever you were doing immediately.
|
538
|
+
</p></li>
|
539
|
+
<li class="listitem"><p>
|
540
|
+
A <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>* must be initialized to <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> before passing its address to
|
541
|
+
a function that can report errors.
|
542
|
+
</p></li>
|
543
|
+
<li class="listitem"><p>
|
544
|
+
"Piling up" errors is always a bug. That is, if you assign a new
|
545
|
+
<a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> to a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>* that is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, thus overwriting the previous
|
546
|
+
error, it indicates that you should have aborted the operation instead
|
547
|
+
of continuing. If you were able to continue, you should have cleared
|
548
|
+
the previous error with <a class="link" href="glib-Error-Reporting.html#g-clear-error" title="g_clear_error ()"><code class="function">g_clear_error()</code></a>. <a class="link" href="glib-Error-Reporting.html#g-set-error" title="g_set_error ()"><code class="function">g_set_error()</code></a> will complain
|
549
|
+
if you pile up errors.
|
550
|
+
</p></li>
|
551
|
+
<li class="listitem"><p>
|
552
|
+
By convention, if you return a boolean value indicating success
|
553
|
+
then <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> means success and <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> means failure. If <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> is returned,
|
554
|
+
the error <span class="emphasis"><em>must</em></span> be set to a non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> value.
|
555
|
+
</p></li>
|
556
|
+
<li class="listitem"><p>
|
557
|
+
A <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> return value is also frequently used to mean that an error
|
558
|
+
occurred. You should make clear in your documentation whether <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is
|
559
|
+
a valid return value in non-error cases; if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is a valid value,
|
560
|
+
then users must check whether an error was returned to see if the
|
561
|
+
function succeeded.
|
562
|
+
</p></li>
|
563
|
+
<li class="listitem"><p>
|
564
|
+
When implementing a function that can report errors, you may want to
|
565
|
+
add a check at the top of your function that the error return location
|
566
|
+
is either <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> or contains a <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> error
|
567
|
+
(e.g. <code class="literal">g_return_if_fail (error == NULL || *error ==
|
568
|
+
NULL);</code>).
|
569
|
+
</p></li>
|
570
|
+
</ul></div>
|
571
|
+
<p>
|
572
|
+
</p>
|
573
|
+
</div>
|
574
|
+
<div class="refsect1" title="Details">
|
575
|
+
<a name="glib-Error-Reporting.details"></a><h2>Details</h2>
|
576
|
+
<div class="refsect2" title="GError">
|
577
|
+
<a name="GError"></a><h3>GError</h3>
|
578
|
+
<pre class="programlisting">typedef struct {
|
579
|
+
GQuark domain;
|
580
|
+
gint code;
|
581
|
+
gchar *message;
|
582
|
+
} GError;
|
583
|
+
</pre>
|
584
|
+
<p>
|
585
|
+
The <span class="structname">GError</span> structure contains
|
586
|
+
information about an error that has occurred.
|
587
|
+
</p>
|
588
|
+
<div class="variablelist"><table border="0">
|
589
|
+
<col align="left" valign="top">
|
590
|
+
<tbody>
|
591
|
+
<tr>
|
592
|
+
<td><p><span class="term"><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> <em class="structfield"><code><a name="GError.domain"></a>domain</code></em>;</span></p></td>
|
593
|
+
<td>error domain, e.g. <a class="link" href="glib-File-Utilities.html#G-FILE-ERROR:CAPS" title="G_FILE_ERROR"><span class="type">G_FILE_ERROR</span></a>.
|
594
|
+
</td>
|
595
|
+
</tr>
|
596
|
+
<tr>
|
597
|
+
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GError.code"></a>code</code></em>;</span></p></td>
|
598
|
+
<td>error code, e.g. <a class="link" href="glib-File-Utilities.html#G-FILE-ERROR-NOENT:CAPS"><code class="literal">G_FILE_ERROR_NOENT</code></a>.
|
599
|
+
</td>
|
600
|
+
</tr>
|
601
|
+
<tr>
|
602
|
+
<td><p><span class="term"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GError.message"></a>message</code></em>;</span></p></td>
|
603
|
+
<td>human-readable informative error message.
|
604
|
+
</td>
|
605
|
+
</tr>
|
606
|
+
</tbody>
|
607
|
+
</table></div>
|
608
|
+
</div>
|
609
|
+
<hr>
|
610
|
+
<div class="refsect2" title="g_error_new ()">
|
611
|
+
<a name="g-error-new"></a><h3>g_error_new ()</h3>
|
612
|
+
<pre class="programlisting"><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* g_error_new (<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
613
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
614
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
615
|
+
<em class="parameter"><code>...</code></em>);</pre>
|
616
|
+
<p>
|
617
|
+
Creates a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> with the given <em class="parameter"><code>domain</code></em> and <em class="parameter"><code>code</code></em>,
|
618
|
+
and a message formatted with <em class="parameter"><code>format</code></em>.
|
619
|
+
</p>
|
620
|
+
<div class="variablelist"><table border="0">
|
621
|
+
<col align="left" valign="top">
|
622
|
+
<tbody>
|
623
|
+
<tr>
|
624
|
+
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
|
625
|
+
<td>error domain
|
626
|
+
</td>
|
627
|
+
</tr>
|
628
|
+
<tr>
|
629
|
+
<td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
|
630
|
+
<td>error code
|
631
|
+
</td>
|
632
|
+
</tr>
|
633
|
+
<tr>
|
634
|
+
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
|
635
|
+
<td>printf()-style format for error message
|
636
|
+
</td>
|
637
|
+
</tr>
|
638
|
+
<tr>
|
639
|
+
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
|
640
|
+
<td>parameters for message format
|
641
|
+
</td>
|
642
|
+
</tr>
|
643
|
+
<tr>
|
644
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
645
|
+
<td> a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>
|
646
|
+
</td>
|
647
|
+
</tr>
|
648
|
+
</tbody>
|
649
|
+
</table></div>
|
650
|
+
</div>
|
651
|
+
<hr>
|
652
|
+
<div class="refsect2" title="g_error_new_literal ()">
|
653
|
+
<a name="g-error-new-literal"></a><h3>g_error_new_literal ()</h3>
|
654
|
+
<pre class="programlisting"><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* g_error_new_literal (<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
655
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
656
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>);</pre>
|
657
|
+
<p>
|
658
|
+
Creates a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>; unlike <a class="link" href="glib-Error-Reporting.html#g-error-new" title="g_error_new ()"><code class="function">g_error_new()</code></a>, <em class="parameter"><code>message</code></em> is
|
659
|
+
not a <code class="function">printf()</code>-style format string. Use this function if
|
660
|
+
<em class="parameter"><code>message</code></em> contains text you don't have control over,
|
661
|
+
that could include <code class="function">printf()</code> escape sequences.
|
662
|
+
</p>
|
663
|
+
<div class="variablelist"><table border="0">
|
664
|
+
<col align="left" valign="top">
|
665
|
+
<tbody>
|
666
|
+
<tr>
|
667
|
+
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
|
668
|
+
<td>error domain
|
669
|
+
</td>
|
670
|
+
</tr>
|
671
|
+
<tr>
|
672
|
+
<td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
|
673
|
+
<td>error code
|
674
|
+
</td>
|
675
|
+
</tr>
|
676
|
+
<tr>
|
677
|
+
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
|
678
|
+
<td>error message
|
679
|
+
</td>
|
680
|
+
</tr>
|
681
|
+
<tr>
|
682
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
683
|
+
<td> a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>
|
684
|
+
</td>
|
685
|
+
</tr>
|
686
|
+
</tbody>
|
687
|
+
</table></div>
|
688
|
+
</div>
|
689
|
+
<hr>
|
690
|
+
<div class="refsect2" title="g_error_new_valist ()">
|
691
|
+
<a name="g-error-new-valist"></a><h3>g_error_new_valist ()</h3>
|
692
|
+
<pre class="programlisting"><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* g_error_new_valist (<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
693
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
694
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
695
|
+
<em class="parameter"><code><span class="type">va_list</span> args</code></em>);</pre>
|
696
|
+
<p>
|
697
|
+
Creates a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> with the given <em class="parameter"><code>domain</code></em> and <em class="parameter"><code>code</code></em>,
|
698
|
+
and a message formatted with <em class="parameter"><code>format</code></em>.
|
699
|
+
</p>
|
700
|
+
<div class="variablelist"><table border="0">
|
701
|
+
<col align="left" valign="top">
|
702
|
+
<tbody>
|
703
|
+
<tr>
|
704
|
+
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
|
705
|
+
<td>error domain
|
706
|
+
</td>
|
707
|
+
</tr>
|
708
|
+
<tr>
|
709
|
+
<td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
|
710
|
+
<td>error code
|
711
|
+
</td>
|
712
|
+
</tr>
|
713
|
+
<tr>
|
714
|
+
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
|
715
|
+
<td>printf()-style format for error message
|
716
|
+
</td>
|
717
|
+
</tr>
|
718
|
+
<tr>
|
719
|
+
<td><p><span class="term"><em class="parameter"><code>args</code></em> :</span></p></td>
|
720
|
+
<td>
|
721
|
+
<span class="type">va_list</span> of parameters for the message format
|
722
|
+
</td>
|
723
|
+
</tr>
|
724
|
+
<tr>
|
725
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
726
|
+
<td> a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>
|
727
|
+
|
728
|
+
</td>
|
729
|
+
</tr>
|
730
|
+
</tbody>
|
731
|
+
</table></div>
|
732
|
+
<p class="since">Since 2.22</p>
|
733
|
+
</div>
|
734
|
+
<hr>
|
735
|
+
<div class="refsect2" title="g_error_free ()">
|
736
|
+
<a name="g-error-free"></a><h3>g_error_free ()</h3>
|
737
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_error_free (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *error</code></em>);</pre>
|
738
|
+
<p>
|
739
|
+
Frees a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> and associated resources.
|
740
|
+
</p>
|
741
|
+
<div class="variablelist"><table border="0">
|
742
|
+
<col align="left" valign="top">
|
743
|
+
<tbody><tr>
|
744
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
745
|
+
<td>a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>
|
746
|
+
</td>
|
747
|
+
</tr></tbody>
|
748
|
+
</table></div>
|
749
|
+
</div>
|
750
|
+
<hr>
|
751
|
+
<div class="refsect2" title="g_error_copy ()">
|
752
|
+
<a name="g-error-copy"></a><h3>g_error_copy ()</h3>
|
753
|
+
<pre class="programlisting"><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="returnvalue">GError</span></a>* g_error_copy (<em class="parameter"><code>const <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *error</code></em>);</pre>
|
754
|
+
<p>
|
755
|
+
Makes a copy of <em class="parameter"><code>error</code></em>.
|
756
|
+
</p>
|
757
|
+
<div class="variablelist"><table border="0">
|
758
|
+
<col align="left" valign="top">
|
759
|
+
<tbody>
|
760
|
+
<tr>
|
761
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
762
|
+
<td>a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>
|
763
|
+
</td>
|
764
|
+
</tr>
|
765
|
+
<tr>
|
766
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
767
|
+
<td> a new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>
|
768
|
+
</td>
|
769
|
+
</tr>
|
770
|
+
</tbody>
|
771
|
+
</table></div>
|
772
|
+
</div>
|
773
|
+
<hr>
|
774
|
+
<div class="refsect2" title="g_error_matches ()">
|
775
|
+
<a name="g-error-matches"></a><h3>g_error_matches ()</h3>
|
776
|
+
<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_error_matches (<em class="parameter"><code>const <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *error</code></em>,
|
777
|
+
<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
778
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>);</pre>
|
779
|
+
<p>
|
780
|
+
Returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if <em class="parameter"><code>error</code></em> matches <em class="parameter"><code>domain</code></em> and <em class="parameter"><code>code</code></em>, <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>
|
781
|
+
otherwise. In particular, when <em class="parameter"><code>error</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> will
|
782
|
+
be returned.
|
783
|
+
</p>
|
784
|
+
<div class="variablelist"><table border="0">
|
785
|
+
<col align="left" valign="top">
|
786
|
+
<tbody>
|
787
|
+
<tr>
|
788
|
+
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
|
789
|
+
<td>a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
|
790
|
+
</td>
|
791
|
+
</tr>
|
792
|
+
<tr>
|
793
|
+
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
|
794
|
+
<td>an error domain
|
795
|
+
</td>
|
796
|
+
</tr>
|
797
|
+
<tr>
|
798
|
+
<td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
|
799
|
+
<td>an error code
|
800
|
+
</td>
|
801
|
+
</tr>
|
802
|
+
<tr>
|
803
|
+
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
804
|
+
<td> whether <em class="parameter"><code>error</code></em> has <em class="parameter"><code>domain</code></em> and <em class="parameter"><code>code</code></em>
|
805
|
+
</td>
|
806
|
+
</tr>
|
807
|
+
</tbody>
|
808
|
+
</table></div>
|
809
|
+
</div>
|
810
|
+
<hr>
|
811
|
+
<div class="refsect2" title="g_set_error ()">
|
812
|
+
<a name="g-set-error"></a><h3>g_set_error ()</h3>
|
813
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_set_error (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>,
|
814
|
+
<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
815
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
816
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
817
|
+
<em class="parameter"><code>...</code></em>);</pre>
|
818
|
+
<p>
|
819
|
+
Does nothing if <em class="parameter"><code>err</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>; if <em class="parameter"><code>err</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, then *<em class="parameter"><code>err</code></em>
|
820
|
+
must be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. A new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> is created and assigned to *<em class="parameter"><code>err</code></em>.
|
821
|
+
</p>
|
822
|
+
<div class="variablelist"><table border="0">
|
823
|
+
<col align="left" valign="top">
|
824
|
+
<tbody>
|
825
|
+
<tr>
|
826
|
+
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
|
827
|
+
<td>a return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
|
828
|
+
</td>
|
829
|
+
</tr>
|
830
|
+
<tr>
|
831
|
+
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
|
832
|
+
<td>error domain
|
833
|
+
</td>
|
834
|
+
</tr>
|
835
|
+
<tr>
|
836
|
+
<td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
|
837
|
+
<td>error code
|
838
|
+
</td>
|
839
|
+
</tr>
|
840
|
+
<tr>
|
841
|
+
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
|
842
|
+
<td>printf()-style format
|
843
|
+
</td>
|
844
|
+
</tr>
|
845
|
+
<tr>
|
846
|
+
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
|
847
|
+
<td>args for <em class="parameter"><code>format</code></em>
|
848
|
+
</td>
|
849
|
+
</tr>
|
850
|
+
</tbody>
|
851
|
+
</table></div>
|
852
|
+
</div>
|
853
|
+
<hr>
|
854
|
+
<div class="refsect2" title="g_set_error_literal ()">
|
855
|
+
<a name="g-set-error-literal"></a><h3>g_set_error_literal ()</h3>
|
856
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_set_error_literal (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>,
|
857
|
+
<em class="parameter"><code><a class="link" href="glib-Quarks.html#GQuark" title="GQuark"><span class="type">GQuark</span></a> domain</code></em>,
|
858
|
+
<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> code</code></em>,
|
859
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *message</code></em>);</pre>
|
860
|
+
<p>
|
861
|
+
Does nothing if <em class="parameter"><code>err</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>; if <em class="parameter"><code>err</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, then *<em class="parameter"><code>err</code></em>
|
862
|
+
must be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. A new <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> is created and assigned to *<em class="parameter"><code>err</code></em>.
|
863
|
+
Unlike <a class="link" href="glib-Error-Reporting.html#g-set-error" title="g_set_error ()"><code class="function">g_set_error()</code></a>, <em class="parameter"><code>message</code></em> is not a <code class="function">printf()</code>-style format string.
|
864
|
+
Use this function if <em class="parameter"><code>message</code></em> contains text you don't have control over,
|
865
|
+
that could include <code class="function">printf()</code> escape sequences.
|
866
|
+
</p>
|
867
|
+
<div class="variablelist"><table border="0">
|
868
|
+
<col align="left" valign="top">
|
869
|
+
<tbody>
|
870
|
+
<tr>
|
871
|
+
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
|
872
|
+
<td>a return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
|
873
|
+
</td>
|
874
|
+
</tr>
|
875
|
+
<tr>
|
876
|
+
<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
|
877
|
+
<td>error domain
|
878
|
+
</td>
|
879
|
+
</tr>
|
880
|
+
<tr>
|
881
|
+
<td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
|
882
|
+
<td>error code
|
883
|
+
</td>
|
884
|
+
</tr>
|
885
|
+
<tr>
|
886
|
+
<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
|
887
|
+
<td>error message
|
888
|
+
</td>
|
889
|
+
</tr>
|
890
|
+
</tbody>
|
891
|
+
</table></div>
|
892
|
+
<p class="since">Since 2.18</p>
|
893
|
+
</div>
|
894
|
+
<hr>
|
895
|
+
<div class="refsect2" title="g_propagate_error ()">
|
896
|
+
<a name="g-propagate-error"></a><h3>g_propagate_error ()</h3>
|
897
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_propagate_error (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **dest</code></em>,
|
898
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *src</code></em>);</pre>
|
899
|
+
<p>
|
900
|
+
If <em class="parameter"><code>dest</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, free <em class="parameter"><code>src</code></em>; otherwise, moves <em class="parameter"><code>src</code></em> into *<em class="parameter"><code>dest</code></em>.
|
901
|
+
The error variable <em class="parameter"><code>dest</code></em> points to must be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
|
902
|
+
</p>
|
903
|
+
<div class="variablelist"><table border="0">
|
904
|
+
<col align="left" valign="top">
|
905
|
+
<tbody>
|
906
|
+
<tr>
|
907
|
+
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
|
908
|
+
<td>error return location
|
909
|
+
</td>
|
910
|
+
</tr>
|
911
|
+
<tr>
|
912
|
+
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
|
913
|
+
<td>error to move into the return location
|
914
|
+
</td>
|
915
|
+
</tr>
|
916
|
+
</tbody>
|
917
|
+
</table></div>
|
918
|
+
</div>
|
919
|
+
<hr>
|
920
|
+
<div class="refsect2" title="g_clear_error ()">
|
921
|
+
<a name="g-clear-error"></a><h3>g_clear_error ()</h3>
|
922
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_clear_error (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>);</pre>
|
923
|
+
<p>
|
924
|
+
If <em class="parameter"><code>err</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, does nothing. If <em class="parameter"><code>err</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>,
|
925
|
+
calls <a class="link" href="glib-Error-Reporting.html#g-error-free" title="g_error_free ()"><code class="function">g_error_free()</code></a> on *<em class="parameter"><code>err</code></em> and sets *<em class="parameter"><code>err</code></em> to <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
|
926
|
+
</p>
|
927
|
+
<div class="variablelist"><table border="0">
|
928
|
+
<col align="left" valign="top">
|
929
|
+
<tbody><tr>
|
930
|
+
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
|
931
|
+
<td>a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> return location
|
932
|
+
</td>
|
933
|
+
</tr></tbody>
|
934
|
+
</table></div>
|
935
|
+
</div>
|
936
|
+
<hr>
|
937
|
+
<div class="refsect2" title="g_prefix_error ()">
|
938
|
+
<a name="g-prefix-error"></a><h3>g_prefix_error ()</h3>
|
939
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_prefix_error (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **err</code></em>,
|
940
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
941
|
+
<em class="parameter"><code>...</code></em>);</pre>
|
942
|
+
<p>
|
943
|
+
Formats a string according to <em class="parameter"><code>format</code></em> and
|
944
|
+
prefix it to an existing error message. If
|
945
|
+
<em class="parameter"><code>err</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> (ie: no error variable) then do
|
946
|
+
nothing.
|
947
|
+
</p>
|
948
|
+
<p>
|
949
|
+
If *<em class="parameter"><code>err</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> (ie: an error variable is
|
950
|
+
present but there is no error condition) then
|
951
|
+
also do nothing. Whether or not it makes
|
952
|
+
sense to take advantage of this feature is up
|
953
|
+
to you.
|
954
|
+
</p>
|
955
|
+
<div class="variablelist"><table border="0">
|
956
|
+
<col align="left" valign="top">
|
957
|
+
<tbody>
|
958
|
+
<tr>
|
959
|
+
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
|
960
|
+
<td>a return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>
|
961
|
+
</td>
|
962
|
+
</tr>
|
963
|
+
<tr>
|
964
|
+
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
|
965
|
+
<td>printf()-style format string
|
966
|
+
</td>
|
967
|
+
</tr>
|
968
|
+
<tr>
|
969
|
+
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
|
970
|
+
<td>arguments to <em class="parameter"><code>format</code></em>
|
971
|
+
</td>
|
972
|
+
</tr>
|
973
|
+
</tbody>
|
974
|
+
</table></div>
|
975
|
+
<p class="since">Since 2.16</p>
|
976
|
+
</div>
|
977
|
+
<hr>
|
978
|
+
<div class="refsect2" title="g_propagate_prefixed_error ()">
|
979
|
+
<a name="g-propagate-prefixed-error"></a><h3>g_propagate_prefixed_error ()</h3>
|
980
|
+
<pre class="programlisting"><span class="returnvalue">void</span> g_propagate_prefixed_error (<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> **dest</code></em>,
|
981
|
+
<em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="GError"><span class="type">GError</span></a> *src</code></em>,
|
982
|
+
<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *format</code></em>,
|
983
|
+
<em class="parameter"><code>...</code></em>);</pre>
|
984
|
+
<p>
|
985
|
+
If <em class="parameter"><code>dest</code></em> is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, free <em class="parameter"><code>src</code></em>; otherwise,
|
986
|
+
moves <em class="parameter"><code>src</code></em> into *<em class="parameter"><code>dest</code></em>. *<em class="parameter"><code>dest</code></em> must be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.
|
987
|
+
After the move, add a prefix as with
|
988
|
+
<a class="link" href="glib-Error-Reporting.html#g-prefix-error" title="g_prefix_error ()"><code class="function">g_prefix_error()</code></a>.
|
989
|
+
</p>
|
990
|
+
<div class="variablelist"><table border="0">
|
991
|
+
<col align="left" valign="top">
|
992
|
+
<tbody>
|
993
|
+
<tr>
|
994
|
+
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
|
995
|
+
<td>error return location
|
996
|
+
</td>
|
997
|
+
</tr>
|
998
|
+
<tr>
|
999
|
+
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
|
1000
|
+
<td>error to move into the return location
|
1001
|
+
</td>
|
1002
|
+
</tr>
|
1003
|
+
<tr>
|
1004
|
+
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
|
1005
|
+
<td>printf()-style format string
|
1006
|
+
</td>
|
1007
|
+
</tr>
|
1008
|
+
<tr>
|
1009
|
+
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
|
1010
|
+
<td>arguments to <em class="parameter"><code>format</code></em>
|
1011
|
+
</td>
|
1012
|
+
</tr>
|
1013
|
+
</tbody>
|
1014
|
+
</table></div>
|
1015
|
+
<p class="since">Since 2.16</p>
|
1016
|
+
</div>
|
1017
|
+
</div>
|
1018
|
+
</div>
|
1019
|
+
<div class="footer">
|
1020
|
+
<hr>
|
1021
|
+
Generated by GTK-Doc V1.14</div>
|
1022
|
+
</body>
|
1023
|
+
</html>
|