module: dylan-user
copyright: See LICENSE file in this distribution.

define library gobject
  use dylan;
  use common-dylan;
  use c-ffi;
  use io;
  use glib;

  export gobject;
  export gobject-glue;
  export gobject-properties;
end library;

define module gobject
  use dylan;
  use common-dylan;
  use c-ffi;
  use glib;

  export
    g-type-test-flags,
    g-type-set-qdata,
    g-type-register-static,
    g-type-register-fundamental,
    g-type-register-dynamic,
    g-type-query,
    g-type-qname,
    g-type-parent,
    g-type-next-base,
    g-type-name-from-instance,
    g-type-name-from-class,
    g-type-name,
    g-type-is-a,
    g-type-interfaces,
    g-type-init-with-debug-flags,
    g-type-init,
    g-type-get-qdata,
    g-type-get-plugin,
    g-type-fundamental-next,
    g-type-fundamental,
    g-type-from-name,
    g-type-free-instance,
    g-type-depth,
    g-type-default-interface-unref,
    g-type-default-interface-ref,
    g-type-default-interface-peek,
    g-type-children,
    g-type-check-value-holds,
    g-type-check-value,
    g-type-check-is-value-type,
    g-type-check-instance-is-a,
    g-type-check-instance,
    g-type-check-class-is-a,
    g-type-add-interface-static,
    g-type-add-interface-dynamic,
    g-type-add-class-private,
    g-strdup-value-contents,
    g-source-set-dummy-callback,
    g-source-set-closure,
    g-signal-type-cclosure-new,
    g-signal-stop-emission-by-name,
    g-signal-stop-emission,
    g-signal-set-va-marshaller,
    g-signal-remove-emission-hook,
    g-signal-query,
    g-signal-parse-name,
    g-signal-override-class-closure,
    g-signal-name,
    g-signal-lookup,
    g-signal-list-ids,
    g-signal-has-handler-pending,
    g-signal-handlers-unblock-matched,
    g-signal-handlers-disconnect-matched,
    g-signal-handlers-destroy,
    g-signal-handlers-block-matched,
    g-signal-handler-unblock,
    g-signal-handler-is-connected,
    g-signal-handler-find,
    g-signal-handler-disconnect,
    g-signal-handler-block,
    g-signal-get-invocation-hint,
    g-signal-emitv,
    g-signal-connect-closure-by-id,
    g-signal-connect-closure,
    g-signal-chain-from-overridden,
    g-signal-add-emission-hook,
    g-signal-accumulator-true-handled,
    g-signal-accumulator-first-wins,
    g-pointer-type-register-static,
    g-param-values-cmp,
    g-param-value-validate,
    g-param-value-set-default,
    g-param-value-defaults,
    g-param-value-convert,
    g-param-type-register-static,
    g-gtype-get-type,
    g-flags-register-static,
    g-flags-complete-type-info,
    g-enum-register-static,
    g-enum-complete-type-info,
    g-boxed-free,
    g-_value--data--union-v-pointer-setter,
    g-_value--data--union-v-pointer,
    g-_value--data--union-v-double-setter,
    g-_value--data--union-v-double,
    g-_value--data--union-v-float-setter,
    g-_value--data--union-v-float,
    g-_value--data--union-v-uint64-setter,
    g-_value--data--union-v-uint64,
    g-_value--data--union-v-int64-setter,
    g-_value--data--union-v-int64,
    g-_value--data--union-v-ulong-setter,
    g-_value--data--union-v-ulong,
    g-_value--data--union-v-long-setter,
    g-_value--data--union-v-long,
    g-_value--data--union-v-uint-setter,
    g-_value--data--union-v-uint,
    g-_value--data--union-v-int-setter,
    g-_value--data--union-v-int,
    <G_Value--data--union>,
    <_G_Value--data--union>,
    <GWeakRef>,
    g-value-array-sort-with-data,
    g-value-array-remove,
    g-value-array-prepend,
    g-value-array-insert,
    g-value-array-get-nth,
    g-value-array-free,
    g-value-array-copy,
    g-value-array-append,
    g-value-array-new,
    g-value-array-n-prealloced,
    g-value-array-values-setter,
    g-value-array-values,
    g-value-array-n-values-setter,
    g-value-array-n-values,
    <GValueArray>,
    g-value-type-transformable,
    g-value-type-compatible,
    g-value-unset,
    g-value-transform,
    g-value-take-variant,
    g-value-take-string,
    g-value-take-boxed,
    g-value-set-variant,
    g-value-set-ulong,
    g-value-set-uint64,
    g-value-set-uint,
    g-value-set-uchar,
    g-value-set-string-take-ownership,
    g-value-set-string,
    g-value-set-static-string,
    g-value-set-static-boxed,
    g-value-set-schar,
    g-value-set-pointer,
    g-value-set-param,
    g-value-set-object,
    g-value-set-long,
    g-value-set-int64,
    g-value-set-int,
    g-value-set-instance,
    g-value-set-gtype,
    g-value-set-float,
    g-value-set-flags,
    g-value-set-enum,
    g-value-set-double,
    g-value-set-char,
    g-value-set-boxed-take-ownership,
    g-value-set-boxed,
    g-value-set-boolean,
    g-value-reset,
    g-value-peek-pointer,
    g-value-init,
    g-value-get-variant,
    g-value-get-ulong,
    g-value-get-uint64,
    g-value-get-uint,
    g-value-get-uchar,
    g-value-get-string,
    g-value-get-schar,
    g-value-get-pointer,
    g-value-get-param,
    g-value-get-object,
    g-value-get-long,
    g-value-get-int64,
    g-value-get-int,
    g-value-get-gtype,
    g-value-get-float,
    g-value-get-flags,
    g-value-get-enum,
    g-value-get-double,
    g-value-get-char,
    g-value-get-boxed,
    g-value-get-boolean,
    g-value-fits-pointer,
    g-value-dup-variant,
    g-value-dup-string,
    g-value-dup-object,
    g-value-copy,
    g-value-data-setter,
    g-value-data,
    g-value-g-type,
    <GValue>,
    $value-nocopy-contents,
    $value-collect-format-max-length,
    g-type-value-table-lcopy-value,
    g-type-value-table-lcopy-format-setter,
    g-type-value-table-lcopy-format,
    g-type-value-table-collect-value,
    g-type-value-table-collect-format-setter,
    g-type-value-table-collect-format,
    g-type-value-table-value-peek-pointer,
    g-type-value-table-value-copy,
    g-type-value-table-value-free,
    g-type-value-table-value-init,
    <GTypeValueTable>,
    g-type-query-instance-size-setter,
    g-type-query-instance-size,
    g-type-query-class-size-setter,
    g-type-query-class-size,
    g-type-query-type-name-setter,
    g-type-query-type-name,
    g-type-query-type-setter,
    g-type-query-type,
    <GTypeQuery>,
    g-type-plugin-class-complete-interface-info-setter,
    g-type-plugin-class-complete-interface-info,
    g-type-plugin-class-complete-type-info-setter,
    g-type-plugin-class-complete-type-info,
    g-type-plugin-class-unuse-plugin-setter,
    g-type-plugin-class-unuse-plugin,
    g-type-plugin-class-use-plugin-setter,
    g-type-plugin-class-use-plugin,
    g-type-plugin-class-base-iface,
    <GTypePluginClass>,
    g-type-plugin-use,
    g-type-plugin-unuse,
    g-type-plugin-complete-type-info,
    g-type-plugin-complete-interface-info,
    <GTypePlugin*>,
    <GTypePlugin>,
    g-type-module-class-reserved4,
    g-type-module-class-reserved3,
    g-type-module-class-reserved2,
    g-type-module-class-reserved1,
    g-type-module-class-unload,
    g-type-module-class-load,
    g-type-module-class-parent-class,
    <GTypeModuleClass>,
    g-type-module-use,
    g-type-module-unuse,
    g-type-module-set-name,
    g-type-module-register-type,
    g-type-module-register-flags,
    g-type-module-register-enum,
    g-type-module-add-interface,
    <GTypeModule*>,
    g-type-module-name,
    g-type-module-interface-infos,
    g-type-module-type-infos,
    g-type-module-use-count,
    g-type-module-parent-instance,
    <GTypeModule>,
    g-type-interface-prerequisites,
    g-type-interface-peek,
    g-type-interface-get-plugin,
    g-type-interface-add-prerequisite,
    g-type-interface-peek-parent,
    g-type-interface-g-instance-type,
    g-type-interface-g-type,
    <GTypeInterface>,
    g-type-instance-g-class,
    <GTypeInstance>,
    g-type-info-value-table-setter,
    g-type-info-value-table,
    g-type-info-instance-init-setter,
    g-type-info-instance-init,
    g-type-info-n-preallocs-setter,
    g-type-info-n-preallocs,
    g-type-info-instance-size-setter,
    g-type-info-instance-size,
    g-type-info-class-data-setter,
    g-type-info-class-data,
    g-type-info-class-finalize-setter,
    g-type-info-class-finalize,
    g-type-info-class-init-setter,
    g-type-info-class-init,
    g-type-info-base-finalize-setter,
    g-type-info-base-finalize,
    g-type-info-base-init-setter,
    g-type-info-base-init,
    g-type-info-class-size-setter,
    g-type-info-class-size,
    <GTypeInfo>,
    g-type-fundamental-info-type-flags-setter,
    g-type-fundamental-info-type-flags,
    <GTypeFundamentalInfo>,
    <GTypeFundamentalFlags*>,
    <GTypeFundamentalFlags>,
    $g-type-flag-deep-derivable,
    $g-type-flag-derivable,
    $g-type-flag-instantiatable,
    $g-type-flag-classed,
    <GTypeFlags*>,
    <GTypeFlags>,
    $g-type-flag-value-abstract,
    $g-type-flag-abstract,
    <GTypeDebugFlags*>,
    <GTypeDebugFlags>,
    $g-type-debug-mask,
    $g-type-debug-signals,
    $g-type-debug-objects,
    $g-type-debug-none,
    g-type-class-ref,
    g-type-class-peek-static,
    g-type-class-peek,
    g-type-class-add-private,
    g-type-class-unref,
    g-type-class-peek-parent,
    g-type-class-g-type,
    <GTypeClass>,
    g-type-c-value-v-pointer-setter,
    g-type-c-value-v-pointer,
    g-type-c-value-v-double-setter,
    g-type-c-value-v-double,
    g-type-c-value-v-int64-setter,
    g-type-c-value-v-int64,
    g-type-c-value-v-long-setter,
    g-type-c-value-v-long,
    g-type-c-value-v-int-setter,
    g-type-c-value-v-int,
    <GTypeCValue>,
    <_GTypeCValue>,
    $type-reserved-user-first,
    $type-reserved-glib-last,
    $type-reserved-glib-first,
    $type-reserved-bse-last,
    $type-reserved-bse-first,
    $type-fundamental-shift,
    $type-fundamental-max,
    g-signal-query-param-types-setter,
    g-signal-query-param-types,
    g-signal-query-n-params-setter,
    g-signal-query-n-params,
    g-signal-query-return-type-setter,
    g-signal-query-return-type,
    g-signal-query-signal-flags-setter,
    g-signal-query-signal-flags,
    g-signal-query-itype-setter,
    g-signal-query-itype,
    g-signal-query-signal-name-setter,
    g-signal-query-signal-name,
    g-signal-query-signal-id-setter,
    g-signal-query-signal-id,
    <GSignalQuery>,
    <GSignalMatchType*>,
    <GSignalMatchType>,
    $g-signal-match-unblocked,
    $g-signal-match-data,
    $g-signal-match-func,
    $g-signal-match-closure,
    $g-signal-match-detail,
    $g-signal-match-id,
    g-signal-invocation-hint-run-type-setter,
    g-signal-invocation-hint-run-type,
    g-signal-invocation-hint-detail-setter,
    g-signal-invocation-hint-detail,
    g-signal-invocation-hint-signal-id-setter,
    g-signal-invocation-hint-signal-id,
    <GSignalInvocationHint>,
    <GSignalFlags*>,
    <GSignalFlags>,
    $g-signal-deprecated,
    $g-signal-must-collect,
    $g-signal-no-hooks,
    $g-signal-action,
    $g-signal-detailed,
    $g-signal-no-recurse,
    $g-signal-run-cleanup,
    $g-signal-run-last,
    $g-signal-run-first,
    $signal-match-mask,
    $signal-flags-mask,
    g-parameter-value-setter,
    g-parameter-value,
    g-parameter-name-setter,
    g-parameter-name,
    <GParameter>,
    <GParamSpecVariant*>,
    g-param-spec-variant-padding,
    g-param-spec-variant-default-value,
    g-param-spec-variant-type,
    g-param-spec-variant-parent-instance,
    <GParamSpecVariant>,
    <GParamSpecValueArray*>,
    g-param-spec-value-array-fixed-n-elements,
    g-param-spec-value-array-element-spec,
    g-param-spec-value-array-parent-instance,
    <GParamSpecValueArray>,
    <GParamSpecUnichar*>,
    g-param-spec-unichar-default-value,
    g-param-spec-unichar-parent-instance,
    <GParamSpecUnichar>,
    <GParamSpecULong*>,
    g-param-spec-u-long-default-value,
    g-param-spec-u-long-maximum,
    g-param-spec-u-long-minimum,
    g-param-spec-u-long-parent-instance,
    <GParamSpecULong>,
    <GParamSpecUInt64*>,
    g-param-spec-u-int64-default-value,
    g-param-spec-u-int64-maximum,
    g-param-spec-u-int64-minimum,
    g-param-spec-u-int64-parent-instance,
    <GParamSpecUInt64>,
    <GParamSpecUInt*>,
    g-param-spec-u-int-default-value,
    g-param-spec-u-int-maximum,
    g-param-spec-u-int-minimum,
    g-param-spec-u-int-parent-instance,
    <GParamSpecUInt>,
    <GParamSpecUChar*>,
    g-param-spec-u-char-default-value,
    g-param-spec-u-char-maximum,
    g-param-spec-u-char-minimum,
    g-param-spec-u-char-parent-instance,
    <GParamSpecUChar>,
    g-param-spec-type-info-values-cmp,
    g-param-spec-type-info-value-validate,
    g-param-spec-type-info-value-set-default,
    g-param-spec-type-info-finalize,
    g-param-spec-type-info-value-type-setter,
    g-param-spec-type-info-value-type,
    g-param-spec-type-info-instance-init,
    g-param-spec-type-info-n-preallocs-setter,
    g-param-spec-type-info-n-preallocs,
    g-param-spec-type-info-instance-size-setter,
    g-param-spec-type-info-instance-size,
    <GParamSpecTypeInfo>,
    <GParamSpecString*>,
    g-param-spec-string-ensure-non-null,
    g-param-spec-string-null-fold-if-empty,
    g-param-spec-string-substitutor,
    g-param-spec-string-cset-nth,
    g-param-spec-string-cset-first,
    g-param-spec-string-default-value,
    g-param-spec-string-parent-instance,
    <GParamSpecString>,
    g-param-spec-pool-new,
    g-param-spec-pool-remove,
    g-param-spec-pool-lookup,
    g-param-spec-pool-list-owned,
    g-param-spec-pool-list,
    g-param-spec-pool-insert,
    <GParamSpecPool>,
    <GParamSpecPointer*>,
    g-param-spec-pointer-parent-instance,
    <GParamSpecPointer>,
    <GParamSpecParam*>,
    g-param-spec-param-parent-instance,
    <GParamSpecParam>,
    <GParamSpecOverride*>,
    g-param-spec-override-overridden,
    g-param-spec-override-parent-instance,
    <GParamSpecOverride>,
    <GParamSpecObject*>,
    g-param-spec-object-parent-instance,
    <GParamSpecObject>,
    <GParamSpecLong*>,
    g-param-spec-long-default-value,
    g-param-spec-long-maximum,
    g-param-spec-long-minimum,
    g-param-spec-long-parent-instance,
    <GParamSpecLong>,
    <GParamSpecInt64*>,
    g-param-spec-int64-default-value,
    g-param-spec-int64-maximum,
    g-param-spec-int64-minimum,
    g-param-spec-int64-parent-instance,
    <GParamSpecInt64>,
    <GParamSpecInt*>,
    g-param-spec-int-default-value,
    g-param-spec-int-maximum,
    g-param-spec-int-minimum,
    g-param-spec-int-parent-instance,
    <GParamSpecInt>,
    <GParamSpecGType*>,
    g-param-spec-g-type-is-a-type,
    g-param-spec-g-type-parent-instance,
    <GParamSpecGType>,
    <GParamSpecFloat*>,
    g-param-spec-float-epsilon,
    g-param-spec-float-default-value,
    g-param-spec-float-maximum,
    g-param-spec-float-minimum,
    g-param-spec-float-parent-instance,
    <GParamSpecFloat>,
    <GParamSpecFlags*>,
    g-param-spec-flags-default-value,
    g-param-spec-flags-flags-class,
    g-param-spec-flags-parent-instance,
    <GParamSpecFlags>,
    <GParamSpecEnum*>,
    g-param-spec-enum-default-value,
    g-param-spec-enum-enum-class,
    g-param-spec-enum-parent-instance,
    <GParamSpecEnum>,
    <GParamSpecDouble*>,
    g-param-spec-double-epsilon,
    g-param-spec-double-default-value,
    g-param-spec-double-maximum,
    g-param-spec-double-minimum,
    g-param-spec-double-parent-instance,
    <GParamSpecDouble>,
    g-param-spec-class-dummy,
    g-param-spec-class-values-cmp,
    g-param-spec-class-value-validate,
    g-param-spec-class-value-set-default,
    g-param-spec-class-finalize,
    g-param-spec-class-value-type,
    g-param-spec-class-g-type-class,
    <GParamSpecClass>,
    <GParamSpecChar*>,
    g-param-spec-char-default-value,
    g-param-spec-char-maximum,
    g-param-spec-char-minimum,
    g-param-spec-char-parent-instance,
    <GParamSpecChar>,
    <GParamSpecBoxed*>,
    g-param-spec-boxed-parent-instance,
    <GParamSpecBoxed>,
    <GParamSpecBoolean*>,
    g-param-spec-boolean-default-value,
    g-param-spec-boolean-parent-instance,
    <GParamSpecBoolean>,
    g-param-spec-steal-qdata,
    g-param-spec-sink,
    g-param-spec-set-qdata,
    g-param-spec-get-redirect-target,
    g-param-spec-get-qdata,
    g-param-spec-get-nick,
    g-param-spec-get-name,
    g-param-spec-get-blurb,
    <GParamSpec*>,
    g-param-spec-param-id,
    g-param-spec-ref-count,
    g-param-spec-qdata,
    g-param-spec-_blurb,
    g-param-spec-_nick,
    g-param-spec-owner-type,
    g-param-spec-value-type,
    g-param-spec-flags,
    g-param-spec-name,
    g-param-spec-g-type-instance,
    <GParamSpec>,
    <GParamFlags*>,
    <GParamFlags>,
    $g-param-deprecated,
    $g-param-static-blurb,
    $g-param-static-nick,
    $g-param-private,
    $g-param-static-name,
    $g-param-lax-validation,
    $g-param-construct-only,
    $g-param-construct,
    $g-param-writable,
    $g-param-readable,
    $param-user-shift,
    $param-static-strings,
    $param-readwrite,
    $param-mask,
    g-object-construct-param-value-setter,
    g-object-construct-param-value,
    g-object-construct-param-pspec-setter,
    g-object-construct-param-pspec,
    <GObjectConstructParam>,
    g-object-class-override-property,
    g-object-class-list-properties,
    g-object-class-install-property,
    g-object-class-install-properties,
    g-object-class-find-property,
    g-object-class-pdummy,
    g-object-class-flags,
    g-object-class-constructed,
    g-object-class-notify,
    g-object-class-dispatch-properties-changed,
    g-object-class-finalize,
    g-object-class-dispose,
    g-object-class-get-property,
    g-object-class-set-property,
    g-object-class-constructor,
    g-object-class-construct-properties,
    g-object-class-g-type-class,
    <GObjectClass>,
    g-object-watch-closure,
    g-object-unref,
    g-object-thaw-notify,
    g-object-steal-qdata,
    g-object-steal-data,
    g-object-set-property,
    g-object-set-data,
    g-object-run-dispose,
    g-object-ref-sink,
    g-object-ref,
    g-object-notify-by-pspec,
    g-object-notify,
    g-object-is-floating,
    g-object-get-qdata,
    g-object-get-property,
    g-object-get-data,
    g-object-freeze-notify,
    g-object-force-floating,
    g-object-bind-property-with-closures,
    g-object-bind-property,
    g-object-interface-list-properties,
    g-object-interface-install-property,
    g-object-interface-find-property,
    g-object-compat-control,
    g-object-newv,
    <GObject*>,
    g-object-qdata,
    g-object-ref-count,
    g-object-g-type-instance,
    <GObject>,
    g-interface-info-interface-data-setter,
    g-interface-info-interface-data,
    g-interface-info-interface-finalize-setter,
    g-interface-info-interface-finalize,
    g-interface-info-interface-init-setter,
    g-interface-info-interface-init,
    <GInterfaceInfo>,
    g-initially-unowned-class-pdummy,
    g-initially-unowned-class-flags,
    g-initially-unowned-class-constructed,
    g-initially-unowned-class-notify,
    g-initially-unowned-class-dispatch-properties-changed,
    g-initially-unowned-class-finalize,
    g-initially-unowned-class-dispose,
    g-initially-unowned-class-get-property,
    g-initially-unowned-class-set-property,
    g-initially-unowned-class-constructor,
    g-initially-unowned-class-construct-properties,
    g-initially-unowned-class-g-type-class,
    <GInitiallyUnownedClass>,
    <GInitiallyUnowned*>,
    g-initially-unowned-qdata,
    g-initially-unowned-ref-count,
    g-initially-unowned-g-type-instance,
    <GInitiallyUnowned>,
    g-flags-value-value-nick-setter,
    g-flags-value-value-nick,
    g-flags-value-value-name-setter,
    g-flags-value-value-name,
    g-flags-value-value-setter,
    g-flags-value-value,
    <GFlagsValue>,
    g-flags-class-values-setter,
    g-flags-class-values,
    g-flags-class-n-values-setter,
    g-flags-class-n-values,
    g-flags-class-mask-setter,
    g-flags-class-mask,
    g-flags-class-g-type-class-setter,
    g-flags-class-g-type-class,
    <GFlagsClass>,
    g-enum-value-value-nick-setter,
    g-enum-value-value-nick,
    g-enum-value-value-name-setter,
    g-enum-value-value-name,
    g-enum-value-value-setter,
    g-enum-value-value,
    <GEnumValue>,
    g-enum-class-values-setter,
    g-enum-class-values,
    g-enum-class-n-values-setter,
    g-enum-class-n-values,
    g-enum-class-maximum-setter,
    g-enum-class-maximum,
    g-enum-class-minimum-setter,
    g-enum-class-minimum,
    g-enum-class-g-type-class-setter,
    g-enum-class-g-type-class,
    <GEnumClass>,
    <GConnectFlags*>,
    <GConnectFlags>,
    $g-connect-swapped,
    $g-connect-after,
    g-closure-notify-data-notify-setter,
    g-closure-notify-data-notify,
    g-closure-notify-data-data-setter,
    g-closure-notify-data-data,
    <GClosureNotifyData>,
    g-closure-unref,
    g-closure-sink,
    g-closure-ref,
    g-closure-invoke,
    g-closure-invalidate,
    g-closure-new-simple,
    g-closure-new-object,
    g-closure-notifiers,
    g-closure-data,
    g-closure-marshal,
    g-closure-is-invalid-setter,
    g-closure-is-invalid,
    g-closure-in-marshal-setter,
    g-closure-in-marshal,
    g-closure-derivative-flag,
    g-closure-floating,
    g-closure-in-inotify,
    g-closure-n-inotifiers,
    g-closure-n-fnotifiers,
    g-closure-n-guards,
    g-closure-meta-marshal-nouse,
    g-closure-ref-count,
    <GClosure>,
    g-cclosure-marshal-generic,
    g-cclosure-marshal-void--void,
    g-cclosure-marshal-void--variant,
    g-cclosure-marshal-void--ulong,
    g-cclosure-marshal-void--uint-pointer,
    g-cclosure-marshal-void--uint,
    g-cclosure-marshal-void--uchar,
    g-cclosure-marshal-void--string,
    g-cclosure-marshal-void--pointer,
    g-cclosure-marshal-void--param,
    g-cclosure-marshal-void--object,
    g-cclosure-marshal-void--long,
    g-cclosure-marshal-void--int,
    g-cclosure-marshal-void--float,
    g-cclosure-marshal-void--flags,
    g-cclosure-marshal-void--enum,
    g-cclosure-marshal-void--double,
    g-cclosure-marshal-void--char,
    g-cclosure-marshal-void--boxed,
    g-cclosure-marshal-void--boolean,
    g-cclosure-marshal-string--object-pointer,
    g-cclosure-marshal-boolean--flags,
    g-cclosure-marshal-boolean--boxed-boxed,
    g-c-closure-callback-setter,
    g-c-closure-callback,
    g-c-closure-closure-setter,
    g-c-closure-closure,
    <GCClosure>,
    <GBindingFlags*>,
    <GBindingFlags>,
    $g-binding-invert-boolean,
    $g-binding-sync-create,
    $g-binding-bidirectional,
    $g-binding-default,
    g-binding-get-target-property,
    g-binding-get-target,
    g-binding-get-source-property,
    g-binding-get-source,
    g-binding-get-flags,
    <GBinding*>,
    <GBinding>;
end module;

define module gobject-glue
  use common-dylan, exclude: { format-to-string };
  use c-ffi;
  use format;
  use standard-io;
  use dylan;
  use finalization;
  use dylan-primitives;
  use dylan-extensions, import: { debug-name, integer-as-raw, raw-as-integer };

  use glib;
  use gobject;

  export
    <GType>,
    <GType*>,
    $G-TYPE-INVALID,
    $G-TYPE-NONE,
    $G-TYPE-CHAR,
    $G-TYPE-UCHAR,
    $G-TYPE-BOOLEAN,
    $G-TYPE-INT,
    $G-TYPE-UINT,
    $G-TYPE-LONG,
    $G-TYPE-ULONG,
    $G-TYPE-INT64,
    $G-TYPE-UINT64,
    $G-TYPE-ENUM,
    $G-TYPE-FLAGS,
    $G-TYPE-FLOAT,
    $G-TYPE-DOUBLE,
    $G-TYPE-STRING,
    $G-TYPE-POINTER,
    $G-TYPE-BOXED,
    $G-TYPE-PARAM,
    $G-TYPE-OBJECT;

  export \with-gdk-lock,
    g-type-from-instance,
    g-signal-connect,
    g-value-nullify,
    g-value-set-value,
    g-value-to-dylan,
    all-subclasses,
    g-value-to-dylan-helper,
    property-setter-definer,
    property-getter-definer;
end module;

define module gobject-properties
  use gobject;
  use gobject-glue;

  export
    @target-property-setter,
    @target-property,
    @target-setter,
    @target,
    @source-property-setter,
    @source-property,
    @source-setter,
    @source,
    @flags-setter,
    @flags;
end module;
