gui/gui-lib/mred/private/wx/gtk/gsettings.rkt
Matthew Flatt 63a62b0832 fixup for old versions of GTK+ 2
Restore support for Debian Lenny, at least.
2015-08-16 20:55:39 -06:00

47 lines
1.6 KiB
Racket

#lang racket/base
(require ffi/unsafe
ffi/unsafe/define
ffi/unsafe/alloc
racket/draw/unsafe/glib
racket/draw/private/libs
"types.rkt")
(provide (protect-out (all-defined-out)))
(define-runtime-lib gio-lib
[(unix) (ffi-lib "libgio-2.0" '("0" ""))]
[(macosx)
(ffi-lib "libgio-2.0.0.dylib")]
[(windows)
(ffi-lib "libgio-2.0-0.dll")])
(define-ffi-definer define-gio gio-lib
#:default-make-fail (lambda (id) (lambda () #f)))
(define _GSettings-pointer (_cpointer 'GSettings))
(define _GSettingsSchemeSource-pointer (_cpointer 'GSettingsSchemeSource))
(define _GVariant-pointer (_cpointer 'GVariant))
(define-gobj g_object_unref (_fun _pointer -> _void)
#:wrap (deallocator))
(define-gio g_settings_schema_source_get_default (_fun -> _GSettingsSchemeSource-pointer))
(define-gio g_settings_schema_source_lookup (_fun _GSettingsSchemeSource-pointer
_string
_gboolean
-> _pointer))
(define-gio g_settings_new (_fun _string -> _GSettings-pointer)
#:wrap (allocator g_object_unref))
(define-gio g_settings_get_value (_fun _GSettings-pointer _string -> _GVariant-pointer))
(define-gio g_settings_list_keys (_fun _GSettings-pointer -> _pointer))
(define-glib g_variant_get_type_string (_fun _GVariant-pointer -> _string)
#:make-fail make-not-available)
(define-glib g_variant_get_int32 (_fun _GVariant-pointer -> _int32)
#:make-fail make-not-available)
(define-glib g_variant_get_uint32 (_fun _GVariant-pointer -> _uint32)
#:make-fail make-not-available)
(define-glib g_variant_get_double (_fun _GVariant-pointer -> _gdouble)
#:make-fail make-not-available)