glib2 1.0.3-x86-mingw32 → 1.1.0-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/ext/glib2/extconf.rb +1 -0
- data/ext/glib2/glib2.def +23 -0
- data/ext/glib2/rbgcompat.h +19 -5
- data/ext/glib2/rbglib.c +607 -160
- data/ext/glib2/rbglib.h +81 -26
- data/ext/glib2/rbglib2conversions.h +57 -0
- data/ext/glib2/rbglib_bookmarkfile.c +117 -107
- data/ext/glib2/rbglib_completion.c +37 -26
- data/ext/glib2/rbglib_convert.c +42 -30
- data/ext/glib2/rbglib_error.c +20 -10
- data/ext/glib2/rbglib_fileutils.c +48 -37
- data/ext/glib2/rbglib_i18n.c +24 -14
- data/ext/glib2/rbglib_int64.c +24 -16
- data/ext/glib2/rbglib_iochannel.c +146 -204
- data/ext/glib2/rbglib_iochannel_win32_socket.c +56 -0
- data/ext/glib2/rbglib_iochannelerror.c +49 -0
- data/ext/glib2/rbglib_keyfile.c +171 -182
- data/ext/glib2/rbglib_maincontext.c +107 -92
- data/ext/glib2/rbglib_mainloop.c +34 -21
- data/ext/glib2/rbglib_messages.c +53 -44
- data/ext/glib2/rbglib_pollfd.c +37 -26
- data/ext/glib2/rbglib_shell.c +29 -22
- data/ext/glib2/rbglib_shellerror.c +34 -0
- data/ext/glib2/rbglib_source.c +49 -36
- data/ext/glib2/rbglib_spawn.c +50 -61
- data/ext/glib2/rbglib_spawnerror.c +53 -0
- data/ext/glib2/rbglib_threads.c +28 -16
- data/ext/glib2/rbglib_timer.c +35 -24
- data/ext/glib2/rbglib_ucs4.c +79 -0
- data/ext/glib2/rbglib_unichar.c +209 -0
- data/ext/glib2/rbglib_unicode.c +34 -584
- data/ext/glib2/rbglib_utf16.c +78 -0
- data/ext/glib2/rbglib_utf8.c +259 -0
- data/ext/glib2/rbglib_utils.c +95 -91
- data/ext/glib2/rbglib_win32.c +52 -45
- data/ext/glib2/rbglibdeprecated.c +56 -0
- data/ext/glib2/rbglibdeprecated.h +34 -0
- data/ext/glib2/rbgobj_boxed.c +40 -33
- data/ext/glib2/rbgobj_closure.c +45 -34
- data/ext/glib2/rbgobj_convert.c +19 -9
- data/ext/glib2/rbgobj_enumflags.c +109 -0
- data/ext/glib2/rbgobj_enums.c +67 -646
- data/ext/glib2/rbgobj_flags.c +522 -0
- data/ext/glib2/rbgobj_fundamental.c +19 -6
- data/ext/glib2/rbgobj_object.c +90 -81
- data/ext/glib2/rbgobj_param.c +78 -83
- data/ext/glib2/rbgobj_paramspecs.c +20 -12
- data/ext/glib2/rbgobj_signal.c +248 -193
- data/ext/glib2/rbgobj_strv.c +20 -10
- data/ext/glib2/rbgobj_type.c +153 -149
- data/ext/glib2/rbgobj_typeinstance.c +49 -39
- data/ext/glib2/rbgobj_typeinterface.c +37 -27
- data/ext/glib2/rbgobj_typemodule.c +39 -29
- data/ext/glib2/rbgobj_typeplugin.c +36 -26
- data/ext/glib2/rbgobj_value.c +41 -11
- data/ext/glib2/rbgobj_valuearray.c +59 -23
- data/ext/glib2/rbgobj_valuetypes.c +27 -17
- data/ext/glib2/rbgobject.c +26 -40
- data/ext/glib2/rbgobject.h +38 -20
- data/ext/glib2/rbgprivate.h +87 -5
- data/ext/glib2/rbgutil.c +52 -238
- data/ext/glib2/rbgutil.h +55 -42
- data/ext/glib2/rbgutil_callback.c +47 -12
- data/ext/glib2/rbgutil_list.c +173 -0
- data/ext/glib2/rbgutil_list.h +85 -0
- data/ext/glib2/rbgutildeprecated.c +252 -0
- data/ext/glib2/rbgutildeprecated.h +63 -0
- data/lib/1.8/glib2.so +0 -0
- data/lib/1.9/glib2.so +0 -0
- data/lib/glib-mkenums.rb +2 -2
- data/lib/glib2.rb +2 -25
- data/lib/glib2/deprecatable.rb +149 -0
- data/lib/gnome2-raketask.rb +45 -15
- data/lib/gnome2-win32-binary-downloader.rb +1 -1
- data/lib/mkmf-gnome2.rb +37 -18
- data/test/test_flags.rb +129 -0
- data/test/test_key_file.rb +6 -2
- data/test/test_spawn.rb +33 -0
- data/vendor/local/bin/gdbus.exe +0 -0
- data/vendor/local/bin/gio-querymodules.exe +0 -0
- data/vendor/local/bin/glib-compile-schemas.exe +0 -0
- data/vendor/local/bin/glib-genmarshal.exe +0 -0
- data/vendor/local/bin/glib-gettextize +2 -2
- data/vendor/local/bin/glib-mkenums +1 -1
- 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/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/etc/bash_completion.d/gdbus-bash-completion.sh +33 -0
- data/vendor/local/etc/bash_completion.d/gsettings-bash-completion.sh +67 -0
- data/vendor/local/include/gio-win32-2.0/gio/gwin32inputstream.h +79 -0
- data/vendor/local/include/gio-win32-2.0/gio/gwin32outputstream.h +78 -0
- data/vendor/local/include/glib-2.0/gio/gapplication.h +13 -7
- data/vendor/local/include/glib-2.0/gio/gioenums.h +16 -5
- data/vendor/local/include/glib-2.0/glib/gconvert.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gdir.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gfileutils.h +2 -0
- data/vendor/local/include/glib-2.0/glib/giochannel.h +1 -1
- data/vendor/local/include/glib-2.0/glib/gspawn.h +2 -0
- data/vendor/local/include/glib-2.0/glib/gutils.h +6 -2
- data/vendor/local/include/glib-2.0/glib/gvarianttype.h +10 -10
- data/vendor/local/include/glib-2.0/gobject/gtype.h +1 -1
- data/vendor/local/include/glib-2.0/gobject/gvalue.h +9 -1
- data/vendor/local/lib/gio-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0.def +1 -0
- data/vendor/local/lib/glib-2.0.lib +0 -0
- data/vendor/local/lib/glib-2.0/include/glibconfig.h +1 -1
- data/vendor/local/lib/gmodule-2.0.lib +0 -0
- data/vendor/local/lib/gobject-2.0.lib +0 -0
- data/vendor/local/lib/gthread-2.0.lib +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/pkgconfig/gio-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/glib-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gobject-2.0.pc +1 -1
- data/vendor/local/lib/pkgconfig/gthread-2.0.pc +1 -1
- data/vendor/local/manifest/{glib-dev_2.28.1-1_win32.mft → glib-dev_2.28.8-1_win32.mft} +33 -20
- data/vendor/local/manifest/{glib_2.28.1-1_win32.mft → glib_2.28.8-1_win32.mft} +3 -3
- data/vendor/local/share/aclocal/gsettings.m4 +83 -0
- data/vendor/local/share/doc/{glib-2.28.1 → glib-2.28.8}/COPYING +0 -0
- data/vendor/local/share/doc/{glib-dev-2.28.1 → glib-dev-2.28.8}/COPYING +0 -0
- data/vendor/local/share/glib-2.0/gettext/mkinstalldirs +0 -0
- data/vendor/local/share/gtk-doc/html/gio/GAction.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GActionGroup.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GApplication.html +115 -32
- data/vendor/local/share/gtk-doc/html/gio/GApplicationCommandLine.html +329 -312
- data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GBufferedInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GBufferedOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GCharsetConverter.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GConverter.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GDBusAuthObserver.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GDBusConnection.html +95 -40
- data/vendor/local/share/gtk-doc/html/gio/GDBusError.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/GDBusMethodInvocation.html +6 -4
- data/vendor/local/share/gtk-doc/html/gio/GDBusProxy.html +21 -11
- data/vendor/local/share/gtk-doc/html/gio/GDBusServer.html +3 -4
- data/vendor/local/share/gtk-doc/html/gio/GDataInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GDataOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GDrive.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GEmblem.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GEmblemedIcon.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFile.html +9 -7
- data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GFileIOStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFileIcon.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GFileInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFileOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFilenameCompleter.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GFilterInputStream.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/GFilterOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GIOStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GIcon.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GInetAddress.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GInitable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GMemoryInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GMemoryOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GMount.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/GNetworkAddress.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GNetworkService.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GPermission.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GPollableInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GPollableOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GProxy.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GProxyAddress.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GResolver.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSettings.html +11 -4
- data/vendor/local/share/gtk-doc/html/gio/GSettingsBackend.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAction.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GSimpleActionGroup.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSimplePermission.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocket.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketAddress.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketClient.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketControlMessage.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketListener.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GSrvTarget.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTcpConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTcpWrapperConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/GThreadedSocketService.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTlsBackend.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTlsCertificate.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTlsClientConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTlsConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GTlsServerConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixConnection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixCredentialsMessage.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDList.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixFDMessage.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixInputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixOutputStream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GUnixSocketAddress.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GVfs.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GVolume.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GVolumeMonitor.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GZlibCompressor.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/GZlibDecompressor.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-18.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-20.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-22.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-24.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-26.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-2-28.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-deprecated.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/application.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/async.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/ch01.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch02.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/ch03.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch26.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch27.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/ch27s02.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch27s03.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch28.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/ch28s02.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch28s03.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch28s04.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch28s05.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch28s06.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/ch28s07.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch29.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/ch29s02.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch29s03.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch29s04.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/ch29s05.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/ch29s06.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/conversion.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/extending.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/failable_initialization.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/file_mon.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/file_ops.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gdbus-convenience.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gdbus-lowlevel.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gdbus.html +9 -9
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Addresses.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Utilities.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-Extension-Points.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-GContentType.html +6 -5
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterInputstream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-GConverterOutputstream.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOError.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-GIOScheduler.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-Owning-Bus-Names.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-TLS-Overview.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-Watching-Bus-Names.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/gio-querymodules.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp +8 -8
- data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +8 -8
- data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +7 -5
- data/vendor/local/share/gtk-doc/html/gio/gsettings-tool.html +4 -4
- data/vendor/local/share/gtk-doc/html/gio/highlevel-socket.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/icons.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/index.html +6 -6
- data/vendor/local/share/gtk-doc/html/gio/migrating.html +5 -5
- data/vendor/local/share/gtk-doc/html/gio/networking.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/permissions.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/pt01.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/pt02.html +3 -3
- data/vendor/local/share/gtk-doc/html/gio/resolver.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/settings.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/streaming.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/tls.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/tools.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/types.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/utils.html +2 -2
- data/vendor/local/share/gtk-doc/html/gio/volume_mon.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +8 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-10.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-12.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-14.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-18.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-2.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-20.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-22.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-24.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-26.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-28.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-4.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-2-8.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-deprecated.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +26 -26
- data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Asynchronous-Queues.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Atomic-Operations.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Automatic-String-Completion.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Base64-Encoding.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Basic-Types.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Order-Macros.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Caches.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +99 -19
- data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Datasets.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Double-ended-Queues.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +147 -49
- data/vendor/local/share/gtk-doc/html/glib/glib-GDateTime.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-GTimeZone.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +123 -94
- data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +52 -47
- data/vendor/local/share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Hash-Tables.html +4 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Hook-Functions.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Hostname-Utilities.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +5 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Lexical-Scanner.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Limits-of-Basic-Types.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocators.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Chunks.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Slices.html +6 -6
- data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +83 -48
- data/vendor/local/share/gtk-doc/html/glib/glib-N-ary-Trees.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Numerical-Definitions.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Pointer-Arrays.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-Quarks.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Random-Numbers.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Relations-and-Tuples.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Sequences.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Shell-related-Utilities.html +6 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +287 -52
- data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Chunks.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Strings.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +19 -14
- data/vendor/local/share/gtk-doc/html/glib/glib-Thread-Pools.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +17 -14
- data/vendor/local/share/gtk-doc/html/glib/glib-Timers.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Trash-Stacks.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +16 -8
- data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +6 -6
- data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-building.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-changes.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/glib-compiling.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/glib-core.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-cross-compiling.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-data-types.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-fundamentals.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib-gettextize.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +47 -47
- data/vendor/local/share/gtk-doc/html/glib/glib-resources.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/glib-running.html +8 -8
- data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp +49 -49
- data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +49 -49
- data/vendor/local/share/gtk-doc/html/glib/glib.html +2 -2
- data/vendor/local/share/gtk-doc/html/glib/gtester-report.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/gtester.html +5 -5
- data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +35 -35
- data/vendor/local/share/gtk-doc/html/glib/gvariant-text.html +4 -4
- data/vendor/local/share/gtk-doc/html/glib/index.html +3 -3
- data/vendor/local/share/gtk-doc/html/glib/index.sgml +1 -0
- data/vendor/local/share/gtk-doc/html/glib/tools.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/GBinding.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/GTypeModule.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/annotation-glossary.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-10.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-12.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-14.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-18.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-2.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-22.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-24.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-26.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-28.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-4.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-6.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-2-8.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-deprecated.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/api-index-full.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/ch01s02.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/ch06s03.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gobject.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/chapter-intro.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/chapter-signal.html +10 -10
- data/vendor/local/share/gtk-doc/html/gobject/glib-genmarshal.html +11 -11
- data/vendor/local/share/gtk-doc/html/gobject/glib-mkenums.html +8 -8
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-GParamSpec.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +7 -7
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html +8 -3
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Value-arrays.html +5 -3
- data/vendor/local/share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-memory.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/gobject-query.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp +8 -8
- data/vendor/local/share/gtk-doc/html/gobject/gobject.devhelp2 +8 -8
- data/vendor/local/share/gtk-doc/html/gobject/gtype-conventions.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/gtype-instantiable-classed.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/gtype-non-instantiable.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-chainup.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-code.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-methods.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/howto-gobject.html +5 -5
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-implement.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface-properties.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/howto-interface.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/howto-signals.html +4 -4
- data/vendor/local/share/gtk-doc/html/gobject/index.html +9 -9
- data/vendor/local/share/gtk-doc/html/gobject/pr01.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/pt01.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/pt02.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/pt03.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/rn01.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/rn02.html +3 -3
- data/vendor/local/share/gtk-doc/html/gobject/signal.html +6 -6
- data/vendor/local/share/gtk-doc/html/gobject/tools-ginspector.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/tools-gob.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/tools-refdb.html +2 -2
- data/vendor/local/share/gtk-doc/html/gobject/tools-vala.html +2 -2
- data/vendor/local/share/locale/af/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/as/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/bg/LC_MESSAGES/glib20.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/glib20.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ga/LC_MESSAGES/glib20.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/hu/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -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/mr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/nl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/sr/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/glib20.mo +0 -0
- data/vendor/local/share/locale/te/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/ug/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/locale/vi/LC_MESSAGES/glib20.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/glib20.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
- data/vendor/local/share/man/man1/gdbus.1 +249 -0
- data/vendor/local/share/man/man1/gio-querymodules.1 +44 -0
- data/vendor/local/share/man/man1/glib-compile-schemas.1 +86 -0
- data/vendor/local/share/man/man1/glib-genmarshal.1 +2 -2
- data/vendor/local/share/man/man1/glib-gettextize.1 +80 -0
- data/vendor/local/share/man/man1/glib-mkenums.1 +2 -2
- data/vendor/local/share/man/man1/gobject-query.1 +2 -2
- data/vendor/local/share/man/man1/gsettings.1 +153 -0
- data/vendor/local/src/dieterv/packaging/glib_2.28.8-1_win32.log +2919 -0
- data/vendor/local/src/dieterv/packaging/glib_2.28.8-1_win32.sh +157 -0
- metadata +45 -13
- data/ChangeLog +0 -3513
- data/vendor/local/src/tml/packaging/glib_2.28.1-1_win32.log +0 -2775
- data/vendor/local/src/tml/packaging/glib_2.28.1-1_win32.sh +0 -62
@@ -1,14 +1,23 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2007 Ruby-GNOME2 Project
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
12
21
|
|
13
22
|
#include "rbgprivate.h"
|
14
23
|
|
@@ -165,6 +174,18 @@ invoke_callback_in_ruby_thread(VALUE (*func)(VALUE), VALUE arg)
|
|
165
174
|
|
166
175
|
return request.result;
|
167
176
|
}
|
177
|
+
|
178
|
+
#ifdef HAVE_RB_THREAD_CALL_WITH_GVL
|
179
|
+
extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
|
180
|
+
|
181
|
+
static void *
|
182
|
+
invoke_callback_with_gvl(void *arg)
|
183
|
+
{
|
184
|
+
CallbackRequest *req = (CallbackRequest*)arg;
|
185
|
+
return (void *)rbgutil_protect(req->function, req->argument);
|
186
|
+
}
|
187
|
+
#endif
|
188
|
+
|
168
189
|
#endif
|
169
190
|
|
170
191
|
/**********************************************************************/
|
@@ -173,7 +194,21 @@ VALUE
|
|
173
194
|
rbgutil_invoke_callback(VALUE (*func)(VALUE), VALUE arg)
|
174
195
|
{
|
175
196
|
#ifdef HAVE_NATIVETHREAD
|
176
|
-
if (
|
197
|
+
if (ruby_native_thread_p()) {
|
198
|
+
# ifdef HAVE_RB_THREAD_BLOCKING_REGION
|
199
|
+
if (!GPOINTER_TO_INT(g_static_private_get(&rg_polling_key))) {
|
200
|
+
return rbgutil_protect(func, arg);
|
201
|
+
}
|
202
|
+
# endif
|
203
|
+
# ifdef HAVE_RB_THREAD_CALL_WITH_GVL
|
204
|
+
{
|
205
|
+
CallbackRequest req;
|
206
|
+
req.function = func;
|
207
|
+
req.argument = arg;
|
208
|
+
return (VALUE)rb_thread_call_with_gvl(invoke_callback_with_gvl, &req);
|
209
|
+
}
|
210
|
+
# endif
|
211
|
+
} else {
|
177
212
|
return invoke_callback_in_ruby_thread(func, arg);
|
178
213
|
}
|
179
214
|
#endif
|
@@ -219,7 +254,7 @@ rbgutil_stop_callback_dispatch_thread(void)
|
|
219
254
|
}
|
220
255
|
|
221
256
|
void
|
222
|
-
Init_gutil_callback()
|
257
|
+
Init_gutil_callback(void)
|
223
258
|
{
|
224
259
|
id_exit_application = rb_intern("exit_application");
|
225
260
|
rbgutil_eGLibCallbackNotInitializedError =
|
@@ -0,0 +1,173 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbgprivate.h"
|
22
|
+
|
23
|
+
struct list2rval_args {
|
24
|
+
gpointer list;
|
25
|
+
RBGRValueFunc conv;
|
26
|
+
GFreeFunc free_list;
|
27
|
+
GFreeFunc free_elem;
|
28
|
+
};
|
29
|
+
|
30
|
+
struct list2rval_with_type_args {
|
31
|
+
struct list2rval_args args;
|
32
|
+
RBGRValueFuncWithType conv_with_type;
|
33
|
+
GType gtype;
|
34
|
+
};
|
35
|
+
|
36
|
+
static VALUE
|
37
|
+
glist2rval_body(VALUE data)
|
38
|
+
{
|
39
|
+
struct list2rval_args *args = (struct list2rval_args *)data;
|
40
|
+
RBGRValueFunc conv = args->conv;
|
41
|
+
GList *node;
|
42
|
+
VALUE ary;
|
43
|
+
|
44
|
+
ary = rb_ary_new();
|
45
|
+
if (conv)
|
46
|
+
for (node = args->list; node; node = g_list_next(node))
|
47
|
+
rb_ary_push(ary, conv(node->data));
|
48
|
+
|
49
|
+
return ary;
|
50
|
+
}
|
51
|
+
|
52
|
+
static VALUE
|
53
|
+
gslist2rval_body(VALUE data)
|
54
|
+
{
|
55
|
+
struct list2rval_args *args = (struct list2rval_args *)data;
|
56
|
+
RBGRValueFunc conv = args->conv;
|
57
|
+
GSList *node;
|
58
|
+
VALUE ary;
|
59
|
+
|
60
|
+
ary = rb_ary_new();
|
61
|
+
if (conv)
|
62
|
+
for (node = args->list; node; node = g_slist_next(node))
|
63
|
+
rb_ary_push(ary, conv(node->data));
|
64
|
+
|
65
|
+
return ary;
|
66
|
+
}
|
67
|
+
|
68
|
+
static VALUE
|
69
|
+
glist2rval_with_type_body(VALUE data)
|
70
|
+
{
|
71
|
+
struct list2rval_with_type_args *args_with_type = (struct list2rval_with_type_args *)data;
|
72
|
+
struct list2rval_args *args = (struct list2rval_args *)data;
|
73
|
+
RBGRValueFuncWithType conv = args_with_type->conv_with_type;
|
74
|
+
GType gtype = args_with_type->gtype;
|
75
|
+
GList *node;
|
76
|
+
VALUE ary;
|
77
|
+
|
78
|
+
ary = rb_ary_new();
|
79
|
+
if (conv)
|
80
|
+
for (node = args->list; node; node = g_list_next(node))
|
81
|
+
rb_ary_push(ary, conv(node->data, gtype));
|
82
|
+
|
83
|
+
return ary;
|
84
|
+
}
|
85
|
+
|
86
|
+
static VALUE
|
87
|
+
gslist2rval_with_type_body(VALUE data)
|
88
|
+
{
|
89
|
+
struct list2rval_with_type_args *args_with_type = (struct list2rval_with_type_args *)data;
|
90
|
+
struct list2rval_args *args = (struct list2rval_args *)data;
|
91
|
+
RBGRValueFuncWithType conv = args_with_type->conv_with_type;
|
92
|
+
GType gtype = args_with_type->gtype;
|
93
|
+
GSList *node;
|
94
|
+
VALUE ary;
|
95
|
+
|
96
|
+
ary = rb_ary_new();
|
97
|
+
if (conv)
|
98
|
+
for (node = args->list; node; node = g_slist_next(node))
|
99
|
+
rb_ary_push(ary, conv(node->data, gtype));
|
100
|
+
|
101
|
+
return ary;
|
102
|
+
}
|
103
|
+
|
104
|
+
static VALUE
|
105
|
+
glist2rval_ensure(VALUE data)
|
106
|
+
{
|
107
|
+
struct list2rval_args *args = (struct list2rval_args *)data;
|
108
|
+
GList *node;
|
109
|
+
|
110
|
+
if (args->free_elem)
|
111
|
+
for (node = args->list; node; node = g_list_next(node))
|
112
|
+
args->free_elem(node->data);
|
113
|
+
if (args->free_list)
|
114
|
+
args->free_list(args->list);
|
115
|
+
|
116
|
+
return Qnil;
|
117
|
+
}
|
118
|
+
|
119
|
+
static VALUE
|
120
|
+
gslist2rval_ensure(VALUE data)
|
121
|
+
{
|
122
|
+
struct list2rval_args *args = (struct list2rval_args *)data;
|
123
|
+
GSList *node;
|
124
|
+
|
125
|
+
if (args->free_elem)
|
126
|
+
for (node = args->list; node; node = g_slist_next(node))
|
127
|
+
args->free_elem(node->data);
|
128
|
+
if (args->free_list)
|
129
|
+
args->free_list(args->list);
|
130
|
+
|
131
|
+
return Qnil;
|
132
|
+
}
|
133
|
+
|
134
|
+
VALUE
|
135
|
+
rbg_glist2rval(GList *const list, RBGRValueFunc conv,
|
136
|
+
GFreeFunc free_list, GFreeFunc free_elem)
|
137
|
+
{
|
138
|
+
struct list2rval_args args = {list, conv, free_list, free_elem};
|
139
|
+
|
140
|
+
return rb_ensure(glist2rval_body, (VALUE)&args,
|
141
|
+
glist2rval_ensure, (VALUE)&args);
|
142
|
+
}
|
143
|
+
|
144
|
+
VALUE
|
145
|
+
rbg_gslist2rval(GSList *const list, RBGRValueFunc conv,
|
146
|
+
GFreeFunc free_list, GFreeFunc free_elem)
|
147
|
+
{
|
148
|
+
struct list2rval_args args = {list, conv, free_list, free_elem};
|
149
|
+
|
150
|
+
return rb_ensure(gslist2rval_body, (VALUE)&args,
|
151
|
+
gslist2rval_ensure, (VALUE)&args);
|
152
|
+
}
|
153
|
+
|
154
|
+
VALUE
|
155
|
+
rbg_glist2rval_with_type(GList *const list, RBGRValueFuncWithType conv, GType gtype,
|
156
|
+
GFreeFunc free_list, GFreeFunc free_elem)
|
157
|
+
{
|
158
|
+
struct list2rval_with_type_args args = {{list, NULL, free_list, free_elem}, conv, gtype};
|
159
|
+
|
160
|
+
return rb_ensure(glist2rval_with_type_body, (VALUE)&args,
|
161
|
+
glist2rval_ensure, (VALUE)&args);
|
162
|
+
}
|
163
|
+
|
164
|
+
VALUE
|
165
|
+
rbg_gslist2rval_with_type(GSList *const list, RBGRValueFuncWithType conv, GType gtype,
|
166
|
+
GFreeFunc free_list, GFreeFunc free_elem)
|
167
|
+
{
|
168
|
+
struct list2rval_with_type_args args = {{list, NULL, free_list, free_elem}, conv, gtype};
|
169
|
+
|
170
|
+
return rb_ensure(gslist2rval_with_type_body, (VALUE)&args,
|
171
|
+
gslist2rval_ensure, (VALUE)&args);
|
172
|
+
}
|
173
|
+
|
@@ -0,0 +1,85 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef __RBGUTIL_LIST_H__
|
22
|
+
#define __RBGUTIL_LIST_H__
|
23
|
+
|
24
|
+
G_BEGIN_DECLS
|
25
|
+
|
26
|
+
#define CSTRGLIST2RVAL(list) \
|
27
|
+
CSTRGLIST2RVAL_FREE(list, NULL, NULL)
|
28
|
+
#define CSTRGLIST2RVAL_FREE(list, free_list, free_elem) \
|
29
|
+
rbg_glist2rval(list, (RBGRValueFunc)rbg_cstr2rval, \
|
30
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
31
|
+
#define CSTRGSLIST2RVAL(list) \
|
32
|
+
CSTRGSLIST2RVAL_FREE(list, NULL, NULL)
|
33
|
+
#define CSTRGSLIST2RVAL_FREE(list, free_list, free_elem) \
|
34
|
+
rbg_gslist2rval(list, (RBGRValueFunc)rbg_cstr2rval, \
|
35
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
36
|
+
|
37
|
+
#define FILENAMEGLIST2RVAL(list) \
|
38
|
+
FILENAMEGLIST2RVAL_FREE(list, NULL, NULL)
|
39
|
+
#define FILENAMEGLIST2RVAL_FREE(list, free_list, free_elem) \
|
40
|
+
rbg_glist2rval(list, (RBGRValueFunc)rbg_filename_to_ruby, \
|
41
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
42
|
+
#define FILENAMEGSLIST2RVAL(list) \
|
43
|
+
FILENAMEGSLIST2RVAL_FREE(list, NULL, NULL)
|
44
|
+
#define FILENAMEGSLIST2RVAL_FREE(list, free_list, free_elem) \
|
45
|
+
rbg_gslist2rval(list, (RBGRValueFunc)rbg_filename_to_ruby, \
|
46
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
47
|
+
|
48
|
+
#define GOBJGLIST2RVAL(list) \
|
49
|
+
GOBJGLIST2RVAL_FREE(list, NULL, NULL)
|
50
|
+
#define GOBJGLIST2RVAL_FREE(list, free_list, free_elem) \
|
51
|
+
rbg_glist2rval(list, (RBGRValueFunc)rbgobj_ruby_object_from_instance, \
|
52
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
53
|
+
#define GOBJGSLIST2RVAL(list) \
|
54
|
+
GOBJGSLIST2RVAL_FREE(list, NULL, NULL)
|
55
|
+
#define GOBJGSLIST2RVAL_FREE(list, free_list, free_elem) \
|
56
|
+
rbg_gslist2rval(list, (RBGRValueFunc)rbgobj_ruby_object_from_instance, \
|
57
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
58
|
+
|
59
|
+
#define BOXEDGLIST2RVAL(list, gtype) \
|
60
|
+
BOXEDGLIST2RVAL_FREE(list, gtype, NULL, NULL)
|
61
|
+
#define BOXEDGLIST2RVAL_FREE(list, gtype, free_list, free_elem) \
|
62
|
+
rbg_glist2rval_with_type(list, (RBGRValueFuncWithType)rbgobj_make_boxed, gtype, \
|
63
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
64
|
+
#define BOXEDGSLIST2RVAL(list, gtype) \
|
65
|
+
BOXEDGSLIST2RVAL_FREE(list, gtype, NULL, NULL)
|
66
|
+
#define BOXEDGSLIST2RVAL_FREE(list, gtype, free_list, free_elem) \
|
67
|
+
rbg_gslist2rval_with_type(list, (RBGRValueFuncWithType)rbgobj_make_boxed, gtype, \
|
68
|
+
(GFreeFunc)free_list, (GFreeFunc)free_elem)
|
69
|
+
|
70
|
+
typedef VALUE (*RBGRValueFunc)(gpointer obj);
|
71
|
+
typedef VALUE (*RBGRValueFuncWithType)(gpointer obj, GType gtype);
|
72
|
+
|
73
|
+
extern VALUE rbg_glist2rval(GList *const list, RBGRValueFunc conv,
|
74
|
+
GFreeFunc free_list, GFreeFunc free_elem);
|
75
|
+
extern VALUE rbg_gslist2rval(GSList *const list, RBGRValueFunc conv,
|
76
|
+
GFreeFunc free_list, GFreeFunc free_elem);
|
77
|
+
extern VALUE rbg_glist2rval_with_type(GList *const list, RBGRValueFuncWithType conv, GType gtype,
|
78
|
+
GFreeFunc free_list, GFreeFunc free_elem);
|
79
|
+
extern VALUE rbg_gslist2rval_with_type(GSList *const list, RBGRValueFuncWithType conv, GType gtype,
|
80
|
+
GFreeFunc free_list, GFreeFunc free_elem);
|
81
|
+
|
82
|
+
G_END_DECLS
|
83
|
+
|
84
|
+
#endif /* __RBGUTIL_LIST_H__ */
|
85
|
+
|
@@ -0,0 +1,252 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002-2004 Masao Mutoh
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rbgprivate.h"
|
23
|
+
|
24
|
+
VALUE
|
25
|
+
rbgutil_glist2ary(const GList *const list)
|
26
|
+
{
|
27
|
+
VALUE ary;
|
28
|
+
const GList *i;
|
29
|
+
|
30
|
+
ary = rb_ary_new();
|
31
|
+
for (i = list; i != NULL; i = i->next)
|
32
|
+
rb_ary_push(ary, GOBJ2RVAL(i->data));
|
33
|
+
|
34
|
+
return ary;
|
35
|
+
}
|
36
|
+
|
37
|
+
static VALUE
|
38
|
+
rbgutil_glist2ary_and_free_body(VALUE data)
|
39
|
+
{
|
40
|
+
VALUE ary;
|
41
|
+
GList *i;
|
42
|
+
|
43
|
+
ary = rb_ary_new();
|
44
|
+
for (i = (GList *)data; i != NULL; i = i->next)
|
45
|
+
rb_ary_push(ary, GOBJ2RVAL(i->data));
|
46
|
+
|
47
|
+
return ary;
|
48
|
+
}
|
49
|
+
|
50
|
+
static VALUE
|
51
|
+
rbgutil_glist2ary_and_free_ensure(VALUE data)
|
52
|
+
{
|
53
|
+
g_list_free((GList *)data);
|
54
|
+
|
55
|
+
return Qnil;
|
56
|
+
}
|
57
|
+
|
58
|
+
VALUE
|
59
|
+
rbgutil_glist2ary_and_free(GList *const list)
|
60
|
+
{
|
61
|
+
return rb_ensure(rbgutil_glist2ary_and_free_body, (VALUE)list,
|
62
|
+
rbgutil_glist2ary_and_free_ensure, (VALUE)list);
|
63
|
+
}
|
64
|
+
|
65
|
+
VALUE
|
66
|
+
rbgutil_glist2ary_boxed(const GList *const list, GType gtype)
|
67
|
+
{
|
68
|
+
VALUE ary;
|
69
|
+
const GList *i;
|
70
|
+
|
71
|
+
ary = rb_ary_new();
|
72
|
+
for (i = list; i != NULL; i = i->next)
|
73
|
+
rb_ary_push(ary, BOXED2RVAL(i->data, gtype));
|
74
|
+
|
75
|
+
return ary;
|
76
|
+
}
|
77
|
+
|
78
|
+
struct rbgutil_glist2ary_boxed_and_free_data
|
79
|
+
{
|
80
|
+
GList *const list;
|
81
|
+
GType gtype;
|
82
|
+
};
|
83
|
+
|
84
|
+
static VALUE
|
85
|
+
rbgutil_glist2ary_boxed_and_free_body(VALUE data)
|
86
|
+
{
|
87
|
+
struct rbgutil_glist2ary_boxed_and_free_data *real;
|
88
|
+
VALUE ary;
|
89
|
+
GList *i;
|
90
|
+
|
91
|
+
real = (struct rbgutil_glist2ary_boxed_and_free_data *)data;
|
92
|
+
ary = rb_ary_new();
|
93
|
+
for (i = real->list; i != NULL; i = i->next)
|
94
|
+
rb_ary_push(ary, BOXED2RVAL(i->data, real->gtype));
|
95
|
+
|
96
|
+
return ary;
|
97
|
+
}
|
98
|
+
|
99
|
+
static VALUE
|
100
|
+
rbgutil_glist2ary_boxed_and_free_ensure(VALUE data)
|
101
|
+
{
|
102
|
+
g_list_free(((struct rbgutil_glist2ary_boxed_and_free_data *)data)->list);
|
103
|
+
|
104
|
+
return Qnil;
|
105
|
+
}
|
106
|
+
|
107
|
+
VALUE
|
108
|
+
rbgutil_glist2ary_boxed_and_free(GList *const list, GType gtype)
|
109
|
+
{
|
110
|
+
struct rbgutil_glist2ary_boxed_and_free_data data = { list, gtype };
|
111
|
+
|
112
|
+
return rb_ensure(rbgutil_glist2ary_boxed_and_free_body, (VALUE)&data,
|
113
|
+
rbgutil_glist2ary_boxed_and_free_ensure, (VALUE)&data);
|
114
|
+
}
|
115
|
+
|
116
|
+
VALUE
|
117
|
+
rbgutil_glist2ary_string(const GList *const list)
|
118
|
+
{
|
119
|
+
VALUE ary;
|
120
|
+
const GList *i;
|
121
|
+
|
122
|
+
ary = rb_ary_new();
|
123
|
+
for (i = list; i != NULL; i = i->next)
|
124
|
+
rb_ary_push(ary, CSTR2RVAL(i->data));
|
125
|
+
|
126
|
+
return ary;
|
127
|
+
}
|
128
|
+
|
129
|
+
static VALUE
|
130
|
+
rbgutil_glist2ary_string_and_free_body(VALUE data)
|
131
|
+
{
|
132
|
+
VALUE ary;
|
133
|
+
GList *i;
|
134
|
+
|
135
|
+
ary = rb_ary_new();
|
136
|
+
for (i = (GList *)data; i != NULL; i = i->next)
|
137
|
+
rb_ary_push(ary, CSTR2RVAL(i->data));
|
138
|
+
|
139
|
+
return ary;
|
140
|
+
}
|
141
|
+
|
142
|
+
static VALUE
|
143
|
+
rbgutil_glist2ary_string_and_free_ensure(VALUE data)
|
144
|
+
{
|
145
|
+
GList *i;
|
146
|
+
|
147
|
+
for (i = (GList *)data; i != NULL; i = i->next)
|
148
|
+
g_free(i->data);
|
149
|
+
g_list_free((GList *)data);
|
150
|
+
|
151
|
+
return Qnil;
|
152
|
+
}
|
153
|
+
|
154
|
+
VALUE
|
155
|
+
rbgutil_glist2ary_string_and_free(GList *const list)
|
156
|
+
{
|
157
|
+
return rb_ensure(rbgutil_glist2ary_string_and_free_body, (VALUE)list,
|
158
|
+
rbgutil_glist2ary_string_and_free_ensure, (VALUE)list);
|
159
|
+
}
|
160
|
+
|
161
|
+
VALUE
|
162
|
+
rbgutil_gslist2ary(const GSList *const list)
|
163
|
+
{
|
164
|
+
VALUE ary;
|
165
|
+
const GSList *i;
|
166
|
+
|
167
|
+
ary = rb_ary_new();
|
168
|
+
for (i = list; i != NULL; i = i->next)
|
169
|
+
rb_ary_push(ary, GOBJ2RVAL(i->data));
|
170
|
+
|
171
|
+
return ary;
|
172
|
+
}
|
173
|
+
|
174
|
+
static VALUE
|
175
|
+
rbgutil_gslist2ary_and_free_body(VALUE data)
|
176
|
+
{
|
177
|
+
VALUE ary;
|
178
|
+
GSList *i;
|
179
|
+
|
180
|
+
ary = rb_ary_new();
|
181
|
+
for (i = (GSList *)data; i != NULL; i = i->next)
|
182
|
+
rb_ary_push(ary, GOBJ2RVAL(i->data));
|
183
|
+
|
184
|
+
return ary;
|
185
|
+
}
|
186
|
+
|
187
|
+
static VALUE
|
188
|
+
rbgutil_gslist2ary_and_free_ensure(VALUE data)
|
189
|
+
{
|
190
|
+
g_slist_free((GSList *)data);
|
191
|
+
|
192
|
+
return Qnil;
|
193
|
+
}
|
194
|
+
|
195
|
+
VALUE
|
196
|
+
rbgutil_gslist2ary_and_free(GSList *const list)
|
197
|
+
{
|
198
|
+
return rb_ensure(rbgutil_gslist2ary_and_free_body, (VALUE)list,
|
199
|
+
rbgutil_gslist2ary_and_free_ensure, (VALUE)list);
|
200
|
+
}
|
201
|
+
|
202
|
+
VALUE
|
203
|
+
rbgutil_gslist2ary_boxed(const GSList *const list, GType gtype)
|
204
|
+
{
|
205
|
+
VALUE ary;
|
206
|
+
const GSList *i;
|
207
|
+
|
208
|
+
ary = rb_ary_new();
|
209
|
+
for (i = list; i != NULL; i = i->next)
|
210
|
+
rb_ary_push(ary, BOXED2RVAL(i->data, gtype));
|
211
|
+
|
212
|
+
return ary;
|
213
|
+
}
|
214
|
+
|
215
|
+
struct rbgutil_gslist2ary_boxed_and_free_data
|
216
|
+
{
|
217
|
+
GSList *const list;
|
218
|
+
GType gtype;
|
219
|
+
};
|
220
|
+
|
221
|
+
static VALUE
|
222
|
+
rbgutil_gslist2ary_boxed_and_free_body(VALUE data)
|
223
|
+
{
|
224
|
+
struct rbgutil_gslist2ary_boxed_and_free_data *real;
|
225
|
+
VALUE ary;
|
226
|
+
GSList *i;
|
227
|
+
|
228
|
+
real = (struct rbgutil_gslist2ary_boxed_and_free_data *)data;
|
229
|
+
ary = rb_ary_new();
|
230
|
+
for (i = real->list; i != NULL; i = i->next)
|
231
|
+
rb_ary_push(ary, BOXED2RVAL(i->data, real->gtype));
|
232
|
+
|
233
|
+
return ary;
|
234
|
+
}
|
235
|
+
|
236
|
+
static VALUE
|
237
|
+
rbgutil_gslist2ary_boxed_and_free_ensure(VALUE data)
|
238
|
+
{
|
239
|
+
g_slist_free(((struct rbgutil_gslist2ary_boxed_and_free_data *)data)->list);
|
240
|
+
|
241
|
+
return Qnil;
|
242
|
+
}
|
243
|
+
|
244
|
+
VALUE
|
245
|
+
rbgutil_gslist2ary_boxed_and_free(GSList *const list, GType gtype)
|
246
|
+
{
|
247
|
+
struct rbgutil_gslist2ary_boxed_and_free_data data = { list, gtype };
|
248
|
+
|
249
|
+
return rb_ensure(rbgutil_gslist2ary_boxed_and_free_body, (VALUE)&data,
|
250
|
+
rbgutil_gslist2ary_boxed_and_free_ensure, (VALUE)&data);
|
251
|
+
}
|
252
|
+
|