[glibmm/glibmm-gir-gmmproc] gmmproc: simple records parser implementation added



commit dce7a844e48a582e42eb2b60eef5c1f2527540ac
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Mon Dec 1 00:09:23 2014 +0100

    gmmproc: simple records parser implementation added
    
        * glib/src/glib_functions.defs:
        * glib/src/gmodule_functions.defs:
        * gobject_functions.defs: updated def files, which are generated by
          a new parser.
        * glib/src/regex.hg: missing conversion definition added.
        * tools/defs_gen/gir-defs-generator.py: enabled generating methods
          (temporary disabled generating enums).
        * tools/defs_gen/girparser.py: added a few class for parsing xml gir
          file (mostly methods and records items).
        * tools/defs_gen/girprinter.py: method for printing records into a def
          file added.
        * tools/gen_scripts/gio_generate_methods.sh:
        * tools/gen_scripts/glib_generate_methods.sh: replaced old generator
          by a new one.
        * tools/m4/convert_glib.m4: minor, added missing conversion entry.

 glib/src/glib_functions.defs               |14018 +++++-----------------------
 glib/src/gmodule_functions.defs            |   72 +-
 glib/src/gobject_functions.defs            | 3970 +-------
 glib/src/regex.hg                          |    1 +
 tools/defs_gen/gir-defs-generator.py       |    3 +-
 tools/defs_gen/girparser.py                |  165 +-
 tools/defs_gen/girprinter.py               |   38 +
 tools/gen_scripts/gio_generate_methods.sh  |    5 +-
 tools/gen_scripts/glib_generate_methods.sh |   11 +-
 tools/m4/convert_glib.m4                   |    1 +
 10 files changed, 3003 insertions(+), 15281 deletions(-)
---
diff --git a/glib/src/glib_functions.defs b/glib/src/glib_functions.defs
index f1ed7d8..3d55e45 100644
--- a/glib/src/glib_functions.defs
+++ b/glib/src/glib_functions.defs
@@ -1,1538 +1,31 @@
-;; -*- scheme -*-
-; object definitions ...
-;; Enumerations and flags ...
-
-(define-enum FileError
-  (in-module "GBookmark")
-  (c-name "GBookmarkFileError")
-  (gtype-id "G_TYPE_BOOKMARK_FILE_ERROR")
-  (values
-    '("invalid-uri" "G_BOOKMARK_FILE_ERROR_INVALID_URI")
-    '("invalid-value" "G_BOOKMARK_FILE_ERROR_INVALID_VALUE")
-    '("app-not-registered" "G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED")
-    '("uri-not-found" "G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND")
-    '("read" "G_BOOKMARK_FILE_ERROR_READ")
-    '("unknown-encoding" "G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING")
-    '("write" "G_BOOKMARK_FILE_ERROR_WRITE")
-    '("file-not-found" "G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND")
-  )
-)
-
-(define-flags ArrayFlags
-  (in-module "GBSearch")
-  (c-name "GBSearchArrayFlags")
-  (gtype-id "G_TYPE_B_SEARCH_ARRAY_FLAGS")
-  (values
-    '("align-power2" "G_BSEARCH_ARRAY_ALIGN_POWER2")
-    '("auto-shrink" "G_BSEARCH_ARRAY_AUTO_SHRINK")
-  )
-)
-
-(define-enum Type
-  (in-module "GChecksum")
-  (c-name "GChecksumType")
-  (gtype-id "G_TYPE_CHECKSUM_TYPE")
-  (values
-    '("md5" "G_CHECKSUM_MD5")
-    '("sha1" "G_CHECKSUM_SHA1")
-    '("sha256" "G_CHECKSUM_SHA256")
-    '("sha512" "G_CHECKSUM_SHA512")
-  )
-)
-
-(define-enum Error
-  (in-module "GConvert")
-  (c-name "GConvertError")
-  (gtype-id "G_TYPE_CONVERT_ERROR")
-  (values
-    '("no-conversion" "G_CONVERT_ERROR_NO_CONVERSION")
-    '("illegal-sequence" "G_CONVERT_ERROR_ILLEGAL_SEQUENCE")
-    '("failed" "G_CONVERT_ERROR_FAILED")
-    '("partial-input" "G_CONVERT_ERROR_PARTIAL_INPUT")
-    '("bad-uri" "G_CONVERT_ERROR_BAD_URI")
-    '("not-absolute-path" "G_CONVERT_ERROR_NOT_ABSOLUTE_PATH")
-    '("no-memory" "G_CONVERT_ERROR_NO_MEMORY")
-  )
-)
-
-(define-enum DMY
-  (in-module "GDate")
-  (c-name "GDateDMY")
-  (gtype-id "G_TYPE_DATE_DMY")
-  (values
-    '("day" "G_DATE_DAY")
-    '("month" "G_DATE_MONTH")
-    '("year" "G_DATE_YEAR")
-  )
-)
-
-(define-enum Weekday
-  (in-module "GDate")
-  (c-name "GDateWeekday")
-  (gtype-id "G_TYPE_DATE_WEEKDAY")
-  (values
-    '("bad-weekday" "G_DATE_BAD_WEEKDAY")
-    '("monday" "G_DATE_MONDAY")
-    '("tuesday" "G_DATE_TUESDAY")
-    '("wednesday" "G_DATE_WEDNESDAY")
-    '("thursday" "G_DATE_THURSDAY")
-    '("friday" "G_DATE_FRIDAY")
-    '("saturday" "G_DATE_SATURDAY")
-    '("sunday" "G_DATE_SUNDAY")
-  )
-)
-
-(define-enum Month
-  (in-module "GDate")
-  (c-name "GDateMonth")
-  (gtype-id "G_TYPE_DATE_MONTH")
-  (values
-    '("bad-month" "G_DATE_BAD_MONTH")
-    '("january" "G_DATE_JANUARY")
-    '("february" "G_DATE_FEBRUARY")
-    '("march" "G_DATE_MARCH")
-    '("april" "G_DATE_APRIL")
-    '("may" "G_DATE_MAY")
-    '("june" "G_DATE_JUNE")
-    '("july" "G_DATE_JULY")
-    '("august" "G_DATE_AUGUST")
-    '("september" "G_DATE_SEPTEMBER")
-    '("october" "G_DATE_OCTOBER")
-    '("november" "G_DATE_NOVEMBER")
-    '("december" "G_DATE_DECEMBER")
-  )
-)
-
-(define-enum Error
-  (in-module "GFile")
-  (c-name "GFileError")
-  (gtype-id "G_TYPE_FILE_ERROR")
-  (values
-    '("exist" "G_FILE_ERROR_EXIST")
-    '("isdir" "G_FILE_ERROR_ISDIR")
-    '("acces" "G_FILE_ERROR_ACCES")
-    '("nametoolong" "G_FILE_ERROR_NAMETOOLONG")
-    '("noent" "G_FILE_ERROR_NOENT")
-    '("notdir" "G_FILE_ERROR_NOTDIR")
-    '("nxio" "G_FILE_ERROR_NXIO")
-    '("nodev" "G_FILE_ERROR_NODEV")
-    '("rofs" "G_FILE_ERROR_ROFS")
-    '("txtbsy" "G_FILE_ERROR_TXTBSY")
-    '("fault" "G_FILE_ERROR_FAULT")
-    '("loop" "G_FILE_ERROR_LOOP")
-    '("nospc" "G_FILE_ERROR_NOSPC")
-    '("nomem" "G_FILE_ERROR_NOMEM")
-    '("mfile" "G_FILE_ERROR_MFILE")
-    '("nfile" "G_FILE_ERROR_NFILE")
-    '("badf" "G_FILE_ERROR_BADF")
-    '("inval" "G_FILE_ERROR_INVAL")
-    '("pipe" "G_FILE_ERROR_PIPE")
-    '("again" "G_FILE_ERROR_AGAIN")
-    '("intr" "G_FILE_ERROR_INTR")
-    '("io" "G_FILE_ERROR_IO")
-    '("perm" "G_FILE_ERROR_PERM")
-    '("nosys" "G_FILE_ERROR_NOSYS")
-    '("failed" "G_FILE_ERROR_FAILED")
-  )
-)
-
-(define-flags Test
-  (in-module "GFile")
-  (c-name "GFileTest")
-  (gtype-id "G_TYPE_FILE_TEST")
-  (values
-    '("is-regular" "G_FILE_TEST_IS_REGULAR")
-    '("is-symlink" "G_FILE_TEST_IS_SYMLINK")
-    '("is-dir" "G_FILE_TEST_IS_DIR")
-    '("is-executable" "G_FILE_TEST_IS_EXECUTABLE")
-    '("exists" "G_FILE_TEST_EXISTS")
-  )
-)
-
-(define-flags FlagMask
-  (in-module "GHook")
-  (c-name "GHookFlagMask")
-  (gtype-id "G_TYPE_HOOK_FLAG_MASK")
-  (values
-    '("active" "G_HOOK_FLAG_ACTIVE")
-    '("in-call" "G_HOOK_FLAG_IN_CALL")
-    '("mask" "G_HOOK_FLAG_MASK")
-  )
-)
-
-(define-enum r
-  (in-module "GIOErro")
-  (c-name "GIOError")
-  (gtype-id "G_TYPE_IO_ERROR")
-  (values
-    '("none" "G_IO_ERROR_NONE")
-    '("again" "G_IO_ERROR_AGAIN")
-    '("inval" "G_IO_ERROR_INVAL")
-    '("unknown" "G_IO_ERROR_UNKNOWN")
-  )
-)
-
-(define-enum Error
-  (in-module "GIOChannel")
-  (c-name "GIOChannelError")
-  (gtype-id "G_TYPE_IO_CHANNEL_ERROR")
-  (values
-    '("fbig" "G_IO_CHANNEL_ERROR_FBIG")
-    '("inval" "G_IO_CHANNEL_ERROR_INVAL")
-    '("io" "G_IO_CHANNEL_ERROR_IO")
-    '("isdir" "G_IO_CHANNEL_ERROR_ISDIR")
-    '("nospc" "G_IO_CHANNEL_ERROR_NOSPC")
-    '("nxio" "G_IO_CHANNEL_ERROR_NXIO")
-    '("overflow" "G_IO_CHANNEL_ERROR_OVERFLOW")
-    '("pipe" "G_IO_CHANNEL_ERROR_PIPE")
-    '("failed" "G_IO_CHANNEL_ERROR_FAILED")
-  )
-)
-
-(define-enum s
-  (in-module "GIOStatu")
-  (c-name "GIOStatus")
-  (gtype-id "G_TYPE_IO_STATUS")
-  (values
-    '("error" "G_IO_STATUS_ERROR")
-    '("normal" "G_IO_STATUS_NORMAL")
-    '("eof" "G_IO_STATUS_EOF")
-    '("again" "G_IO_STATUS_AGAIN")
-  )
-)
-
-(define-enum Type
-  (in-module "GSeek")
-  (c-name "GSeekType")
-  (gtype-id "G_TYPE_SEEK_TYPE")
-  (values
-    '("cur" "G_SEEK_CUR")
-    '("set" "G_SEEK_SET")
-    '("end" "G_SEEK_END")
-  )
-)
-
-(define-flags s
-  (in-module "GIOFlag")
-  (c-name "GIOFlags")
-  (gtype-id "G_TYPE_IO_FLAGS")
-  (values
-    '("append" "G_IO_FLAG_APPEND")
-    '("nonblock" "G_IO_FLAG_NONBLOCK")
-    '("is-readable" "G_IO_FLAG_IS_READABLE")
-    '("is-writable" "G_IO_FLAG_IS_WRITABLE")
-    '("is-writeable" "G_IO_FLAG_IS_WRITEABLE")
-    '("is-seekable" "G_IO_FLAG_IS_SEEKABLE")
-    '("mask" "G_IO_FLAG_MASK")
-    '("get-mask" "G_IO_FLAG_GET_MASK")
-    '("set-mask" "G_IO_FLAG_SET_MASK")
-  )
-)
-
-(define-enum FileError
-  (in-module "GKey")
-  (c-name "GKeyFileError")
-  (gtype-id "G_TYPE_KEY_FILE_ERROR")
-  (values
-    '("unknown-encoding" "G_KEY_FILE_ERROR_UNKNOWN_ENCODING")
-    '("parse" "G_KEY_FILE_ERROR_PARSE")
-    '("not-found" "G_KEY_FILE_ERROR_NOT_FOUND")
-    '("key-not-found" "G_KEY_FILE_ERROR_KEY_NOT_FOUND")
-    '("group-not-found" "G_KEY_FILE_ERROR_GROUP_NOT_FOUND")
-    '("invalid-value" "G_KEY_FILE_ERROR_INVALID_VALUE")
-  )
-)
-
-(define-flags FileFlags
-  (in-module "GKey")
-  (c-name "GKeyFileFlags")
-  (gtype-id "G_TYPE_KEY_FILE_FLAGS")
-  (values
-    '("none" "G_KEY_FILE_NONE")
-    '("keep-comments" "G_KEY_FILE_KEEP_COMMENTS")
-    '("keep-translations" "G_KEY_FILE_KEEP_TRANSLATIONS")
-  )
-)
-
-(define-enum n
-  (in-module "GIOConditio")
-  (c-name "GIOCondition")
-  (gtype-id "G_TYPE_IO_CONDITION")
-  (values
-    '("in" "G_IO_IN")
-    '("out" "G_IO_OUT")
-    '("pri" "G_IO_PRI")
-    '("err" "G_IO_ERR")
-    '("hup" "G_IO_HUP")
-    '("nval" "G_IO_NVAL")
-  )
-)
-
-(define-enum Error
-  (in-module "GMarkup")
-  (c-name "GMarkupError")
-  (gtype-id "G_TYPE_MARKUP_ERROR")
-  (values
-    '("bad-utf8" "G_MARKUP_ERROR_BAD_UTF8")
-    '("empty" "G_MARKUP_ERROR_EMPTY")
-    '("parse" "G_MARKUP_ERROR_PARSE")
-    '("unknown-element" "G_MARKUP_ERROR_UNKNOWN_ELEMENT")
-    '("unknown-attribute" "G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE")
-    '("invalid-content" "G_MARKUP_ERROR_INVALID_CONTENT")
-    '("missing-attribute" "G_MARKUP_ERROR_MISSING_ATTRIBUTE")
-  )
-)
-
-(define-flags ParseFlags
-  (in-module "GMarkup")
-  (c-name "GMarkupParseFlags")
-  (gtype-id "G_TYPE_MARKUP_PARSE_FLAGS")
-  (values
-    '("do-not-use-this-unsupported-flag" "G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG")
-    '("treat-cdata-as-text" "G_MARKUP_TREAT_CDATA_AS_TEXT")
-    '("prefix-error-position" "G_MARKUP_PREFIX_ERROR_POSITION")
-    '("ignore-qualified" "G_MARKUP_IGNORE_QUALIFIED")
-  )
-)
-
-(define-flags CollectType
-  (in-module "GMarkup")
-  (c-name "GMarkupCollectType")
-  (gtype-id "G_TYPE_MARKUP_COLLECT_TYPE")
-  (values
-    '("invalid" "G_MARKUP_COLLECT_INVALID")
-    '("string" "G_MARKUP_COLLECT_STRING")
-    '("strdup" "G_MARKUP_COLLECT_STRDUP")
-    '("boolean" "G_MARKUP_COLLECT_BOOLEAN")
-    '("tristate" "G_MARKUP_COLLECT_TRISTATE")
-    '("optional" "G_MARKUP_COLLECT_OPTIONAL")
-  )
-)
-
-(define-flags LevelFlags
-  (in-module "GLog")
-  (c-name "GLogLevelFlags")
-  (gtype-id "G_TYPE_LOG_LEVEL_FLAGS")
-  (values
-    '("flag-recursion" "G_LOG_FLAG_RECURSION")
-    '("flag-fatal" "G_LOG_FLAG_FATAL")
-    '("level-error" "G_LOG_LEVEL_ERROR")
-    '("level-critical" "G_LOG_LEVEL_CRITICAL")
-    '("level-warning" "G_LOG_LEVEL_WARNING")
-    '("level-message" "G_LOG_LEVEL_MESSAGE")
-    '("level-info" "G_LOG_LEVEL_INFO")
-    '("level-debug" "G_LOG_LEVEL_DEBUG")
-    '("level-mask" "G_LOG_LEVEL_MASK")
-  )
-)
-
-(define-flags Flags
-  (in-module "GTraverse")
-  (c-name "GTraverseFlags")
-  (gtype-id "G_TYPE_TRAVERSE_FLAGS")
-  (values
-    '("leaves" "G_TRAVERSE_LEAVES")
-    '("non-leaves" "G_TRAVERSE_NON_LEAVES")
-    '("all" "G_TRAVERSE_ALL")
-    '("mask" "G_TRAVERSE_MASK")
-    '("leafs" "G_TRAVERSE_LEAFS")
-    '("non-leafs" "G_TRAVERSE_NON_LEAFS")
-  )
-)
-
-(define-enum Type
-  (in-module "GTraverse")
-  (c-name "GTraverseType")
-  (gtype-id "G_TYPE_TRAVERSE_TYPE")
-  (values
-    '("in-order" "G_IN_ORDER")
-    '("pre-order" "G_PRE_ORDER")
-    '("post-order" "G_POST_ORDER")
-    '("level-order" "G_LEVEL_ORDER")
-  )
-)
-
-(define-flags Flags
-  (in-module "GOption")
-  (c-name "GOptionFlags")
-  (gtype-id "G_TYPE_OPTION_FLAGS")
-  (values
-    '("none" "G_OPTION_FLAG_NONE")
-    '("hidden" "G_OPTION_FLAG_HIDDEN")
-    '("in-main" "G_OPTION_FLAG_IN_MAIN")
-    '("reverse" "G_OPTION_FLAG_REVERSE")
-    '("no-arg" "G_OPTION_FLAG_NO_ARG")
-    '("filename" "G_OPTION_FLAG_FILENAME")
-    '("optional-arg" "G_OPTION_FLAG_OPTIONAL_ARG")
-    '("noalias" "G_OPTION_FLAG_NOALIAS")
-  )
-)
-
-(define-enum Arg
-  (in-module "GOption")
-  (c-name "GOptionArg")
-  (gtype-id "G_TYPE_OPTION_ARG")
-  (values
-    '("none" "G_OPTION_ARG_NONE")
-    '("string" "G_OPTION_ARG_STRING")
-    '("int" "G_OPTION_ARG_INT")
-    '("callback" "G_OPTION_ARG_CALLBACK")
-    '("filename" "G_OPTION_ARG_FILENAME")
-    '("string-array" "G_OPTION_ARG_STRING_ARRAY")
-    '("filename-array" "G_OPTION_ARG_FILENAME_ARRAY")
-    '("double" "G_OPTION_ARG_DOUBLE")
-    '("int64" "G_OPTION_ARG_INT64")
-  )
-)
-
-(define-enum Error
-  (in-module "GOption")
-  (c-name "GOptionError")
-  (gtype-id "G_TYPE_OPTION_ERROR")
-  (values
-    '("unknown-option" "G_OPTION_ERROR_UNKNOWN_OPTION")
-    '("bad-value" "G_OPTION_ERROR_BAD_VALUE")
-    '("failed" "G_OPTION_ERROR_FAILED")
-  )
-)
-
-(define-enum Error
-  (in-module "GRegex")
-  (c-name "GRegexError")
-  (gtype-id "G_TYPE_REGEX_ERROR")
-  (values
-    '("compile" "G_REGEX_ERROR_COMPILE")
-    '("optimize" "G_REGEX_ERROR_OPTIMIZE")
-    '("replace" "G_REGEX_ERROR_REPLACE")
-    '("match" "G_REGEX_ERROR_MATCH")
-    '("internal" "G_REGEX_ERROR_INTERNAL")
-    '("stray-backslash" "G_REGEX_ERROR_STRAY_BACKSLASH")
-    '("missing-control-char" "G_REGEX_ERROR_MISSING_CONTROL_CHAR")
-    '("unrecognized-escape" "G_REGEX_ERROR_UNRECOGNIZED_ESCAPE")
-    '("quantifiers-out-of-order" "G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER")
-    '("quantifier-too-big" "G_REGEX_ERROR_QUANTIFIER_TOO_BIG")
-    '("unterminated-character-class" "G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS")
-    '("invalid-escape-in-character-class" "G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS")
-    '("range-out-of-order" "G_REGEX_ERROR_RANGE_OUT_OF_ORDER")
-    '("nothing-to-repeat" "G_REGEX_ERROR_NOTHING_TO_REPEAT")
-    '("unrecognized-character" "G_REGEX_ERROR_UNRECOGNIZED_CHARACTER")
-    '("posix-named-class-outside-class" "G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS")
-    '("unmatched-parenthesis" "G_REGEX_ERROR_UNMATCHED_PARENTHESIS")
-    '("inexistent-subpattern-reference" "G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE")
-    '("unterminated-comment" "G_REGEX_ERROR_UNTERMINATED_COMMENT")
-    '("expression-too-large" "G_REGEX_ERROR_EXPRESSION_TOO_LARGE")
-    '("memory-error" "G_REGEX_ERROR_MEMORY_ERROR")
-    '("variable-length-lookbehind" "G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND")
-    '("malformed-condition" "G_REGEX_ERROR_MALFORMED_CONDITION")
-    '("too-many-conditional-branches" "G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES")
-    '("assertion-expected" "G_REGEX_ERROR_ASSERTION_EXPECTED")
-    '("unknown-posix-class-name" "G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME")
-    '("posix-collating-elements-not-supported" "G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED")
-    '("hex-code-too-large" "G_REGEX_ERROR_HEX_CODE_TOO_LARGE")
-    '("invalid-condition" "G_REGEX_ERROR_INVALID_CONDITION")
-    '("single-byte-match-in-lookbehind" "G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND")
-    '("infinite-loop" "G_REGEX_ERROR_INFINITE_LOOP")
-    '("missing-subpattern-name-terminator" "G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR")
-    '("duplicate-subpattern-name" "G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME")
-    '("malformed-property" "G_REGEX_ERROR_MALFORMED_PROPERTY")
-    '("unknown-property" "G_REGEX_ERROR_UNKNOWN_PROPERTY")
-    '("subpattern-name-too-long" "G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG")
-    '("too-many-subpatterns" "G_REGEX_ERROR_TOO_MANY_SUBPATTERNS")
-    '("invalid-octal-value" "G_REGEX_ERROR_INVALID_OCTAL_VALUE")
-    '("too-many-branches-in-define" "G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE")
-    '("define-repetion" "G_REGEX_ERROR_DEFINE_REPETION")
-    '("inconsistent-newline-options" "G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS")
-    '("missing-back-reference" "G_REGEX_ERROR_MISSING_BACK_REFERENCE")
-    '("invalid-relative-reference" "G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE")
-    '("backtracking-control-verb-argument-forbidden" 
"G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN")
-    '("unknown-backtracking-control-verb" "G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB")
-    '("number-too-big" "G_REGEX_ERROR_NUMBER_TOO_BIG")
-    '("missing-subpattern-name" "G_REGEX_ERROR_MISSING_SUBPATTERN_NAME")
-    '("missing-digit" "G_REGEX_ERROR_MISSING_DIGIT")
-    '("invalid-data-character" "G_REGEX_ERROR_INVALID_DATA_CHARACTER")
-    '("extra-subpattern-name" "G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME")
-    '("backtracking-control-verb-argument-required" 
"G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED")
-    '("invalid-control-char" "G_REGEX_ERROR_INVALID_CONTROL_CHAR")
-    '("missing-name" "G_REGEX_ERROR_MISSING_NAME")
-    '("not-supported-in-class" "G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS")
-    '("too-many-forward-references" "G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES")
-    '("name-too-long" "G_REGEX_ERROR_NAME_TOO_LONG")
-    '("character-value-too-large" "G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE")
-  )
-)
-
-(define-flags CompileFlags
-  (in-module "GRegex")
-  (c-name "GRegexCompileFlags")
-  (gtype-id "G_TYPE_REGEX_COMPILE_FLAGS")
-  (values
-    '("caseless" "G_REGEX_CASELESS")
-    '("multiline" "G_REGEX_MULTILINE")
-    '("dotall" "G_REGEX_DOTALL")
-    '("extended" "G_REGEX_EXTENDED")
-    '("anchored" "G_REGEX_ANCHORED")
-    '("dollar-endonly" "G_REGEX_DOLLAR_ENDONLY")
-    '("ungreedy" "G_REGEX_UNGREEDY")
-    '("raw" "G_REGEX_RAW")
-    '("no-auto-capture" "G_REGEX_NO_AUTO_CAPTURE")
-    '("optimize" "G_REGEX_OPTIMIZE")
-    '("firstline" "G_REGEX_FIRSTLINE")
-    '("dupnames" "G_REGEX_DUPNAMES")
-    '("newline-cr" "G_REGEX_NEWLINE_CR")
-    '("newline-lf" "G_REGEX_NEWLINE_LF")
-    '("newline-crlf" "G_REGEX_NEWLINE_CRLF")
-    '("newline-anycrlf" "G_REGEX_NEWLINE_ANYCRLF")
-    '("bsr-anycrlf" "G_REGEX_BSR_ANYCRLF")
-    '("javascript-compat" "G_REGEX_JAVASCRIPT_COMPAT")
-  )
-)
-
-(define-flags MatchFlags
-  (in-module "GRegex")
-  (c-name "GRegexMatchFlags")
-  (gtype-id "G_TYPE_REGEX_MATCH_FLAGS")
-  (values
-    '("anchored" "G_REGEX_MATCH_ANCHORED")
-    '("notbol" "G_REGEX_MATCH_NOTBOL")
-    '("noteol" "G_REGEX_MATCH_NOTEOL")
-    '("notempty" "G_REGEX_MATCH_NOTEMPTY")
-    '("partial" "G_REGEX_MATCH_PARTIAL")
-    '("newline-cr" "G_REGEX_MATCH_NEWLINE_CR")
-    '("newline-lf" "G_REGEX_MATCH_NEWLINE_LF")
-    '("newline-crlf" "G_REGEX_MATCH_NEWLINE_CRLF")
-    '("newline-any" "G_REGEX_MATCH_NEWLINE_ANY")
-    '("newline-anycrlf" "G_REGEX_MATCH_NEWLINE_ANYCRLF")
-    '("bsr-anycrlf" "G_REGEX_MATCH_BSR_ANYCRLF")
-    '("bsr-any" "G_REGEX_MATCH_BSR_ANY")
-    '("partial-soft" "G_REGEX_MATCH_PARTIAL_SOFT")
-    '("partial-hard" "G_REGEX_MATCH_PARTIAL_HARD")
-    '("notempty-atstart" "G_REGEX_MATCH_NOTEMPTY_ATSTART")
-  )
-)
-
-(define-enum Type
-  (in-module "GError")
-  (c-name "GErrorType")
-  (gtype-id "G_TYPE_ERROR_TYPE")
-  (values
-    '("unknown" "G_ERR_UNKNOWN")
-    '("unexp-eof" "G_ERR_UNEXP_EOF")
-    '("unexp-eof-in-string" "G_ERR_UNEXP_EOF_IN_STRING")
-    '("unexp-eof-in-comment" "G_ERR_UNEXP_EOF_IN_COMMENT")
-    '("non-digit-in-const" "G_ERR_NON_DIGIT_IN_CONST")
-    '("digit-radix" "G_ERR_DIGIT_RADIX")
-    '("float-radix" "G_ERR_FLOAT_RADIX")
-    '("float-malformed" "G_ERR_FLOAT_MALFORMED")
-  )
-)
-
-(define-enum Error
-  (in-module "GShell")
-  (c-name "GShellError")
-  (gtype-id "G_TYPE_SHELL_ERROR")
-  (values
-    '("bad-quoting" "G_SHELL_ERROR_BAD_QUOTING")
-    '("empty-string" "G_SHELL_ERROR_EMPTY_STRING")
-    '("failed" "G_SHELL_ERROR_FAILED")
-  )
-)
-
-(define-enum Config
-  (in-module "GSlice")
-  (c-name "GSliceConfig")
-  (gtype-id "G_TYPE_SLICE_CONFIG")
-  (values
-    '("always-malloc" "G_SLICE_CONFIG_ALWAYS_MALLOC")
-    '("bypass-magazines" "G_SLICE_CONFIG_BYPASS_MAGAZINES")
-    '("working-set-msecs" "G_SLICE_CONFIG_WORKING_SET_MSECS")
-    '("color-increment" "G_SLICE_CONFIG_COLOR_INCREMENT")
-    '("chunk-sizes" "G_SLICE_CONFIG_CHUNK_SIZES")
-    '("contention-counter" "G_SLICE_CONFIG_CONTENTION_COUNTER")
-  )
-)
-
-(define-enum Error
-  (in-module "GSpawn")
-  (c-name "GSpawnError")
-  (gtype-id "G_TYPE_SPAWN_ERROR")
-  (values
-    '("fork" "G_SPAWN_ERROR_FORK")
-    '("read" "G_SPAWN_ERROR_READ")
-    '("chdir" "G_SPAWN_ERROR_CHDIR")
-    '("acces" "G_SPAWN_ERROR_ACCES")
-    '("perm" "G_SPAWN_ERROR_PERM")
-    '("too-big" "G_SPAWN_ERROR_TOO_BIG")
-    '("2big" "G_SPAWN_ERROR_2BIG")
-    '("noexec" "G_SPAWN_ERROR_NOEXEC")
-    '("nametoolong" "G_SPAWN_ERROR_NAMETOOLONG")
-    '("noent" "G_SPAWN_ERROR_NOENT")
-    '("nomem" "G_SPAWN_ERROR_NOMEM")
-    '("notdir" "G_SPAWN_ERROR_NOTDIR")
-    '("loop" "G_SPAWN_ERROR_LOOP")
-    '("txtbusy" "G_SPAWN_ERROR_TXTBUSY")
-    '("io" "G_SPAWN_ERROR_IO")
-    '("nfile" "G_SPAWN_ERROR_NFILE")
-    '("mfile" "G_SPAWN_ERROR_MFILE")
-    '("inval" "G_SPAWN_ERROR_INVAL")
-    '("isdir" "G_SPAWN_ERROR_ISDIR")
-    '("libbad" "G_SPAWN_ERROR_LIBBAD")
-    '("failed" "G_SPAWN_ERROR_FAILED")
-  )
-)
-
-(define-flags Flags
-  (in-module "GSpawn")
-  (c-name "GSpawnFlags")
-  (gtype-id "G_TYPE_SPAWN_FLAGS")
-  (values
-    '("default" "G_SPAWN_DEFAULT")
-    '("leave-descriptors-open" "G_SPAWN_LEAVE_DESCRIPTORS_OPEN")
-    '("do-not-reap-child" "G_SPAWN_DO_NOT_REAP_CHILD")
-    '("search-path" "G_SPAWN_SEARCH_PATH")
-    '("stdout-to-dev-null" "G_SPAWN_STDOUT_TO_DEV_NULL")
-    '("stderr-to-dev-null" "G_SPAWN_STDERR_TO_DEV_NULL")
-    '("child-inherits-stdin" "G_SPAWN_CHILD_INHERITS_STDIN")
-    '("file-and-argv-zero" "G_SPAWN_FILE_AND_ARGV_ZERO")
-    '("search-path-from-envp" "G_SPAWN_SEARCH_PATH_FROM_ENVP")
-    '("cloexec-pipes" "G_SPAWN_CLOEXEC_PIPES")
-  )
-)
-
-(define-flags Type
-  (in-module "GAscii")
-  (c-name "GAsciiType")
-  (gtype-id "G_TYPE_ASCII_TYPE")
-  (values
-    '("alnum" "G_ASCII_ALNUM")
-    '("alpha" "G_ASCII_ALPHA")
-    '("cntrl" "G_ASCII_CNTRL")
-    '("digit" "G_ASCII_DIGIT")
-    '("graph" "G_ASCII_GRAPH")
-    '("lower" "G_ASCII_LOWER")
-    '("print" "G_ASCII_PRINT")
-    '("punct" "G_ASCII_PUNCT")
-    '("space" "G_ASCII_SPACE")
-    '("upper" "G_ASCII_UPPER")
-    '("xdigit" "G_ASCII_XDIGIT")
-  )
-)
-
-(define-flags TrapFlags
-  (in-module "GTest")
-  (c-name "GTestTrapFlags")
-  (gtype-id "G_TYPE_TEST_TRAP_FLAGS")
-  (values
-    '("silence-stdout" "G_TEST_TRAP_SILENCE_STDOUT")
-    '("silence-stderr" "G_TEST_TRAP_SILENCE_STDERR")
-    '("inherit-stdin" "G_TEST_TRAP_INHERIT_STDIN")
-  )
-)
-
-(define-flags SubprocessFlags
-  (in-module "GTest")
-  (c-name "GTestSubprocessFlags")
-  (gtype-id "G_TYPE_TEST_SUBPROCESS_FLAGS")
-  (values
-    '("stdin" "G_TEST_SUBPROCESS_INHERIT_STDIN")
-    '("stdout" "G_TEST_SUBPROCESS_INHERIT_STDOUT")
-    '("stderr" "G_TEST_SUBPROCESS_INHERIT_STDERR")
-  )
-)
-
-(define-enum LogType
-  (in-module "GTest")
-  (c-name "GTestLogType")
-  (gtype-id "G_TYPE_TEST_LOG_TYPE")
-  (values
-    '("none" "G_TEST_LOG_NONE")
-    '("error" "G_TEST_LOG_ERROR")
-    '("start-binary" "G_TEST_LOG_START_BINARY")
-    '("list-case" "G_TEST_LOG_LIST_CASE")
-    '("skip-case" "G_TEST_LOG_SKIP_CASE")
-    '("start-case" "G_TEST_LOG_START_CASE")
-    '("stop-case" "G_TEST_LOG_STOP_CASE")
-    '("min-result" "G_TEST_LOG_MIN_RESULT")
-    '("max-result" "G_TEST_LOG_MAX_RESULT")
-    '("message" "G_TEST_LOG_MESSAGE")
-    '("start-suite" "G_TEST_LOG_START_SUITE")
-    '("stop-suite" "G_TEST_LOG_STOP_SUITE")
-  )
-)
-
-(define-enum FileType
-  (in-module "GTest")
-  (c-name "GTestFileType")
-  (gtype-id "G_TYPE_TEST_FILE_TYPE")
-  (values
-    '("dist" "G_TEST_DIST")
-    '("built" "G_TEST_BUILT")
-  )
-)
-
-(define-enum Error
-  (in-module "GThread")
-  (c-name "GThreadError")
-  (gtype-id "G_TYPE_THREAD_ERROR")
-  (values
-    '("again" "G_THREAD_ERROR_AGAIN")
-  )
-)
-
-(define-enum Status
-  (in-module "GOnce")
-  (c-name "GOnceStatus")
-  (gtype-id "G_TYPE_ONCE_STATUS")
-  (values
-    '("notcalled" "G_ONCE_STATUS_NOTCALLED")
-    '("progress" "G_ONCE_STATUS_PROGRESS")
-    '("ready" "G_ONCE_STATUS_READY")
-  )
-)
-
-(define-enum Type
-  (in-module "GTime")
-  (c-name "GTimeType")
-  (gtype-id "G_TYPE_TIME_TYPE")
-  (values
-    '("standard" "G_TIME_TYPE_STANDARD")
-    '("daylight" "G_TIME_TYPE_DAYLIGHT")
-    '("universal" "G_TIME_TYPE_UNIVERSAL")
-  )
-)
-
-(define-enum Type
-  (in-module "GUnicode")
-  (c-name "GUnicodeType")
-  (gtype-id "G_TYPE_UNICODE_TYPE")
-  (values
-    '("control" "G_UNICODE_CONTROL")
-    '("format" "G_UNICODE_FORMAT")
-    '("unassigned" "G_UNICODE_UNASSIGNED")
-    '("private-use" "G_UNICODE_PRIVATE_USE")
-    '("surrogate" "G_UNICODE_SURROGATE")
-    '("lowercase-letter" "G_UNICODE_LOWERCASE_LETTER")
-    '("modifier-letter" "G_UNICODE_MODIFIER_LETTER")
-    '("other-letter" "G_UNICODE_OTHER_LETTER")
-    '("titlecase-letter" "G_UNICODE_TITLECASE_LETTER")
-    '("uppercase-letter" "G_UNICODE_UPPERCASE_LETTER")
-    '("spacing-mark" "G_UNICODE_SPACING_MARK")
-    '("enclosing-mark" "G_UNICODE_ENCLOSING_MARK")
-    '("non-spacing-mark" "G_UNICODE_NON_SPACING_MARK")
-    '("decimal-number" "G_UNICODE_DECIMAL_NUMBER")
-    '("letter-number" "G_UNICODE_LETTER_NUMBER")
-    '("other-number" "G_UNICODE_OTHER_NUMBER")
-    '("connect-punctuation" "G_UNICODE_CONNECT_PUNCTUATION")
-    '("dash-punctuation" "G_UNICODE_DASH_PUNCTUATION")
-    '("close-punctuation" "G_UNICODE_CLOSE_PUNCTUATION")
-    '("final-punctuation" "G_UNICODE_FINAL_PUNCTUATION")
-    '("initial-punctuation" "G_UNICODE_INITIAL_PUNCTUATION")
-    '("other-punctuation" "G_UNICODE_OTHER_PUNCTUATION")
-    '("open-punctuation" "G_UNICODE_OPEN_PUNCTUATION")
-    '("currency-symbol" "G_UNICODE_CURRENCY_SYMBOL")
-    '("modifier-symbol" "G_UNICODE_MODIFIER_SYMBOL")
-    '("math-symbol" "G_UNICODE_MATH_SYMBOL")
-    '("other-symbol" "G_UNICODE_OTHER_SYMBOL")
-    '("line-separator" "G_UNICODE_LINE_SEPARATOR")
-    '("paragraph-separator" "G_UNICODE_PARAGRAPH_SEPARATOR")
-    '("space-separator" "G_UNICODE_SPACE_SEPARATOR")
-  )
-)
-
-(define-enum BreakType
-  (in-module "GUnicode")
-  (c-name "GUnicodeBreakType")
-  (gtype-id "G_TYPE_UNICODE_BREAK_TYPE")
-  (values
-    '("mandatory" "G_UNICODE_BREAK_MANDATORY")
-    '("carriage-return" "G_UNICODE_BREAK_CARRIAGE_RETURN")
-    '("line-feed" "G_UNICODE_BREAK_LINE_FEED")
-    '("combining-mark" "G_UNICODE_BREAK_COMBINING_MARK")
-    '("surrogate" "G_UNICODE_BREAK_SURROGATE")
-    '("zero-width-space" "G_UNICODE_BREAK_ZERO_WIDTH_SPACE")
-    '("inseparable" "G_UNICODE_BREAK_INSEPARABLE")
-    '("non-breaking-glue" "G_UNICODE_BREAK_NON_BREAKING_GLUE")
-    '("contingent" "G_UNICODE_BREAK_CONTINGENT")
-    '("space" "G_UNICODE_BREAK_SPACE")
-    '("after" "G_UNICODE_BREAK_AFTER")
-    '("before" "G_UNICODE_BREAK_BEFORE")
-    '("before-and-after" "G_UNICODE_BREAK_BEFORE_AND_AFTER")
-    '("hyphen" "G_UNICODE_BREAK_HYPHEN")
-    '("non-starter" "G_UNICODE_BREAK_NON_STARTER")
-    '("open-punctuation" "G_UNICODE_BREAK_OPEN_PUNCTUATION")
-    '("close-punctuation" "G_UNICODE_BREAK_CLOSE_PUNCTUATION")
-    '("quotation" "G_UNICODE_BREAK_QUOTATION")
-    '("exclamation" "G_UNICODE_BREAK_EXCLAMATION")
-    '("ideographic" "G_UNICODE_BREAK_IDEOGRAPHIC")
-    '("numeric" "G_UNICODE_BREAK_NUMERIC")
-    '("infix-separator" "G_UNICODE_BREAK_INFIX_SEPARATOR")
-    '("symbol" "G_UNICODE_BREAK_SYMBOL")
-    '("alphabetic" "G_UNICODE_BREAK_ALPHABETIC")
-    '("prefix" "G_UNICODE_BREAK_PREFIX")
-    '("postfix" "G_UNICODE_BREAK_POSTFIX")
-    '("complex-context" "G_UNICODE_BREAK_COMPLEX_CONTEXT")
-    '("ambiguous" "G_UNICODE_BREAK_AMBIGUOUS")
-    '("unknown" "G_UNICODE_BREAK_UNKNOWN")
-    '("next-line" "G_UNICODE_BREAK_NEXT_LINE")
-    '("word-joiner" "G_UNICODE_BREAK_WORD_JOINER")
-    '("hangul-l-jamo" "G_UNICODE_BREAK_HANGUL_L_JAMO")
-    '("hangul-v-jamo" "G_UNICODE_BREAK_HANGUL_V_JAMO")
-    '("hangul-t-jamo" "G_UNICODE_BREAK_HANGUL_T_JAMO")
-    '("hangul-lv-syllable" "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE")
-    '("hangul-lvt-syllable" "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE")
-    '("close-paranthesis" "G_UNICODE_BREAK_CLOSE_PARANTHESIS")
-    '("conditional-japanese-starter" "G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER")
-    '("hebrew-letter" "G_UNICODE_BREAK_HEBREW_LETTER")
-    '("regional-indicator" "G_UNICODE_BREAK_REGIONAL_INDICATOR")
-  )
-)
-
-(define-enum Script
-  (in-module "GUnicode")
-  (c-name "GUnicodeScript")
-  (gtype-id "G_TYPE_UNICODE_SCRIPT")
-  (values
-    '("invalid-code" "G_UNICODE_SCRIPT_INVALID_CODE")
-    '("common" "G_UNICODE_SCRIPT_COMMON")
-    '("inherited" "G_UNICODE_SCRIPT_INHERITED")
-    '("arabic" "G_UNICODE_SCRIPT_ARABIC")
-    '("armenian" "G_UNICODE_SCRIPT_ARMENIAN")
-    '("bengali" "G_UNICODE_SCRIPT_BENGALI")
-    '("bopomofo" "G_UNICODE_SCRIPT_BOPOMOFO")
-    '("cherokee" "G_UNICODE_SCRIPT_CHEROKEE")
-    '("coptic" "G_UNICODE_SCRIPT_COPTIC")
-    '("cyrillic" "G_UNICODE_SCRIPT_CYRILLIC")
-    '("deseret" "G_UNICODE_SCRIPT_DESERET")
-    '("devanagari" "G_UNICODE_SCRIPT_DEVANAGARI")
-    '("ethiopic" "G_UNICODE_SCRIPT_ETHIOPIC")
-    '("georgian" "G_UNICODE_SCRIPT_GEORGIAN")
-    '("gothic" "G_UNICODE_SCRIPT_GOTHIC")
-    '("greek" "G_UNICODE_SCRIPT_GREEK")
-    '("gujarati" "G_UNICODE_SCRIPT_GUJARATI")
-    '("gurmukhi" "G_UNICODE_SCRIPT_GURMUKHI")
-    '("han" "G_UNICODE_SCRIPT_HAN")
-    '("hangul" "G_UNICODE_SCRIPT_HANGUL")
-    '("hebrew" "G_UNICODE_SCRIPT_HEBREW")
-    '("hiragana" "G_UNICODE_SCRIPT_HIRAGANA")
-    '("kannada" "G_UNICODE_SCRIPT_KANNADA")
-    '("katakana" "G_UNICODE_SCRIPT_KATAKANA")
-    '("khmer" "G_UNICODE_SCRIPT_KHMER")
-    '("lao" "G_UNICODE_SCRIPT_LAO")
-    '("latin" "G_UNICODE_SCRIPT_LATIN")
-    '("malayalam" "G_UNICODE_SCRIPT_MALAYALAM")
-    '("mongolian" "G_UNICODE_SCRIPT_MONGOLIAN")
-    '("myanmar" "G_UNICODE_SCRIPT_MYANMAR")
-    '("ogham" "G_UNICODE_SCRIPT_OGHAM")
-    '("old-italic" "G_UNICODE_SCRIPT_OLD_ITALIC")
-    '("oriya" "G_UNICODE_SCRIPT_ORIYA")
-    '("runic" "G_UNICODE_SCRIPT_RUNIC")
-    '("sinhala" "G_UNICODE_SCRIPT_SINHALA")
-    '("syriac" "G_UNICODE_SCRIPT_SYRIAC")
-    '("tamil" "G_UNICODE_SCRIPT_TAMIL")
-    '("telugu" "G_UNICODE_SCRIPT_TELUGU")
-    '("thaana" "G_UNICODE_SCRIPT_THAANA")
-    '("thai" "G_UNICODE_SCRIPT_THAI")
-    '("tibetan" "G_UNICODE_SCRIPT_TIBETAN")
-    '("canadian-aboriginal" "G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL")
-    '("yi" "G_UNICODE_SCRIPT_YI")
-    '("tagalog" "G_UNICODE_SCRIPT_TAGALOG")
-    '("hanunoo" "G_UNICODE_SCRIPT_HANUNOO")
-    '("buhid" "G_UNICODE_SCRIPT_BUHID")
-    '("tagbanwa" "G_UNICODE_SCRIPT_TAGBANWA")
-    '("braille" "G_UNICODE_SCRIPT_BRAILLE")
-    '("cypriot" "G_UNICODE_SCRIPT_CYPRIOT")
-    '("limbu" "G_UNICODE_SCRIPT_LIMBU")
-    '("osmanya" "G_UNICODE_SCRIPT_OSMANYA")
-    '("shavian" "G_UNICODE_SCRIPT_SHAVIAN")
-    '("linear-b" "G_UNICODE_SCRIPT_LINEAR_B")
-    '("tai-le" "G_UNICODE_SCRIPT_TAI_LE")
-    '("ugaritic" "G_UNICODE_SCRIPT_UGARITIC")
-    '("new-tai-lue" "G_UNICODE_SCRIPT_NEW_TAI_LUE")
-    '("buginese" "G_UNICODE_SCRIPT_BUGINESE")
-    '("glagolitic" "G_UNICODE_SCRIPT_GLAGOLITIC")
-    '("tifinagh" "G_UNICODE_SCRIPT_TIFINAGH")
-    '("syloti-nagri" "G_UNICODE_SCRIPT_SYLOTI_NAGRI")
-    '("old-persian" "G_UNICODE_SCRIPT_OLD_PERSIAN")
-    '("kharoshthi" "G_UNICODE_SCRIPT_KHAROSHTHI")
-    '("unknown" "G_UNICODE_SCRIPT_UNKNOWN")
-    '("balinese" "G_UNICODE_SCRIPT_BALINESE")
-    '("cuneiform" "G_UNICODE_SCRIPT_CUNEIFORM")
-    '("phoenician" "G_UNICODE_SCRIPT_PHOENICIAN")
-    '("phags-pa" "G_UNICODE_SCRIPT_PHAGS_PA")
-    '("nko" "G_UNICODE_SCRIPT_NKO")
-    '("kayah-li" "G_UNICODE_SCRIPT_KAYAH_LI")
-    '("lepcha" "G_UNICODE_SCRIPT_LEPCHA")
-    '("rejang" "G_UNICODE_SCRIPT_REJANG")
-    '("sundanese" "G_UNICODE_SCRIPT_SUNDANESE")
-    '("saurashtra" "G_UNICODE_SCRIPT_SAURASHTRA")
-    '("cham" "G_UNICODE_SCRIPT_CHAM")
-    '("ol-chiki" "G_UNICODE_SCRIPT_OL_CHIKI")
-    '("vai" "G_UNICODE_SCRIPT_VAI")
-    '("carian" "G_UNICODE_SCRIPT_CARIAN")
-    '("lycian" "G_UNICODE_SCRIPT_LYCIAN")
-    '("lydian" "G_UNICODE_SCRIPT_LYDIAN")
-    '("avestan" "G_UNICODE_SCRIPT_AVESTAN")
-    '("bamum" "G_UNICODE_SCRIPT_BAMUM")
-    '("egyptian-hieroglyphs" "G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS")
-    '("imperial-aramaic" "G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC")
-    '("inscriptional-pahlavi" "G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI")
-    '("inscriptional-parthian" "G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN")
-    '("javanese" "G_UNICODE_SCRIPT_JAVANESE")
-    '("kaithi" "G_UNICODE_SCRIPT_KAITHI")
-    '("lisu" "G_UNICODE_SCRIPT_LISU")
-    '("meetei-mayek" "G_UNICODE_SCRIPT_MEETEI_MAYEK")
-    '("old-south-arabian" "G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN")
-    '("old-turkic" "G_UNICODE_SCRIPT_OLD_TURKIC")
-    '("samaritan" "G_UNICODE_SCRIPT_SAMARITAN")
-    '("tai-tham" "G_UNICODE_SCRIPT_TAI_THAM")
-    '("tai-viet" "G_UNICODE_SCRIPT_TAI_VIET")
-    '("batak" "G_UNICODE_SCRIPT_BATAK")
-    '("brahmi" "G_UNICODE_SCRIPT_BRAHMI")
-    '("mandaic" "G_UNICODE_SCRIPT_MANDAIC")
-    '("chakma" "G_UNICODE_SCRIPT_CHAKMA")
-    '("meroitic-cursive" "G_UNICODE_SCRIPT_MEROITIC_CURSIVE")
-    '("meroitic-hieroglyphs" "G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS")
-    '("miao" "G_UNICODE_SCRIPT_MIAO")
-    '("sharada" "G_UNICODE_SCRIPT_SHARADA")
-    '("sora-sompeng" "G_UNICODE_SCRIPT_SORA_SOMPENG")
-    '("takri" "G_UNICODE_SCRIPT_TAKRI")
-    '("bassa-vah" "G_UNICODE_SCRIPT_BASSA_VAH")
-    '("caucasian-albanian" "G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN")
-    '("duployan" "G_UNICODE_SCRIPT_DUPLOYAN")
-    '("elbasan" "G_UNICODE_SCRIPT_ELBASAN")
-    '("grantha" "G_UNICODE_SCRIPT_GRANTHA")
-    '("khojki" "G_UNICODE_SCRIPT_KHOJKI")
-    '("khudawadi" "G_UNICODE_SCRIPT_KHUDAWADI")
-    '("linear-a" "G_UNICODE_SCRIPT_LINEAR_A")
-    '("mahajani" "G_UNICODE_SCRIPT_MAHAJANI")
-    '("manichaean" "G_UNICODE_SCRIPT_MANICHAEAN")
-    '("mende-kikakui" "G_UNICODE_SCRIPT_MENDE_KIKAKUI")
-    '("modi" "G_UNICODE_SCRIPT_MODI")
-    '("mro" "G_UNICODE_SCRIPT_MRO")
-    '("nabataean" "G_UNICODE_SCRIPT_NABATAEAN")
-    '("old-north-arabian" "G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN")
-    '("old-permic" "G_UNICODE_SCRIPT_OLD_PERMIC")
-    '("pahawh-hmong" "G_UNICODE_SCRIPT_PAHAWH_HMONG")
-    '("palmyrene" "G_UNICODE_SCRIPT_PALMYRENE")
-    '("pau-cin-hau" "G_UNICODE_SCRIPT_PAU_CIN_HAU")
-    '("psalter-pahlavi" "G_UNICODE_SCRIPT_PSALTER_PAHLAVI")
-    '("siddham" "G_UNICODE_SCRIPT_SIDDHAM")
-    '("tirhuta" "G_UNICODE_SCRIPT_TIRHUTA")
-    '("warang-citi" "G_UNICODE_SCRIPT_WARANG_CITI")
-  )
-)
-
-(define-enum Mode
-  (in-module "GNormalize")
-  (c-name "GNormalizeMode")
-  (gtype-id "G_TYPE_NORMALIZE_MODE")
-  (values
-    '("default" "G_NORMALIZE_DEFAULT")
-    '("nfd" "G_NORMALIZE_NFD")
-    '("default-compose" "G_NORMALIZE_DEFAULT_COMPOSE")
-    '("nfc" "G_NORMALIZE_NFC")
-    '("all" "G_NORMALIZE_ALL")
-    '("nfkd" "G_NORMALIZE_NFKD")
-    '("all-compose" "G_NORMALIZE_ALL_COMPOSE")
-    '("nfkc" "G_NORMALIZE_NFKC")
-  )
-)
-
-(define-enum Directory
-  (in-module "GUser")
-  (c-name "GUserDirectory")
-  (gtype-id "G_TYPE_USER_DIRECTORY")
-  (values
-    '("directory-desktop" "G_USER_DIRECTORY_DESKTOP")
-    '("directory-documents" "G_USER_DIRECTORY_DOCUMENTS")
-    '("directory-download" "G_USER_DIRECTORY_DOWNLOAD")
-    '("directory-music" "G_USER_DIRECTORY_MUSIC")
-    '("directory-pictures" "G_USER_DIRECTORY_PICTURES")
-    '("directory-public-share" "G_USER_DIRECTORY_PUBLIC_SHARE")
-    '("directory-templates" "G_USER_DIRECTORY_TEMPLATES")
-    '("directory-videos" "G_USER_DIRECTORY_VIDEOS")
-    '("n-directories" "G_USER_N_DIRECTORIES")
-  )
-)
-
-(define-flags SizeFlags
-  (in-module "GFormat")
-  (c-name "GFormatSizeFlags")
-  (gtype-id "G_TYPE_FORMAT_SIZE_FLAGS")
-  (values
-    '("default" "G_FORMAT_SIZE_DEFAULT")
-    '("long-format" "G_FORMAT_SIZE_LONG_FORMAT")
-    '("iec-units" "G_FORMAT_SIZE_IEC_UNITS")
-  )
-)
-
-(define-enum Class
-  (in-module "GVariant")
-  (c-name "GVariantClass")
-  (gtype-id "G_TYPE_VARIANT_CLASS")
-  (values
-    '("boolean" "G_VARIANT_CLASS_BOOLEAN")
-    '("byte" "G_VARIANT_CLASS_BYTE")
-    '("int16" "G_VARIANT_CLASS_INT16")
-    '("uint16" "G_VARIANT_CLASS_UINT16")
-    '("int32" "G_VARIANT_CLASS_INT32")
-    '("uint32" "G_VARIANT_CLASS_UINT32")
-    '("int64" "G_VARIANT_CLASS_INT64")
-    '("uint64" "G_VARIANT_CLASS_UINT64")
-    '("handle" "G_VARIANT_CLASS_HANDLE")
-    '("double" "G_VARIANT_CLASS_DOUBLE")
-    '("string" "G_VARIANT_CLASS_STRING")
-    '("object-path" "G_VARIANT_CLASS_OBJECT_PATH")
-    '("signature" "G_VARIANT_CLASS_SIGNATURE")
-    '("variant" "G_VARIANT_CLASS_VARIANT")
-    '("maybe" "G_VARIANT_CLASS_MAYBE")
-    '("array" "G_VARIANT_CLASS_ARRAY")
-    '("tuple" "G_VARIANT_CLASS_TUPLE")
-    '("dict-entry" "G_VARIANT_CLASS_DICT_ENTRY")
-  )
-)
-
-(define-enum ParseError
-  (in-module "GVariant")
-  (c-name "GVariantParseError")
-  (gtype-id "G_TYPE_VARIANT_PARSE_ERROR")
-  (values
-    '("failed" "G_VARIANT_PARSE_ERROR_FAILED")
-    '("basic-type-expected" "G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED")
-    '("cannot-infer-type" "G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE")
-    '("definite-type-expected" "G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED")
-    '("input-not-at-end" "G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END")
-    '("invalid-character" "G_VARIANT_PARSE_ERROR_INVALID_CHARACTER")
-    '("invalid-format-string" "G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING")
-    '("invalid-object-path" "G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH")
-    '("invalid-signature" "G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE")
-    '("invalid-type-string" "G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING")
-    '("no-common-type" "G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE")
-    '("number-out-of-range" "G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE")
-    '("number-too-big" "G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG")
-    '("type-error" "G_VARIANT_PARSE_ERROR_TYPE_ERROR")
-    '("unexpected-token" "G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN")
-    '("unknown-keyword" "G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD")
-    '("unterminated-string-constant" "G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT")
-    '("value-expected" "G_VARIANT_PARSE_ERROR_VALUE_EXPECTED")
-  )
-)
-
-(define-enum Priority
-  (in-module "GThread")
-  (c-name "GThreadPriority")
-  (gtype-id "G_TYPE_THREAD_PRIORITY")
-  (values
-    '("low" "G_THREAD_PRIORITY_LOW")
-    '("normal" "G_THREAD_PRIORITY_NORMAL")
-    '("high" "G_THREAD_PRIORITY_HIGH")
-    '("urgent" "G_THREAD_PRIORITY_URGENT")
-  )
-)
-
-
-;; From galloca.h
-
-(define-function alloca
-  (c-name "alloca")
-  (return-type "char*")
-  (parameters
-  )
-)
-
-
-
-;; From garray.h
-
-(define-function g_array_new
-  (c-name "g_array_new")
-  (is-constructor-of "GArray")
-  (return-type "GArray*")
-  (parameters
-    '("gboolean" "zero_terminated")
-    '("gboolean" "clear_")
-    '("guint" "element_size")
-  )
-)
-
-(define-function g_array_sized_new
-  (c-name "g_array_sized_new")
-  (is-constructor-of "GArraySized")
-  (return-type "GArray*")
-  (parameters
-    '("gboolean" "zero_terminated")
-    '("gboolean" "clear_")
-    '("guint" "element_size")
-    '("guint" "reserved_size")
-  )
-)
-
-(define-method free
-  (of-object "GArray")
-  (c-name "g_array_free")
-  (return-type "gchar*")
-  (parameters
-    '("gboolean" "free_segment")
-  )
-)
-
-(define-method ref
-  (of-object "GArray")
-  (c-name "g_array_ref")
-  (return-type "GArray*")
-)
-
-(define-method unref
-  (of-object "GArray")
-  (c-name "g_array_unref")
-  (return-type "none")
-)
-
-(define-method get_element_size
-  (of-object "GArray")
-  (c-name "g_array_get_element_size")
-  (return-type "guint")
-)
-
-(define-method append_vals
-  (of-object "GArray")
-  (c-name "g_array_append_vals")
-  (return-type "GArray*")
-  (parameters
-    '("gconstpointer" "data")
-    '("guint" "len")
-  )
-)
-
-(define-method prepend_vals
-  (of-object "GArray")
-  (c-name "g_array_prepend_vals")
-  (return-type "GArray*")
-  (parameters
-    '("gconstpointer" "data")
-    '("guint" "len")
-  )
-)
-
-(define-method insert_vals
-  (of-object "GArray")
-  (c-name "g_array_insert_vals")
-  (return-type "GArray*")
-  (parameters
-    '("guint" "index_")
-    '("gconstpointer" "data")
-    '("guint" "len")
-  )
-)
-
-(define-method set_size
-  (of-object "GArray")
-  (c-name "g_array_set_size")
-  (return-type "GArray*")
-  (parameters
-    '("guint" "length")
-  )
-)
-
-(define-method remove_index
-  (of-object "GArray")
-  (c-name "g_array_remove_index")
-  (return-type "GArray*")
-  (parameters
-    '("guint" "index_")
-  )
-)
-
-(define-method remove_index_fast
-  (of-object "GArray")
-  (c-name "g_array_remove_index_fast")
-  (return-type "GArray*")
-  (parameters
-    '("guint" "index_")
-  )
-)
-
-(define-method remove_range
-  (of-object "GArray")
-  (c-name "g_array_remove_range")
-  (return-type "GArray*")
-  (parameters
-    '("guint" "index_")
-    '("guint" "length")
-  )
-)
-
-(define-method sort
-  (of-object "GArray")
-  (c-name "g_array_sort")
-  (return-type "none")
-  (parameters
-    '("GCompareFunc" "compare_func")
-  )
-)
-
-(define-method sort_with_data
-  (of-object "GArray")
-  (c-name "g_array_sort_with_data")
-  (return-type "none")
-  (parameters
-    '("GCompareDataFunc" "compare_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method set_clear_func
-  (of-object "GArray")
-  (c-name "g_array_set_clear_func")
-  (return-type "none")
-  (parameters
-    '("GDestroyNotify" "clear_func")
-  )
-)
-
-(define-function g_ptr_array_new
-  (c-name "g_ptr_array_new")
-  (is-constructor-of "GPtrArray")
-  (return-type "GPtrArray*")
-)
-
-(define-function g_ptr_array_new_with_free_func
-  (c-name "g_ptr_array_new_with_free_func")
-  (return-type "GPtrArray*")
-  (parameters
-    '("GDestroyNotify" "element_free_func")
-  )
-)
-
-(define-function g_ptr_array_sized_new
-  (c-name "g_ptr_array_sized_new")
-  (is-constructor-of "GPtrArraySized")
-  (return-type "GPtrArray*")
-  (parameters
-    '("guint" "reserved_size")
-  )
-)
-
-(define-function g_ptr_array_new_full
-  (c-name "g_ptr_array_new_full")
-  (return-type "GPtrArray*")
-  (parameters
-    '("guint" "reserved_size")
-    '("GDestroyNotify" "element_free_func")
-  )
-)
-
-(define-method free
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_free")
-  (return-type "gpointer*")
-  (parameters
-    '("gboolean" "free_seg")
-  )
-)
-
-(define-method ref
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_ref")
-  (return-type "GPtrArray*")
-)
-
-(define-method unref
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_unref")
-  (return-type "none")
-)
-
-(define-method set_free_func
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_set_free_func")
-  (return-type "none")
-  (parameters
-    '("GDestroyNotify" "element_free_func")
-  )
-)
-
-(define-method set_size
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_set_size")
-  (return-type "none")
-  (parameters
-    '("gint" "length")
-  )
-)
-
-(define-method remove_index
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_remove_index")
-  (return-type "gpointer")
-  (parameters
-    '("guint" "index_")
-  )
-)
-
-(define-method remove_index_fast
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_remove_index_fast")
-  (return-type "gpointer")
-  (parameters
-    '("guint" "index_")
-  )
-)
-
-(define-method remove
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_remove")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method remove_fast
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_remove_fast")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method remove_range
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_remove_range")
-  (return-type "GPtrArray*")
-  (parameters
-    '("guint" "index_")
-    '("guint" "length")
-  )
-)
-
-(define-method add
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_add")
-  (return-type "none")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method insert
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_insert")
-  (return-type "none")
-  (parameters
-    '("gint" "index_")
-    '("gpointer" "data")
-  )
-)
-
-(define-method sort
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_sort")
-  (return-type "none")
-  (parameters
-    '("GCompareFunc" "compare_func")
-  )
-)
-
-(define-method sort_with_data
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_sort_with_data")
-  (return-type "none")
-  (parameters
-    '("GCompareDataFunc" "compare_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method foreach
-  (of-object "GPtrArray")
-  (c-name "g_ptr_array_foreach")
-  (return-type "none")
-  (parameters
-    '("GFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-function g_byte_array_new
-  (c-name "g_byte_array_new")
-  (is-constructor-of "GByteArray")
-  (return-type "GByteArray*")
-)
-
-(define-function g_byte_array_new_take
-  (c-name "g_byte_array_new_take")
-  (return-type "GByteArray*")
-  (parameters
-    '("guint8*" "data")
-    '("gsize" "len")
-  )
-)
-
-(define-function g_byte_array_sized_new
-  (c-name "g_byte_array_sized_new")
-  (is-constructor-of "GByteArraySized")
-  (return-type "GByteArray*")
-  (parameters
-    '("guint" "reserved_size")
-  )
-)
-
-(define-method free
-  (of-object "GByteArray")
-  (c-name "g_byte_array_free")
-  (return-type "guint8*")
-  (parameters
-    '("gboolean" "free_segment")
-  )
-)
-
-(define-method free_to_bytes
-  (of-object "GByteArray")
-  (c-name "g_byte_array_free_to_bytes")
-  (return-type "GBytes*")
-)
-
-(define-method ref
-  (of-object "GByteArray")
-  (c-name "g_byte_array_ref")
-  (return-type "GByteArray*")
-)
-
-(define-method unref
-  (of-object "GByteArray")
-  (c-name "g_byte_array_unref")
-  (return-type "none")
-)
-
-(define-method append
-  (of-object "GByteArray")
-  (c-name "g_byte_array_append")
-  (return-type "GByteArray*")
-  (parameters
-    '("const-guint8*" "data")
-    '("guint" "len")
-  )
-)
-
-(define-method prepend
-  (of-object "GByteArray")
-  (c-name "g_byte_array_prepend")
-  (return-type "GByteArray*")
-  (parameters
-    '("const-guint8*" "data")
-    '("guint" "len")
-  )
-)
-
-(define-method set_size
-  (of-object "GByteArray")
-  (c-name "g_byte_array_set_size")
-  (return-type "GByteArray*")
-  (parameters
-    '("guint" "length")
-  )
-)
-
-(define-method remove_index
-  (of-object "GByteArray")
-  (c-name "g_byte_array_remove_index")
-  (return-type "GByteArray*")
-  (parameters
-    '("guint" "index_")
-  )
-)
-
-(define-method remove_index_fast
-  (of-object "GByteArray")
-  (c-name "g_byte_array_remove_index_fast")
-  (return-type "GByteArray*")
-  (parameters
-    '("guint" "index_")
-  )
-)
-
-(define-method remove_range
-  (of-object "GByteArray")
-  (c-name "g_byte_array_remove_range")
-  (return-type "GByteArray*")
-  (parameters
-    '("guint" "index_")
-    '("guint" "length")
-  )
-)
-
-(define-method sort
-  (of-object "GByteArray")
-  (c-name "g_byte_array_sort")
-  (return-type "none")
-  (parameters
-    '("GCompareFunc" "compare_func")
-  )
-)
-
-(define-method sort_with_data
-  (of-object "GByteArray")
-  (c-name "g_byte_array_sort_with_data")
-  (return-type "none")
-  (parameters
-    '("GCompareDataFunc" "compare_func")
-    '("gpointer" "user_data")
-  )
-)
-
-
-
-;; From gasyncqueue.h
-
-(define-function g_async_queue_new
-  (c-name "g_async_queue_new")
-  (is-constructor-of "GAsyncQueue")
-  (return-type "GAsyncQueue*")
-)
-
-(define-function g_async_queue_new_full
-  (c-name "g_async_queue_new_full")
-  (return-type "GAsyncQueue*")
-  (parameters
-    '("GDestroyNotify" "item_free_func")
-  )
-)
-
-(define-method lock
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_lock")
-  (return-type "none")
-)
-
-(define-method unlock
+(define-method length
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_unlock")
-  (return-type "none")
+  (c-name "g_async_queue_length")
+  (return-type "gint")
 )
 
-(define-method ref
+(define-method length_unlocked
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_ref")
-  (return-type "GAsyncQueue*")
+  (c-name "g_async_queue_length_unlocked")
+  (return-type "gint")
 )
 
-(define-method unref
+(define-method lock
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_unref")
+  (c-name "g_async_queue_lock")
   (return-type "none")
 )
 
-(define-method ref_unlocked
+(define-method pop
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_ref_unlocked")
-  (return-type "none")
+  (c-name "g_async_queue_pop")
+  (return-type "gpointer")
 )
 
-(define-method unref_and_unlock
+(define-method pop_unlocked
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_unref_and_unlock")
-  (return-type "none")
+  (c-name "g_async_queue_pop_unlocked")
+  (return-type "gpointer")
 )
 
 (define-method push
@@ -1544,15 +37,6 @@
   )
 )
 
-(define-method push_unlocked
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_push_unlocked")
-  (return-type "none")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
 (define-method push_sorted
   (of-object "GAsyncQueue")
   (c-name "g_async_queue_push_sorted")
@@ -1575,58 +59,25 @@
   )
 )
 
-(define-method pop
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_pop")
-  (return-type "gpointer")
-)
-
-(define-method pop_unlocked
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_pop_unlocked")
-  (return-type "gpointer")
-)
-
-(define-method try_pop
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_try_pop")
-  (return-type "gpointer")
-)
-
-(define-method try_pop_unlocked
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_try_pop_unlocked")
-  (return-type "gpointer")
-)
-
-(define-method timeout_pop
-  (of-object "GAsyncQueue")
-  (c-name "g_async_queue_timeout_pop")
-  (return-type "gpointer")
-  (parameters
-    '("guint64" "timeout")
-  )
-)
-
-(define-method timeout_pop_unlocked
+(define-method push_unlocked
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_timeout_pop_unlocked")
-  (return-type "gpointer")
+  (c-name "g_async_queue_push_unlocked")
+  (return-type "none")
   (parameters
-    '("guint64" "timeout")
+    '("gpointer" "data")
   )
 )
 
-(define-method length
+(define-method ref
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_length")
-  (return-type "gint")
+  (c-name "g_async_queue_ref")
+  (return-type "GAsyncQueue*")
 )
 
-(define-method length_unlocked
+(define-method ref_unlocked
   (of-object "GAsyncQueue")
-  (c-name "g_async_queue_length_unlocked")
-  (return-type "gint")
+  (c-name "g_async_queue_ref_unlocked")
+  (return-type "none")
 )
 
 (define-method sort
@@ -1667,436 +118,188 @@
   )
 )
 
-
-
-;; From gasyncqueueprivate.h
-
-
-
-;; From gatomic.h
-
-(define-function g_atomic_int_get
-  (c-name "g_atomic_int_get")
-  (return-type "gint")
-  (parameters
-    '("const-volatile-gint*" "atomic")
-  )
-)
-
-(define-function g_atomic_int_set
-  (c-name "g_atomic_int_set")
-  (return-type "none")
-  (parameters
-    '("volatile-gint*" "atomic")
-    '("gint" "newval")
-  )
-)
-
-(define-function g_atomic_int_inc
-  (c-name "g_atomic_int_inc")
-  (return-type "none")
-  (parameters
-    '("volatile-gint*" "atomic")
-  )
-)
-
-(define-function g_atomic_int_dec_and_test
-  (c-name "g_atomic_int_dec_and_test")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-gint*" "atomic")
-  )
-)
-
-(define-function g_atomic_int_compare_and_exchange
-  (c-name "g_atomic_int_compare_and_exchange")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-gint*" "atomic")
-    '("gint" "oldval")
-    '("gint" "newval")
-  )
-)
-
-(define-function g_atomic_int_add
-  (c-name "g_atomic_int_add")
-  (return-type "gint")
-  (parameters
-    '("volatile-gint*" "atomic")
-    '("gint" "val")
-  )
-)
-
-(define-function g_atomic_int_and
-  (c-name "g_atomic_int_and")
-  (return-type "guint")
-  (parameters
-    '("volatile-guint*" "atomic")
-    '("guint" "val")
-  )
-)
-
-(define-function g_atomic_int_or
-  (c-name "g_atomic_int_or")
-  (return-type "guint")
-  (parameters
-    '("volatile-guint*" "atomic")
-    '("guint" "val")
-  )
-)
-
-(define-function g_atomic_int_xor
-  (c-name "g_atomic_int_xor")
-  (return-type "guint")
-  (parameters
-    '("volatile-guint*" "atomic")
-    '("guint" "val")
-  )
-)
-
-(define-function g_atomic_pointer_get
-  (c-name "g_atomic_pointer_get")
+(define-method timeout_pop
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_timeout_pop")
   (return-type "gpointer")
   (parameters
-    '("const-volatile-void*" "atomic")
-  )
-)
-
-(define-function g_atomic_pointer_set
-  (c-name "g_atomic_pointer_set")
-  (return-type "none")
-  (parameters
-    '("volatile-void*" "atomic")
-    '("gpointer" "newval")
-  )
-)
-
-(define-function g_atomic_pointer_compare_and_exchange
-  (c-name "g_atomic_pointer_compare_and_exchange")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-void*" "atomic")
-    '("gpointer" "oldval")
-    '("gpointer" "newval")
-  )
-)
-
-(define-function g_atomic_pointer_add
-  (c-name "g_atomic_pointer_add")
-  (return-type "gssize")
-  (parameters
-    '("volatile-void*" "atomic")
-    '("gssize" "val")
-  )
-)
-
-(define-function g_atomic_pointer_and
-  (c-name "g_atomic_pointer_and")
-  (return-type "gsize")
-  (parameters
-    '("volatile-void*" "atomic")
-    '("gsize" "val")
-  )
-)
-
-(define-function g_atomic_pointer_or
-  (c-name "g_atomic_pointer_or")
-  (return-type "gsize")
-  (parameters
-    '("volatile-void*" "atomic")
-    '("gsize" "val")
+    '("guint64" "timeout")
   )
 )
 
-(define-function g_atomic_pointer_xor
-  (c-name "g_atomic_pointer_xor")
-  (return-type "gsize")
+(define-method timeout_pop_unlocked
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_timeout_pop_unlocked")
+  (return-type "gpointer")
   (parameters
-    '("volatile-void*" "atomic")
-    '("gsize" "val")
+    '("guint64" "timeout")
   )
 )
 
-(define-function g_atomic_int_exchange_and_add
-  (c-name "g_atomic_int_exchange_and_add")
-  (return-type "gint")
-  (parameters
-    '("volatile-gint*" "atomic")
-    '("gint" "val")
-  )
+(define-method try_pop
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_try_pop")
+  (return-type "gpointer")
 )
 
-
-
-;; From gbacktrace.h
-
-(define-function g_on_error_query
-  (c-name "g_on_error_query")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "prg_name")
-  )
+(define-method try_pop_unlocked
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_try_pop_unlocked")
+  (return-type "gpointer")
 )
 
-(define-function g_on_error_stack_trace
-  (c-name "g_on_error_stack_trace")
+(define-method unlock
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_unlock")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "prg_name")
-  )
-)
-
-
-
-;; From gbase64.h
-
-(define-function g_base64_encode_step
-  (c-name "g_base64_encode_step")
-  (return-type "gsize")
-  (parameters
-    '("const-guchar*" "in")
-    '("gsize" "len")
-    '("gboolean" "break_lines")
-    '("gchar*" "out")
-    '("gint*" "state")
-    '("gint*" "save")
-  )
-)
-
-(define-function g_base64_encode_close
-  (c-name "g_base64_encode_close")
-  (return-type "gsize")
-  (parameters
-    '("gboolean" "break_lines")
-    '("gchar*" "out")
-    '("gint*" "state")
-    '("gint*" "save")
-  )
 )
 
-(define-function g_base64_encode
-  (c-name "g_base64_encode")
-  (return-type "gchar*")
-  (parameters
-    '("const-guchar*" "data")
-    '("gsize" "len")
-  )
-)
-
-(define-function g_base64_decode_step
-  (c-name "g_base64_decode_step")
-  (return-type "gsize")
-  (parameters
-    '("const-gchar*" "in")
-    '("gsize" "len")
-    '("guchar*" "out")
-    '("gint*" "state")
-    '("guint*" "save")
-  )
-)
-
-(define-function g_base64_decode
-  (c-name "g_base64_decode")
-  (return-type "guchar*")
-  (parameters
-    '("const-gchar*" "text")
-    '("gsize*" "out_len")
-  )
-)
-
-(define-function g_base64_decode_inplace
-  (c-name "g_base64_decode_inplace")
-  (return-type "guchar*")
-  (parameters
-    '("gchar*" "text")
-    '("gsize*" "out_len")
-  )
-)
-
-
-
-;; From gbitlock.h
-
-(define-function g_bit_lock
-  (c-name "g_bit_lock")
+(define-method unref
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_unref")
   (return-type "none")
-  (parameters
-    '("volatile-gint*" "address")
-    '("gint" "lock_bit")
-  )
-)
-
-(define-function g_bit_trylock
-  (c-name "g_bit_trylock")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-gint*" "address")
-    '("gint" "lock_bit")
-  )
 )
 
-(define-function g_bit_unlock
-  (c-name "g_bit_unlock")
+(define-method unref_and_unlock
+  (of-object "GAsyncQueue")
+  (c-name "g_async_queue_unref_and_unlock")
   (return-type "none")
-  (parameters
-    '("volatile-gint*" "address")
-    '("gint" "lock_bit")
-  )
 )
 
-(define-function g_pointer_bit_lock
-  (c-name "g_pointer_bit_lock")
+(define-method add_application
+  (of-object "GBookmarkFile")
+  (c-name "g_bookmark_file_add_application")
   (return-type "none")
   (parameters
-    '("volatile-void*" "address")
-    '("gint" "lock_bit")
-  )
-)
-
-(define-function g_pointer_bit_trylock
-  (c-name "g_pointer_bit_trylock")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-void*" "address")
-    '("gint" "lock_bit")
+    '("const-gchar*" "uri")
+    '("const-gchar*" "name")
+    '("const-gchar*" "exec")
   )
 )
 
-(define-function g_pointer_bit_unlock
-  (c-name "g_pointer_bit_unlock")
+(define-method add_group
+  (of-object "GBookmarkFile")
+  (c-name "g_bookmark_file_add_group")
   (return-type "none")
   (parameters
-    '("volatile-void*" "address")
-    '("gint" "lock_bit")
+    '("const-gchar*" "uri")
+    '("const-gchar*" "group")
   )
 )
 
-
-
-;; From gbookmarkfile.h
-
-(define-function g_bookmark_file_error_quark
-  (c-name "g_bookmark_file_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_bookmark_file_new
-  (c-name "g_bookmark_file_new")
-  (is-constructor-of "GBookmarkFile")
-  (return-type "GBookmarkFile*")
-)
-
 (define-method free
   (of-object "GBookmarkFile")
   (c-name "g_bookmark_file_free")
   (return-type "none")
 )
 
-(define-method load_from_file
+(define-method get_added
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_load_from_file")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_get_added")
+  (return-type "time_t")
   (parameters
-    '("const-gchar*" "filename")
+    '("const-gchar*" "uri")
     '("GError**" "error")
   )
 )
 
-(define-method load_from_data
+(define-method get_app_info
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_load_from_data")
+  (c-name "g_bookmark_file_get_app_info")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "data")
-    '("gsize" "length")
+    '("const-gchar*" "uri")
+    '("const-gchar*" "name")
+    '("gchar**" "exec")
+    '("guint*" "count")
+    '("time_t*" "stamp")
     '("GError**" "error")
   )
 )
 
-(define-method load_from_data_dirs
+(define-method get_applications
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_load_from_data_dirs")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_get_applications")
+  (return-type "const-gchar**")
   (parameters
-    '("const-gchar*" "file")
-    '("gchar**" "full_path")
+    '("const-gchar*" "uri")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method to_data
+(define-method get_description
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_to_data")
+  (c-name "g_bookmark_file_get_description")
   (return-type "gchar*")
   (parameters
-    '("gsize*" "length")
+    '("const-gchar*" "uri")
     '("GError**" "error")
   )
 )
 
-(define-method to_file
+(define-method get_groups
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_to_file")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_get_groups")
+  (return-type "const-gchar**")
   (parameters
-    '("const-gchar*" "filename")
+    '("const-gchar*" "uri")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method set_title
+(define-method get_icon
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_title")
-  (return-type "none")
+  (c-name "g_bookmark_file_get_icon")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "title")
+    '("gchar**" "href")
+    '("gchar**" "mime_type")
+    '("GError**" "error")
   )
 )
 
-(define-method get_title
+(define-method get_is_private
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_title")
-  (return-type "gchar*")
+  (c-name "g_bookmark_file_get_is_private")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
     '("GError**" "error")
   )
 )
 
-(define-method set_description
+(define-method get_mime_type
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_description")
-  (return-type "none")
+  (c-name "g_bookmark_file_get_mime_type")
+  (return-type "gchar*")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "description")
+    '("GError**" "error")
   )
 )
 
-(define-method get_description
+(define-method get_modified
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_description")
-  (return-type "gchar*")
+  (c-name "g_bookmark_file_get_modified")
+  (return-type "time_t")
   (parameters
     '("const-gchar*" "uri")
     '("GError**" "error")
   )
 )
 
-(define-method set_mime_type
+(define-method get_size
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_mime_type")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "uri")
-    '("const-gchar*" "mime_type")
-  )
+  (c-name "g_bookmark_file_get_size")
+  (return-type "gint")
 )
 
-(define-method get_mime_type
+(define-method get_title
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_mime_type")
+  (c-name "g_bookmark_file_get_title")
   (return-type "gchar*")
   (parameters
     '("const-gchar*" "uri")
@@ -2104,149 +307,127 @@
   )
 )
 
-(define-method set_groups
+(define-method get_uris
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_groups")
-  (return-type "none")
+  (c-name "g_bookmark_file_get_uris")
+  (return-type "const-gchar**")
   (parameters
-    '("const-gchar*" "uri")
-    '("const-gchar**" "groups")
-    '("gsize" "length")
+    '("gsize*" "length")
   )
 )
 
-(define-method add_group
+(define-method get_visited
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_add_group")
-  (return-type "none")
+  (c-name "g_bookmark_file_get_visited")
+  (return-type "time_t")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "group")
+    '("GError**" "error")
   )
 )
 
-(define-method has_group
+(define-method has_application
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_has_group")
+  (c-name "g_bookmark_file_has_application")
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "group")
+    '("const-gchar*" "name")
     '("GError**" "error")
   )
 )
 
-(define-method get_groups
+(define-method has_group
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_groups")
-  (return-type "gchar**")
+  (c-name "g_bookmark_file_has_group")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
-    '("gsize*" "length")
+    '("const-gchar*" "group")
     '("GError**" "error")
   )
 )
 
-(define-method add_application
+(define-method has_item
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_add_application")
-  (return-type "none")
+  (c-name "g_bookmark_file_has_item")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "name")
-    '("const-gchar*" "exec")
   )
 )
 
-(define-method has_application
+(define-method load_from_data
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_has_application")
+  (c-name "g_bookmark_file_load_from_data")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "uri")
-    '("const-gchar*" "name")
+    '("const-gchar*" "data")
+    '("gsize" "length")
     '("GError**" "error")
   )
 )
 
-(define-method get_applications
+(define-method load_from_data_dirs
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_applications")
-  (return-type "gchar**")
+  (c-name "g_bookmark_file_load_from_data_dirs")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "uri")
-    '("gsize*" "length")
+    '("const-gchar*" "file")
+    '("gchar**" "full_path")
     '("GError**" "error")
   )
 )
 
-(define-method set_app_info
+(define-method load_from_file
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_app_info")
+  (c-name "g_bookmark_file_load_from_file")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "uri")
-    '("const-gchar*" "name")
-    '("const-gchar*" "exec")
-    '("gint" "count")
-    '("time_t" "stamp")
+    '("const-gchar*" "filename")
     '("GError**" "error")
   )
 )
 
-(define-method get_app_info
+(define-method move_item
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_app_info")
+  (c-name "g_bookmark_file_move_item")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "uri")
-    '("const-gchar*" "name")
-    '("gchar**" "exec")
-    '("guint*" "count")
-    '("time_t*" "stamp")
+    '("const-gchar*" "old_uri")
+    '("const-gchar*" "new_uri")
     '("GError**" "error")
   )
 )
 
-(define-method set_is_private
-  (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_is_private")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "uri")
-    '("gboolean" "is_private")
-  )
-)
-
-(define-method get_is_private
+(define-method remove_application
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_is_private")
+  (c-name "g_bookmark_file_remove_application")
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
+    '("const-gchar*" "name")
     '("GError**" "error")
   )
 )
 
-(define-method set_icon
+(define-method remove_group
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_icon")
-  (return-type "none")
+  (c-name "g_bookmark_file_remove_group")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "href")
-    '("const-gchar*" "mime_type")
+    '("const-gchar*" "group")
+    '("GError**" "error")
   )
 )
 
-(define-method get_icon
+(define-method remove_item
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_icon")
+  (c-name "g_bookmark_file_remove_item")
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
-    '("gchar**" "href")
-    '("gchar**" "mime_type")
     '("GError**" "error")
   )
 )
@@ -2261,222 +442,124 @@
   )
 )
 
-(define-method get_added
+(define-method set_app_info
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_added")
-  (return-type "time_t")
+  (c-name "g_bookmark_file_set_app_info")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "uri")
+    '("const-gchar*" "name")
+    '("const-gchar*" "exec")
+    '("gint" "count")
+    '("time_t" "stamp")
     '("GError**" "error")
   )
 )
 
-(define-method set_modified
+(define-method set_description
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_modified")
+  (c-name "g_bookmark_file_set_description")
   (return-type "none")
   (parameters
     '("const-gchar*" "uri")
-    '("time_t" "modified")
+    '("const-gchar*" "description")
   )
 )
 
-(define-method get_modified
+(define-method set_groups
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_modified")
-  (return-type "time_t")
+  (c-name "g_bookmark_file_set_groups")
+  (return-type "none")
   (parameters
     '("const-gchar*" "uri")
-    '("GError**" "error")
+    '("const-gchar**" "groups")
+    '("gsize" "length")
   )
 )
 
-(define-method set_visited
+(define-method set_icon
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_set_visited")
+  (c-name "g_bookmark_file_set_icon")
   (return-type "none")
   (parameters
     '("const-gchar*" "uri")
-    '("time_t" "visited")
+    '("const-gchar*" "href")
+    '("const-gchar*" "mime_type")
   )
 )
 
-(define-method get_visited
+(define-method set_is_private
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_visited")
-  (return-type "time_t")
+  (c-name "g_bookmark_file_set_is_private")
+  (return-type "none")
   (parameters
     '("const-gchar*" "uri")
-    '("GError**" "error")
+    '("gboolean" "is_private")
   )
 )
 
-(define-method has_item
+(define-method set_mime_type
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_has_item")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_set_mime_type")
+  (return-type "none")
   (parameters
     '("const-gchar*" "uri")
+    '("const-gchar*" "mime_type")
   )
 )
 
-(define-method get_size
-  (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_size")
-  (return-type "gint")
-)
-
-(define-method get_uris
+(define-method set_modified
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_get_uris")
-  (return-type "gchar**")
+  (c-name "g_bookmark_file_set_modified")
+  (return-type "none")
   (parameters
-    '("gsize*" "length")
+    '("const-gchar*" "uri")
+    '("time_t" "modified")
   )
 )
 
-(define-method remove_group
+(define-method set_title
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_remove_group")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_set_title")
+  (return-type "none")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "group")
-    '("GError**" "error")
+    '("const-gchar*" "title")
   )
 )
 
-(define-method remove_application
+(define-method set_visited
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_remove_application")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_set_visited")
+  (return-type "none")
   (parameters
     '("const-gchar*" "uri")
-    '("const-gchar*" "name")
-    '("GError**" "error")
+    '("time_t" "visited")
   )
 )
 
-(define-method remove_item
+(define-method to_data
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_remove_item")
-  (return-type "gboolean")
+  (c-name "g_bookmark_file_to_data")
+  (return-type "gchar*")
   (parameters
-    '("const-gchar*" "uri")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method move_item
+(define-method to_file
   (of-object "GBookmarkFile")
-  (c-name "g_bookmark_file_move_item")
+  (c-name "g_bookmark_file_to_file")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "old_uri")
-    '("const-gchar*" "new_uri")
+    '("const-gchar*" "filename")
     '("GError**" "error")
   )
 )
 
-
-
-;; From gbsearcharray.h
-
-(define-function g_bsearch_array_create
-  (c-name "g_bsearch_array_create")
-  (return-type "GBSearchArray*")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-  )
-)
-
-(define-method get_nth
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_get_nth")
-  (return-type "gpointer")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("guint" "nth")
-  )
-)
-
-(define-method get_index
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_get_index")
-  (return-type "guint")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("gconstpointer" "node_in_array")
-  )
-)
-
-(define-method remove
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_remove")
-  (return-type "GBSearchArray*")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("guint" "index_")
-  )
-)
-
-(define-method grow
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_grow")
-  (return-type "GBSearchArray*")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("guint" "index")
-  )
-)
-
-(define-method insert
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_insert")
-  (return-type "GBSearchArray*")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("gconstpointer" "key_node")
-  )
-)
-
-(define-method replace
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_replace")
-  (return-type "GBSearchArray*")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("gconstpointer" "key_node")
-  )
-)
-
-(define-method free
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_free")
-  (return-type "none")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-  )
-)
-
-(define-method lookup_fuzzy
-  (of-object "GBSearchArray")
-  (c-name "g_bsearch_array_lookup_fuzzy")
-  (return-type "gpointer")
-  (parameters
-    '("const-GBSearchConfig*" "bconfig")
-    '("gconstpointer" "key_node")
-    '("const-guint" "sibling_or_after")
-  )
-)
-
-
-
-;; From gbytes.h
-
-(define-function g_bytes_new
+(define-function new
   (c-name "g_bytes_new")
-  (is-constructor-of "GBytes")
   (return-type "GBytes*")
   (parameters
     '("gconstpointer" "data")
@@ -2484,25 +567,25 @@
   )
 )
 
-(define-function g_bytes_new_take
-  (c-name "g_bytes_new_take")
+(define-function new_static
+  (c-name "g_bytes_new_static")
   (return-type "GBytes*")
   (parameters
-    '("gpointer" "data")
+    '("gconstpointer" "data")
     '("gsize" "size")
   )
 )
 
-(define-function g_bytes_new_static
-  (c-name "g_bytes_new_static")
+(define-function new_take
+  (c-name "g_bytes_new_take")
   (return-type "GBytes*")
   (parameters
-    '("gconstpointer" "data")
+    '("const-gpointer" "data")
     '("gsize" "size")
   )
 )
 
-(define-function g_bytes_new_with_free_func
+(define-function new_with_free_func
   (c-name "g_bytes_new_with_free_func")
   (return-type "GBytes*")
   (parameters
@@ -2513,13 +596,21 @@
   )
 )
 
-(define-method new_from_bytes
+(define-method compare
   (of-object "GBytes")
-  (c-name "g_bytes_new_from_bytes")
-  (return-type "GBytes*")
+  (c-name "g_bytes_compare")
+  (return-type "gint")
   (parameters
-    '("gsize" "offset")
-    '("gsize" "length")
+    '("gconstpointer" "bytes2")
+  )
+)
+
+(define-method equal
+  (of-object "GBytes")
+  (c-name "g_bytes_equal")
+  (return-type "gboolean")
+  (parameters
+    '("gconstpointer" "bytes2")
   )
 )
 
@@ -2538,6 +629,22 @@
   (return-type "gsize")
 )
 
+(define-method hash
+  (of-object "GBytes")
+  (c-name "g_bytes_hash")
+  (return-type "guint")
+)
+
+(define-method new_from_bytes
+  (of-object "GBytes")
+  (c-name "g_bytes_new_from_bytes")
+  (return-type "GBytes*")
+  (parameters
+    '("gsize" "offset")
+    '("gsize" "length")
+  )
+)
+
 (define-method ref
   (of-object "GBytes")
   (c-name "g_bytes_ref")
@@ -2550,106 +657,29 @@
   (return-type "none")
 )
 
-(define-method unref_to_data
-  (of-object "GBytes")
-  (c-name "g_bytes_unref_to_data")
-  (return-type "gpointer")
-  (parameters
-    '("gsize*" "size")
-  )
-)
-
 (define-method unref_to_array
   (of-object "GBytes")
   (c-name "g_bytes_unref_to_array")
-  (return-type "GByteArray*")
-)
-
-(define-function g_bytes_hash
-  (c-name "g_bytes_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "bytes")
-  )
-)
-
-(define-function g_bytes_equal
-  (c-name "g_bytes_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "bytes1")
-    '("gconstpointer" "bytes2")
-  )
-)
-
-(define-function g_bytes_compare
-  (c-name "g_bytes_compare")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "bytes1")
-    '("gconstpointer" "bytes2")
-  )
-)
-
-
-
-;; From gcharset.h
-
-(define-function g_get_charset
-  (c-name "g_get_charset")
-  (return-type "gboolean")
-  (parameters
-    '("const-char**" "charset")
-  )
-)
-
-(define-function g_get_codeset
-  (c-name "g_get_codeset")
-  (return-type "gchar*")
-)
-
-(define-function g_get_language_names
-  (c-name "g_get_language_names")
-  (return-type "const-gchar*-const*")
+  (return-type "const-GByteArray*")
 )
 
-(define-function g_get_locale_variants
-  (c-name "g_get_locale_variants")
-  (return-type "gchar**")
+(define-method unref_to_data
+  (of-object "GBytes")
+  (c-name "g_bytes_unref_to_data")
+  (return-type "gpointer")
   (parameters
-    '("const-gchar*" "locale")
+    '("gsize*" "size")
   )
 )
 
-
-
-;; From gcharsetprivate.h
-
-
-
-;; From gchecksum.h
-
-(define-method get_length
-  (of-object "GChecksumType")
-  (c-name "g_checksum_type_get_length")
-  (return-type "gssize")
-)
-
-(define-function g_checksum_new
+(define-function new
   (c-name "g_checksum_new")
-  (is-constructor-of "GChecksum")
   (return-type "GChecksum*")
   (parameters
     '("GChecksumType" "checksum_type")
   )
 )
 
-(define-method reset
-  (of-object "GChecksum")
-  (c-name "g_checksum_reset")
-  (return-type "none")
-)
-
 (define-method copy
   (of-object "GChecksum")
   (c-name "g_checksum_copy")
@@ -2662,13 +692,13 @@
   (return-type "none")
 )
 
-(define-method update
+(define-method get_digest
   (of-object "GChecksum")
-  (c-name "g_checksum_update")
+  (c-name "g_checksum_get_digest")
   (return-type "none")
   (parameters
-    '("const-guchar*" "data")
-    '("gssize" "length")
+    '("guint8*" "buffer")
+    '("gsize*" "digest_len")
   )
 )
 
@@ -2678,451 +708,71 @@
   (return-type "const-gchar*")
 )
 
-(define-method get_digest
+(define-method reset
   (of-object "GChecksum")
-  (c-name "g_checksum_get_digest")
+  (c-name "g_checksum_reset")
   (return-type "none")
-  (parameters
-    '("guint8*" "buffer")
-    '("gsize*" "digest_len")
-  )
 )
 
-(define-function g_compute_checksum_for_data
-  (c-name "g_compute_checksum_for_data")
-  (return-type "gchar*")
+(define-method update
+  (of-object "GChecksum")
+  (c-name "g_checksum_update")
+  (return-type "none")
   (parameters
-    '("GChecksumType" "checksum_type")
     '("const-guchar*" "data")
-    '("gsize" "length")
-  )
-)
-
-(define-function g_compute_checksum_for_string
-  (c-name "g_compute_checksum_for_string")
-  (return-type "gchar*")
-  (parameters
-    '("GChecksumType" "checksum_type")
-    '("const-gchar*" "str")
     '("gssize" "length")
   )
 )
 
-(define-function g_compute_checksum_for_bytes
-  (c-name "g_compute_checksum_for_bytes")
-  (return-type "gchar*")
-  (parameters
-    '("GChecksumType" "checksum_type")
-    '("GBytes*" "data")
-  )
-)
-
-
-
-;; From gconstructor.h
-
-
-
-;; From gconvert.h
-
-(define-function g_convert_error_quark
-  (c-name "g_convert_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_iconv_open
-  (c-name "g_iconv_open")
-  (return-type "GIConv")
-  (parameters
-    '("const-gchar*" "to_codeset")
-    '("const-gchar*" "from_codeset")
-  )
-)
-
-(define-method iconv
-  (of-object "GIConv")
-  (c-name "g_iconv")
-  (return-type "gsize")
-  (parameters
-    '("gchar**" "inbuf")
-    '("gsize*" "inbytes_left")
-    '("gchar**" "outbuf")
-    '("gsize*" "outbytes_left")
-  )
-)
-
-(define-method close
-  (of-object "GIConv")
-  (c-name "g_iconv_close")
-  (return-type "gint")
-)
-
-(define-function g_convert
-  (c-name "g_convert")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-    '("const-gchar*" "to_codeset")
-    '("const-gchar*" "from_codeset")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_convert_with_iconv
-  (c-name "g_convert_with_iconv")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-    '("GIConv" "converter")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_convert_with_fallback
-  (c-name "g_convert_with_fallback")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-    '("const-gchar*" "to_codeset")
-    '("const-gchar*" "from_codeset")
-    '("const-gchar*" "fallback")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_locale_to_utf8
-  (c-name "g_locale_to_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "opsysstring")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_locale_from_utf8
-  (c-name "g_locale_from_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "utf8string")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_to_utf8
-  (c-name "g_filename_to_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "opsysstring")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_from_utf8
-  (c-name "g_filename_from_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "utf8string")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_from_uri
-  (c-name "g_filename_from_uri")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "uri")
-    '("gchar**" "hostname")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_to_uri
-  (c-name "g_filename_to_uri")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "hostname")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_display_name
-  (c-name "g_filename_display_name")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "filename")
-  )
-)
-
-(define-function g_get_filename_charsets
-  (c-name "g_get_filename_charsets")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar***" "charsets")
-  )
-)
-
-(define-function g_filename_display_basename
-  (c-name "g_filename_display_basename")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "filename")
-  )
-)
-
-(define-function g_uri_list_extract_uris
-  (c-name "g_uri_list_extract_uris")
-  (return-type "gchar**")
-  (parameters
-    '("const-gchar*" "uri_list")
-  )
-)
-
-(define-function g_filename_to_utf8_utf8
-  (c-name "g_filename_to_utf8_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "opsysstring")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_from_utf8_utf8
-  (c-name "g_filename_from_utf8_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "utf8string")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_from_uri_utf8
-  (c-name "g_filename_from_uri_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "uri")
-    '("gchar**" "hostname")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_to_uri_utf8
-  (c-name "g_filename_to_uri_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "hostname")
-    '("GError**" "error")
-  )
-)
-
-
-
-;; From gdataset.h
-
-(define-function g_datalist_init
-  (c-name "g_datalist_init")
-  (return-type "none")
-  (parameters
-    '("GData**" "datalist")
-  )
-)
-
-(define-function g_datalist_clear
-  (c-name "g_datalist_clear")
-  (return-type "none")
-  (parameters
-    '("GData**" "datalist")
-  )
-)
-
-(define-function g_datalist_id_get_data
-  (c-name "g_datalist_id_get_data")
-  (return-type "gpointer")
-  (parameters
-    '("GData**" "datalist")
-    '("GQuark" "key_id")
-  )
-)
-
-(define-function g_datalist_id_set_data_full
-  (c-name "g_datalist_id_set_data_full")
-  (return-type "none")
-  (parameters
-    '("GData**" "datalist")
-    '("GQuark" "key_id")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy_func")
-  )
-)
-
-(define-function g_datalist_id_dup_data
-  (c-name "g_datalist_id_dup_data")
-  (return-type "gpointer")
-  (parameters
-    '("GData**" "datalist")
-    '("GQuark" "key_id")
-    '("GDuplicateFunc" "dup_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-function g_datalist_id_replace_data
-  (c-name "g_datalist_id_replace_data")
-  (return-type "gboolean")
-  (parameters
-    '("GData**" "datalist")
-    '("GQuark" "key_id")
-    '("gpointer" "oldval")
-    '("gpointer" "newval")
-    '("GDestroyNotify" "destroy")
-    '("GDestroyNotify*" "old_destroy")
-  )
-)
-
-(define-function g_datalist_id_remove_no_notify
-  (c-name "g_datalist_id_remove_no_notify")
-  (return-type "gpointer")
-  (parameters
-    '("GData**" "datalist")
-    '("GQuark" "key_id")
-  )
-)
-
-(define-function g_datalist_foreach
-  (c-name "g_datalist_foreach")
+(define-method broadcast
+  (of-object "GCond")
+  (c-name "g_cond_broadcast")
   (return-type "none")
-  (parameters
-    '("GData**" "datalist")
-    '("GDataForeachFunc" "func")
-    '("gpointer" "user_data")
-  )
 )
 
-(define-function g_datalist_set_flags
-  (c-name "g_datalist_set_flags")
+(define-method clear
+  (of-object "GCond")
+  (c-name "g_cond_clear")
   (return-type "none")
-  (parameters
-    '("GData**" "datalist")
-    '("guint" "flags")
-  )
 )
 
-(define-function g_datalist_unset_flags
-  (c-name "g_datalist_unset_flags")
+(define-method init
+  (of-object "GCond")
+  (c-name "g_cond_init")
   (return-type "none")
-  (parameters
-    '("GData**" "datalist")
-    '("guint" "flags")
-  )
-)
-
-(define-function g_datalist_get_flags
-  (c-name "g_datalist_get_flags")
-  (return-type "guint")
-  (parameters
-    '("GData**" "datalist")
-  )
 )
 
-(define-function g_dataset_destroy
-  (c-name "g_dataset_destroy")
+(define-method signal
+  (of-object "GCond")
+  (c-name "g_cond_signal")
   (return-type "none")
-  (parameters
-    '("gconstpointer" "dataset_location")
-  )
 )
 
-(define-function g_dataset_id_get_data
-  (c-name "g_dataset_id_get_data")
-  (return-type "gpointer")
-  (parameters
-    '("gconstpointer" "dataset_location")
-    '("GQuark" "key_id")
-  )
-)
-
-(define-function g_datalist_get_data
-  (c-name "g_datalist_get_data")
-  (return-type "gpointer")
-  (parameters
-    '("GData**" "datalist")
-    '("const-gchar*" "key")
-  )
-)
-
-(define-function g_dataset_id_set_data_full
-  (c-name "g_dataset_id_set_data_full")
+(define-method wait
+  (of-object "GCond")
+  (c-name "g_cond_wait")
   (return-type "none")
   (parameters
-    '("gconstpointer" "dataset_location")
-    '("GQuark" "key_id")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy_func")
-  )
-)
-
-(define-function g_dataset_id_remove_no_notify
-  (c-name "g_dataset_id_remove_no_notify")
-  (return-type "gpointer")
-  (parameters
-    '("gconstpointer" "dataset_location")
-    '("GQuark" "key_id")
+    '("GMutex*" "mutex")
   )
 )
 
-(define-function g_dataset_foreach
-  (c-name "g_dataset_foreach")
-  (return-type "none")
+(define-method wait_until
+  (of-object "GCond")
+  (c-name "g_cond_wait_until")
+  (return-type "gboolean")
   (parameters
-    '("gconstpointer" "dataset_location")
-    '("GDataForeachFunc" "func")
-    '("gpointer" "user_data")
+    '("GMutex*" "mutex")
+    '("gint64" "end_time")
   )
 )
 
-
-
-;; From gdatasetprivate.h
-
-
-
-;; From gdate.h
-
-(define-function g_date_new
+(define-function new
   (c-name "g_date_new")
-  (is-constructor-of "GDate")
   (return-type "GDate*")
 )
 
-(define-function g_date_new_dmy
+(define-function new_dmy
   (c-name "g_date_new_dmy")
   (return-type "GDate*")
   (parameters
@@ -3132,7 +782,7 @@
   )
 )
 
-(define-function g_date_new_julian
+(define-function new_julian
   (c-name "g_date_new_julian")
   (return-type "GDate*")
   (parameters
@@ -3140,90 +790,92 @@
   )
 )
 
-(define-method free
+(define-method add_days
   (of-object "GDate")
-  (c-name "g_date_free")
+  (c-name "g_date_add_days")
   (return-type "none")
+  (parameters
+    '("guint" "n_days")
+  )
 )
 
-(define-method valid
+(define-method add_months
   (of-object "GDate")
-  (c-name "g_date_valid")
-  (return-type "gboolean")
-)
-
-(define-function g_date_valid_day
-  (c-name "g_date_valid_day")
-  (return-type "gboolean")
+  (c-name "g_date_add_months")
+  (return-type "none")
   (parameters
-    '("GDateDay" "day")
+    '("guint" "n_months")
   )
 )
 
-(define-function g_date_valid_month
-  (c-name "g_date_valid_month")
-  (return-type "gboolean")
+(define-method add_years
+  (of-object "GDate")
+  (c-name "g_date_add_years")
+  (return-type "none")
   (parameters
-    '("GDateMonth" "month")
+    '("guint" "n_years")
   )
 )
 
-(define-function g_date_valid_year
-  (c-name "g_date_valid_year")
-  (return-type "gboolean")
+(define-method clamp
+  (of-object "GDate")
+  (c-name "g_date_clamp")
+  (return-type "none")
   (parameters
-    '("GDateYear" "year")
+    '("const-GDate*" "min_date")
+    '("const-GDate*" "max_date")
   )
 )
 
-(define-function g_date_valid_weekday
-  (c-name "g_date_valid_weekday")
-  (return-type "gboolean")
+(define-method clear
+  (of-object "GDate")
+  (c-name "g_date_clear")
+  (return-type "none")
   (parameters
-    '("GDateWeekday" "weekday")
+    '("guint" "n_dates")
   )
 )
 
-(define-function g_date_valid_julian
-  (c-name "g_date_valid_julian")
-  (return-type "gboolean")
+(define-method compare
+  (of-object "GDate")
+  (c-name "g_date_compare")
+  (return-type "gint")
   (parameters
-    '("guint32" "julian_date")
+    '("const-GDate*" "rhs")
   )
 )
 
-(define-function g_date_valid_dmy
-  (c-name "g_date_valid_dmy")
-  (return-type "gboolean")
+(define-method days_between
+  (of-object "GDate")
+  (c-name "g_date_days_between")
+  (return-type "gint")
   (parameters
-    '("GDateDay" "day")
-    '("GDateMonth" "month")
-    '("GDateYear" "year")
+    '("const-GDate*" "date2")
   )
 )
 
-(define-method get_weekday
+(define-method free
   (of-object "GDate")
-  (c-name "g_date_get_weekday")
-  (return-type "GDateWeekday")
+  (c-name "g_date_free")
+  (return-type "none")
 )
 
-(define-method get_month
+(define-method get_day
   (of-object "GDate")
-  (c-name "g_date_get_month")
-  (return-type "GDateMonth")
+  (c-name "g_date_get_day")
+  (return-type "GDateDay")
 )
 
-(define-method get_year
+(define-method get_day_of_year
   (of-object "GDate")
-  (c-name "g_date_get_year")
-  (return-type "GDateYear")
+  (c-name "g_date_get_day_of_year")
+  (return-type "guint")
 )
 
-(define-method get_day
+(define-method get_iso8601_week_of_year
   (of-object "GDate")
-  (c-name "g_date_get_day")
-  (return-type "GDateDay")
+  (c-name "g_date_get_iso8601_week_of_year")
+  (return-type "guint")
 )
 
 (define-method get_julian
@@ -3232,81 +884,54 @@
   (return-type "guint32")
 )
 
-(define-method get_day_of_year
-  (of-object "GDate")
-  (c-name "g_date_get_day_of_year")
-  (return-type "guint")
-)
-
 (define-method get_monday_week_of_year
   (of-object "GDate")
   (c-name "g_date_get_monday_week_of_year")
   (return-type "guint")
 )
 
-(define-method get_sunday_week_of_year
+(define-method get_month
   (of-object "GDate")
-  (c-name "g_date_get_sunday_week_of_year")
-  (return-type "guint")
+  (c-name "g_date_get_month")
+  (return-type "GDateMonth")
 )
 
-(define-method get_iso8601_week_of_year
+(define-method get_sunday_week_of_year
   (of-object "GDate")
-  (c-name "g_date_get_iso8601_week_of_year")
+  (c-name "g_date_get_sunday_week_of_year")
   (return-type "guint")
 )
 
-(define-method clear
-  (of-object "GDate")
-  (c-name "g_date_clear")
-  (return-type "none")
-  (parameters
-    '("guint" "n_dates")
-  )
-)
-
-(define-method set_parse
+(define-method get_weekday
   (of-object "GDate")
-  (c-name "g_date_set_parse")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "str")
-  )
+  (c-name "g_date_get_weekday")
+  (return-type "GDateWeekday")
 )
 
-(define-method set_time_t
+(define-method get_year
   (of-object "GDate")
-  (c-name "g_date_set_time_t")
-  (return-type "none")
-  (parameters
-    '("time_t" "timet")
-  )
+  (c-name "g_date_get_year")
+  (return-type "GDateYear")
 )
 
-(define-method set_time_val
+(define-method is_first_of_month
   (of-object "GDate")
-  (c-name "g_date_set_time_val")
-  (return-type "none")
-  (parameters
-    '("GTimeVal*" "timeval")
-  )
+  (c-name "g_date_is_first_of_month")
+  (return-type "gboolean")
 )
 
-(define-method set_time
+(define-method is_last_of_month
   (of-object "GDate")
-  (c-name "g_date_set_time")
-  (return-type "none")
-  (parameters
-    '("GTime" "time_")
-  )
+  (c-name "g_date_is_last_of_month")
+  (return-type "gboolean")
 )
 
-(define-method set_month
+(define-method order
   (of-object "GDate")
-  (c-name "g_date_set_month")
+  (c-name "g_date_order")
   (return-type "none")
   (parameters
-    '("GDateMonth" "month")
+    '("GDate*" "date2")
   )
 )
 
@@ -3319,15 +944,6 @@
   )
 )
 
-(define-method set_year
-  (of-object "GDate")
-  (c-name "g_date_set_year")
-  (return-type "none")
-  (parameters
-    '("GDateYear" "year")
-  )
-)
-
 (define-method set_dmy
   (of-object "GDate")
   (c-name "g_date_set_dmy")
@@ -3348,120 +964,84 @@
   )
 )
 
-(define-method is_first_of_month
-  (of-object "GDate")
-  (c-name "g_date_is_first_of_month")
-  (return-type "gboolean")
-)
-
-(define-method is_last_of_month
-  (of-object "GDate")
-  (c-name "g_date_is_last_of_month")
-  (return-type "gboolean")
-)
-
-(define-method add_days
+(define-method set_month
   (of-object "GDate")
-  (c-name "g_date_add_days")
+  (c-name "g_date_set_month")
   (return-type "none")
   (parameters
-    '("guint" "n_days")
+    '("GDateMonth" "month")
   )
 )
 
-(define-method subtract_days
+(define-method set_parse
   (of-object "GDate")
-  (c-name "g_date_subtract_days")
+  (c-name "g_date_set_parse")
   (return-type "none")
   (parameters
-    '("guint" "n_days")
+    '("const-gchar*" "str")
   )
 )
 
-(define-method add_months
+(define-method set_time
   (of-object "GDate")
-  (c-name "g_date_add_months")
+  (c-name "g_date_set_time")
   (return-type "none")
   (parameters
-    '("guint" "n_months")
+    '("GTime" "time_")
   )
 )
 
-(define-method subtract_months
+(define-method set_time_t
   (of-object "GDate")
-  (c-name "g_date_subtract_months")
+  (c-name "g_date_set_time_t")
   (return-type "none")
   (parameters
-    '("guint" "n_months")
+    '("time_t" "timet")
   )
 )
 
-(define-method add_years
+(define-method set_time_val
   (of-object "GDate")
-  (c-name "g_date_add_years")
+  (c-name "g_date_set_time_val")
   (return-type "none")
   (parameters
-    '("guint" "n_years")
+    '("GTimeVal*" "timeval")
   )
 )
 
-(define-method subtract_years
+(define-method set_year
   (of-object "GDate")
-  (c-name "g_date_subtract_years")
+  (c-name "g_date_set_year")
   (return-type "none")
   (parameters
-    '("guint" "n_years")
-  )
-)
-
-(define-function g_date_is_leap_year
-  (c-name "g_date_is_leap_year")
-  (return-type "gboolean")
-  (parameters
     '("GDateYear" "year")
   )
 )
 
-(define-function g_date_get_days_in_month
-  (c-name "g_date_get_days_in_month")
-  (return-type "guint8")
-  (parameters
-    '("GDateMonth" "month")
-    '("GDateYear" "year")
-  )
-)
-
-(define-function g_date_get_monday_weeks_in_year
-  (c-name "g_date_get_monday_weeks_in_year")
-  (return-type "guint8")
-  (parameters
-    '("GDateYear" "year")
-  )
-)
-
-(define-function g_date_get_sunday_weeks_in_year
-  (c-name "g_date_get_sunday_weeks_in_year")
-  (return-type "guint8")
+(define-method subtract_days
+  (of-object "GDate")
+  (c-name "g_date_subtract_days")
+  (return-type "none")
   (parameters
-    '("GDateYear" "year")
+    '("guint" "n_days")
   )
 )
 
-(define-method days_between
+(define-method subtract_months
   (of-object "GDate")
-  (c-name "g_date_days_between")
-  (return-type "gint")
+  (c-name "g_date_subtract_months")
+  (return-type "none")
   (parameters
-    '("const-GDate*" "date2")
+    '("guint" "n_months")
   )
 )
 
-(define-method compare
+(define-method subtract_years
   (of-object "GDate")
-  (c-name "g_date_compare")
-  (return-type "gint")
+  (c-name "g_date_subtract_years")
+  (return-type "none")
   (parameters
-    '("const-GDate*" "rhs")
+    '("guint" "n_years")
   )
 )
 
@@ -3470,75 +1050,47 @@
   (c-name "g_date_to_struct_tm")
   (return-type "none")
   (parameters
-    '("struct-tm*" "tm")
+    '("tm*" "tm")
   )
 )
 
-(define-method clamp
+(define-method valid
   (of-object "GDate")
-  (c-name "g_date_clamp")
-  (return-type "none")
-  (parameters
-    '("const-GDate*" "min_date")
-    '("const-GDate*" "max_date")
-  )
+  (c-name "g_date_valid")
+  (return-type "gboolean")
 )
 
-(define-method order
-  (of-object "GDate")
-  (c-name "g_date_order")
-  (return-type "none")
+(define-function new
+  (c-name "g_date_time_new")
+  (return-type "GDateTime*")
   (parameters
-    '("GDate*" "date2")
+    '("GTimeZone*" "tz")
+    '("gint" "year")
+    '("gint" "month")
+    '("gint" "day")
+    '("gint" "hour")
+    '("gint" "minute")
+    '("gdouble" "seconds")
   )
 )
 
-(define-function g_date_strftime
-  (c-name "g_date_strftime")
-  (return-type "gsize")
+(define-function new_from_timeval_local
+  (c-name "g_date_time_new_from_timeval_local")
+  (return-type "GDateTime*")
   (parameters
-    '("gchar*" "s")
-    '("gsize" "slen")
-    '("const-gchar*" "format")
-    '("const-GDate*" "date")
+    '("const-GTimeVal*" "tv")
   )
 )
 
-
-
-;; From gdatetime.h
-
-(define-method unref
-  (of-object "GDateTime")
-  (c-name "g_date_time_unref")
-  (return-type "none")
-)
-
-(define-method ref
-  (of-object "GDateTime")
-  (c-name "g_date_time_ref")
-  (return-type "GDateTime*")
-)
-
-(define-function g_date_time_new_now
-  (c-name "g_date_time_new_now")
+(define-function new_from_timeval_utc
+  (c-name "g_date_time_new_from_timeval_utc")
   (return-type "GDateTime*")
   (parameters
-    '("GTimeZone*" "tz")
+    '("const-GTimeVal*" "tv")
   )
 )
 
-(define-function g_date_time_new_now_local
-  (c-name "g_date_time_new_now_local")
-  (return-type "GDateTime*")
-)
-
-(define-function g_date_time_new_now_utc
-  (c-name "g_date_time_new_now_utc")
-  (return-type "GDateTime*")
-)
-
-(define-function g_date_time_new_from_unix_local
+(define-function new_from_unix_local
   (c-name "g_date_time_new_from_unix_local")
   (return-type "GDateTime*")
   (parameters
@@ -3546,7 +1098,7 @@
   )
 )
 
-(define-function g_date_time_new_from_unix_utc
+(define-function new_from_unix_utc
   (c-name "g_date_time_new_from_unix_utc")
   (return-type "GDateTime*")
   (parameters
@@ -3554,28 +1106,10 @@
   )
 )
 
-(define-function g_date_time_new_from_timeval_local
-  (c-name "g_date_time_new_from_timeval_local")
-  (return-type "GDateTime*")
-  (parameters
-    '("const-GTimeVal*" "tv")
-  )
-)
-
-(define-function g_date_time_new_from_timeval_utc
-  (c-name "g_date_time_new_from_timeval_utc")
-  (return-type "GDateTime*")
-  (parameters
-    '("const-GTimeVal*" "tv")
-  )
-)
-
-(define-function g_date_time_new
-  (c-name "g_date_time_new")
-  (is-constructor-of "GDateTime")
+(define-function new_local
+  (c-name "g_date_time_new_local")
   (return-type "GDateTime*")
   (parameters
-    '("GTimeZone*" "tz")
     '("gint" "year")
     '("gint" "month")
     '("gint" "day")
@@ -3585,20 +1119,25 @@
   )
 )
 
-(define-function g_date_time_new_local
-  (c-name "g_date_time_new_local")
+(define-function new_now
+  (c-name "g_date_time_new_now")
   (return-type "GDateTime*")
   (parameters
-    '("gint" "year")
-    '("gint" "month")
-    '("gint" "day")
-    '("gint" "hour")
-    '("gint" "minute")
-    '("gdouble" "seconds")
+    '("GTimeZone*" "tz")
   )
 )
 
-(define-function g_date_time_new_utc
+(define-function new_now_local
+  (c-name "g_date_time_new_now_local")
+  (return-type "GDateTime*")
+)
+
+(define-function new_now_utc
+  (c-name "g_date_time_new_now_utc")
+  (return-type "GDateTime*")
+)
+
+(define-function new_utc
   (c-name "g_date_time_new_utc")
   (return-type "GDateTime*")
   (parameters
@@ -3620,39 +1159,26 @@
   )
 )
 
-(define-method add_years
+(define-method add_days
   (of-object "GDateTime")
-  (c-name "g_date_time_add_years")
+  (c-name "g_date_time_add_days")
   (return-type "GDateTime*")
   (parameters
-    '("gint" "years")
+    '("gint" "days")
   )
 )
 
-(define-method add_months
+(define-method add_full
   (of-object "GDateTime")
-  (c-name "g_date_time_add_months")
+  (c-name "g_date_time_add_full")
   (return-type "GDateTime*")
   (parameters
+    '("gint" "years")
     '("gint" "months")
-  )
-)
-
-(define-method add_weeks
-  (of-object "GDateTime")
-  (c-name "g_date_time_add_weeks")
-  (return-type "GDateTime*")
-  (parameters
-    '("gint" "weeks")
-  )
-)
-
-(define-method add_days
-  (of-object "GDateTime")
-  (c-name "g_date_time_add_days")
-  (return-type "GDateTime*")
-  (parameters
     '("gint" "days")
+    '("gint" "hours")
+    '("gint" "minutes")
+    '("gdouble" "seconds")
   )
 )
 
@@ -3674,6 +1200,15 @@
   )
 )
 
+(define-method add_months
+  (of-object "GDateTime")
+  (c-name "g_date_time_add_months")
+  (return-type "GDateTime*")
+  (parameters
+    '("gint" "months")
+  )
+)
+
 (define-method add_seconds
   (of-object "GDateTime")
   (c-name "g_date_time_add_seconds")
@@ -3683,26 +1218,21 @@
   )
 )
 
-(define-method add_full
+(define-method add_weeks
   (of-object "GDateTime")
-  (c-name "g_date_time_add_full")
+  (c-name "g_date_time_add_weeks")
   (return-type "GDateTime*")
   (parameters
-    '("gint" "years")
-    '("gint" "months")
-    '("gint" "days")
-    '("gint" "hours")
-    '("gint" "minutes")
-    '("gdouble" "seconds")
+    '("gint" "weeks")
   )
 )
 
-(define-function g_date_time_compare
-  (c-name "g_date_time_compare")
-  (return-type "gint")
+(define-method add_years
+  (of-object "GDateTime")
+  (c-name "g_date_time_add_years")
+  (return-type "GDateTime*")
   (parameters
-    '("gconstpointer" "dt1")
-    '("gconstpointer" "dt2")
+    '("gint" "years")
   )
 )
 
@@ -3715,64 +1245,21 @@
   )
 )
 
-(define-function g_date_time_hash
-  (c-name "g_date_time_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "datetime")
-  )
-)
-
-(define-function g_date_time_equal
-  (c-name "g_date_time_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "dt1")
-    '("gconstpointer" "dt2")
-  )
-)
-
-(define-method get_ymd
+(define-method format
   (of-object "GDateTime")
-  (c-name "g_date_time_get_ymd")
-  (return-type "none")
+  (c-name "g_date_time_format")
+  (return-type "gchar*")
   (parameters
-    '("gint*" "year")
-    '("gint*" "month")
-    '("gint*" "day")
+    '("const-gchar*" "format")
   )
 )
 
-(define-method get_year
-  (of-object "GDateTime")
-  (c-name "g_date_time_get_year")
-  (return-type "gint")
-)
-
-(define-method get_month
-  (of-object "GDateTime")
-  (c-name "g_date_time_get_month")
-  (return-type "gint")
-)
-
 (define-method get_day_of_month
   (of-object "GDateTime")
   (c-name "g_date_time_get_day_of_month")
   (return-type "gint")
 )
 
-(define-method get_week_numbering_year
-  (of-object "GDateTime")
-  (c-name "g_date_time_get_week_numbering_year")
-  (return-type "gint")
-)
-
-(define-method get_week_of_year
-  (of-object "GDateTime")
-  (c-name "g_date_time_get_week_of_year")
-  (return-type "gint")
-)
-
 (define-method get_day_of_week
   (of-object "GDateTime")
   (c-name "g_date_time_get_day_of_week")
@@ -3791,21 +1278,27 @@
   (return-type "gint")
 )
 
+(define-method get_microsecond
+  (of-object "GDateTime")
+  (c-name "g_date_time_get_microsecond")
+  (return-type "gint")
+)
+
 (define-method get_minute
   (of-object "GDateTime")
   (c-name "g_date_time_get_minute")
   (return-type "gint")
 )
 
-(define-method get_second
+(define-method get_month
   (of-object "GDateTime")
-  (c-name "g_date_time_get_second")
+  (c-name "g_date_time_get_month")
   (return-type "gint")
 )
 
-(define-method get_microsecond
+(define-method get_second
   (of-object "GDateTime")
-  (c-name "g_date_time_get_microsecond")
+  (c-name "g_date_time_get_second")
   (return-type "gint")
 )
 
@@ -3815,19 +1308,10 @@
   (return-type "gdouble")
 )
 
-(define-method to_unix
-  (of-object "GDateTime")
-  (c-name "g_date_time_to_unix")
-  (return-type "gint64")
-)
-
-(define-method to_timeval
+(define-method get_timezone_abbreviation
   (of-object "GDateTime")
-  (c-name "g_date_time_to_timeval")
-  (return-type "gboolean")
-  (parameters
-    '("GTimeVal*" "tv")
-  )
+  (c-name "g_date_time_get_timezone_abbreviation")
+  (return-type "const-gchar*")
 )
 
 (define-method get_utc_offset
@@ -3836,10 +1320,33 @@
   (return-type "GTimeSpan")
 )
 
-(define-method get_timezone_abbreviation
+(define-method get_week_numbering_year
   (of-object "GDateTime")
-  (c-name "g_date_time_get_timezone_abbreviation")
-  (return-type "const-gchar*")
+  (c-name "g_date_time_get_week_numbering_year")
+  (return-type "gint")
+)
+
+(define-method get_week_of_year
+  (of-object "GDateTime")
+  (c-name "g_date_time_get_week_of_year")
+  (return-type "gint")
+)
+
+(define-method get_year
+  (of-object "GDateTime")
+  (c-name "g_date_time_get_year")
+  (return-type "gint")
+)
+
+(define-method get_ymd
+  (of-object "GDateTime")
+  (c-name "g_date_time_get_ymd")
+  (return-type "none")
+  (parameters
+    '("gint*" "year")
+    '("gint*" "month")
+    '("gint*" "day")
+  )
 )
 
 (define-method is_daylight_savings
@@ -3848,13 +1355,10 @@
   (return-type "gboolean")
 )
 
-(define-method to_timezone
+(define-method ref
   (of-object "GDateTime")
-  (c-name "g_date_time_to_timezone")
+  (c-name "g_date_time_ref")
   (return-type "GDateTime*")
-  (parameters
-    '("GTimeZone*" "tz")
-  )
 )
 
 (define-method to_local
@@ -3863,44 +1367,39 @@
   (return-type "GDateTime*")
 )
 
-(define-method to_utc
+(define-method to_timeval
   (of-object "GDateTime")
-  (c-name "g_date_time_to_utc")
-  (return-type "GDateTime*")
+  (c-name "g_date_time_to_timeval")
+  (return-type "gboolean")
+  (parameters
+    '("GTimeVal*" "tv")
+  )
 )
 
-(define-method format
+(define-method to_timezone
   (of-object "GDateTime")
-  (c-name "g_date_time_format")
-  (return-type "gchar*")
+  (c-name "g_date_time_to_timezone")
+  (return-type "GDateTime*")
   (parameters
-    '("const-gchar*" "format")
+    '("GTimeZone*" "tz")
   )
 )
 
-
-
-;; From gdir.h
-
-(define-function g_dir_open
-  (c-name "g_dir_open")
-  (return-type "GDir*")
-  (parameters
-    '("const-gchar*" "path")
-    '("guint" "flags")
-    '("GError**" "error")
-  )
+(define-method to_unix
+  (of-object "GDateTime")
+  (c-name "g_date_time_to_unix")
+  (return-type "gint64")
 )
 
-(define-method read_name
-  (of-object "GDir")
-  (c-name "g_dir_read_name")
-  (return-type "const-gchar*")
+(define-method to_utc
+  (of-object "GDateTime")
+  (c-name "g_date_time_to_utc")
+  (return-type "GDateTime*")
 )
 
-(define-method rewind
-  (of-object "GDir")
-  (c-name "g_dir_rewind")
+(define-method unref
+  (of-object "GDateTime")
+  (c-name "g_date_time_unref")
   (return-type "none")
 )
 
@@ -3910,134 +1409,29 @@
   (return-type "none")
 )
 
-(define-function g_dir_open_utf8
-  (c-name "g_dir_open_utf8")
-  (return-type "GDir*")
-  (parameters
-    '("const-gchar*" "path")
-    '("guint" "flags")
-    '("GError**" "error")
-  )
-)
-
-(define-method read_name_utf8
+(define-method read_name
   (of-object "GDir")
-  (c-name "g_dir_read_name_utf8")
-  (return-type "const-gchar*")
-)
-
-
-
-;; From genviron.h
-
-(define-function g_getenv
-  (c-name "g_getenv")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "variable")
-  )
-)
-
-(define-function g_setenv
-  (c-name "g_setenv")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "variable")
-    '("const-gchar*" "value")
-    '("gboolean" "overwrite")
-  )
-)
-
-(define-function g_unsetenv
-  (c-name "g_unsetenv")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "variable")
-  )
-)
-
-(define-function g_listenv
-  (c-name "g_listenv")
-  (return-type "gchar**")
-)
-
-(define-function g_get_environ
-  (c-name "g_get_environ")
-  (return-type "gchar**")
-)
-
-(define-function g_environ_getenv
-  (c-name "g_environ_getenv")
-  (return-type "const-gchar*")
-  (parameters
-    '("gchar**" "envp")
-    '("const-gchar*" "variable")
-  )
-)
-
-(define-function g_environ_setenv
-  (c-name "g_environ_setenv")
-  (return-type "gchar**")
-  (parameters
-    '("gchar**" "envp")
-    '("const-gchar*" "variable")
-    '("const-gchar*" "value")
-    '("gboolean" "overwrite")
-  )
-)
-
-(define-function g_environ_unsetenv
-  (c-name "g_environ_unsetenv")
-  (return-type "gchar**")
-  (parameters
-    '("gchar**" "envp")
-    '("const-gchar*" "variable")
-  )
-)
-
-(define-function g_getenv_utf8
-  (c-name "g_getenv_utf8")
+  (c-name "g_dir_read_name")
   (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "variable")
-  )
-)
-
-(define-function g_setenv_utf8
-  (c-name "g_setenv_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "variable")
-    '("const-gchar*" "value")
-    '("gboolean" "overwrite")
-  )
 )
 
-(define-function g_unsetenv_utf8
-  (c-name "g_unsetenv_utf8")
+(define-method rewind
+  (of-object "GDir")
+  (c-name "g_dir_rewind")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "variable")
-  )
 )
 
-
-
-;; From gerror.h
-
-(define-function g_error_new
+(define-function new
   (c-name "g_error_new")
-  (is-constructor-of "GError")
   (return-type "GError*")
   (parameters
     '("GQuark" "domain")
     '("gint" "code")
     '("const-gchar*" "format")
   )
-  (varargs #t)
 )
 
-(define-function g_error_new_literal
+(define-function new_literal
   (c-name "g_error_new_literal")
   (return-type "GError*")
   (parameters
@@ -4047,7 +1441,7 @@
   )
 )
 
-(define-function g_error_new_valist
+(define-function new_valist
   (c-name "g_error_new_valist")
   (return-type "GError*")
   (parameters
@@ -4058,580 +1452,32 @@
   )
 )
 
-(define-method free
-  (of-object "GError")
-  (c-name "g_error_free")
-  (return-type "none")
-)
-
 (define-method copy
   (of-object "GError")
   (c-name "g_error_copy")
   (return-type "GError*")
 )
 
-(define-method matches
+(define-method free
   (of-object "GError")
-  (c-name "g_error_matches")
-  (return-type "gboolean")
-  (parameters
-    '("GQuark" "domain")
-    '("gint" "code")
-  )
-)
-
-(define-function g_set_error
-  (c-name "g_set_error")
+  (c-name "g_error_free")
   (return-type "none")
-  (parameters
-    '("GError**" "err")
-    '("GQuark" "domain")
-    '("gint" "code")
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
 )
 
-(define-function g_set_error_literal
-  (c-name "g_set_error_literal")
-  (return-type "none")
+(define-method matches
+  (of-object "GError")
+  (c-name "g_error_matches")
+  (return-type "gboolean")
   (parameters
-    '("GError**" "err")
     '("GQuark" "domain")
     '("gint" "code")
-    '("const-gchar*" "message")
   )
 )
 
-(define-function g_propagate_error
-  (c-name "g_propagate_error")
-  (return-type "none")
-  (parameters
-    '("GError**" "dest")
-    '("GError*" "src")
-  )
-)
-
-(define-function g_clear_error
-  (c-name "g_clear_error")
-  (return-type "none")
-  (parameters
-    '("GError**" "err")
-  )
-)
-
-(define-function g_prefix_error
-  (c-name "g_prefix_error")
-  (return-type "none")
-  (parameters
-    '("GError**" "err")
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function g_propagate_prefixed_error
-  (c-name "g_propagate_prefixed_error")
-  (return-type "none")
-  (parameters
-    '("GError**" "dest")
-    '("GError*" "src")
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
-)
-
-
-
-;; From gfileutils.h
-
-(define-function g_file_error_quark
-  (c-name "g_file_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_file_error_from_errno
-  (c-name "g_file_error_from_errno")
-  (return-type "GFileError")
-  (parameters
-    '("gint" "err_no")
-  )
-)
-
-(define-function g_file_test
-  (c-name "g_file_test")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("GFileTest" "test")
-  )
-)
-
-(define-function g_file_get_contents
-  (c-name "g_file_get_contents")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("gchar**" "contents")
-    '("gsize*" "length")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_file_set_contents
-  (c-name "g_file_set_contents")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "contents")
-    '("gssize" "length")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_file_read_link
-  (c-name "g_file_read_link")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_mkdtemp
-  (c-name "g_mkdtemp")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "tmpl")
-  )
-)
-
-(define-function g_mkdtemp_full
-  (c-name "g_mkdtemp_full")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "tmpl")
-    '("gint" "mode")
-  )
-)
-
-(define-function g_mkstemp
-  (c-name "g_mkstemp")
-  (return-type "gint")
-  (parameters
-    '("gchar*" "tmpl")
-  )
-)
-
-(define-function g_mkstemp_full
-  (c-name "g_mkstemp_full")
-  (return-type "gint")
-  (parameters
-    '("gchar*" "tmpl")
-    '("gint" "flags")
-    '("gint" "mode")
-  )
-)
-
-(define-function g_file_open_tmp
-  (c-name "g_file_open_tmp")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "tmpl")
-    '("gchar**" "name_used")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_dir_make_tmp
-  (c-name "g_dir_make_tmp")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "tmpl")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_build_path
-  (c-name "g_build_path")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "separator")
-    '("const-gchar*" "first_element")
-  )
-  (varargs #t)
-)
-
-(define-function g_build_pathv
-  (c-name "g_build_pathv")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "separator")
-    '("gchar**" "args")
-  )
-)
-
-(define-function g_build_filename
-  (c-name "g_build_filename")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "first_element")
-  )
-  (varargs #t)
-)
-
-(define-function g_build_filenamev
-  (c-name "g_build_filenamev")
-  (return-type "gchar*")
-  (parameters
-    '("gchar**" "args")
-  )
-)
-
-(define-function g_mkdir_with_parents
-  (c-name "g_mkdir_with_parents")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "pathname")
-    '("gint" "mode")
-  )
-)
-
-(define-function g_path_is_absolute
-  (c-name "g_path_is_absolute")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function g_path_skip_root
-  (c-name "g_path_skip_root")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function g_basename
-  (c-name "g_basename")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function g_get_current_dir
-  (c-name "g_get_current_dir")
-  (return-type "gchar*")
-)
-
-(define-function g_path_get_basename
-  (c-name "g_path_get_basename")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function g_path_get_dirname
-  (c-name "g_path_get_dirname")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "file_name")
-  )
-)
-
-(define-function g_file_test_utf8
-  (c-name "g_file_test_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("GFileTest" "test")
-  )
-)
-
-(define-function g_file_get_contents_utf8
-  (c-name "g_file_get_contents_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("gchar**" "contents")
-    '("gsize*" "length")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_mkstemp_utf8
-  (c-name "g_mkstemp_utf8")
-  (return-type "gint")
-  (parameters
-    '("gchar*" "tmpl")
-  )
-)
-
-(define-function g_file_open_tmp_utf8
-  (c-name "g_file_open_tmp_utf8")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "tmpl")
-    '("gchar**" "name_used")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_get_current_dir_utf8
-  (c-name "g_get_current_dir_utf8")
-  (return-type "gchar*")
-)
-
-
-
-;; From ggettext.h
-
-(define-function g_strip_context
-  (c-name "g_strip_context")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "msgid")
-    '("const-gchar*" "msgval")
-  )
-)
-
-(define-function g_dgettext
-  (c-name "g_dgettext")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "domain")
-    '("const-gchar*" "msgid")
-  )
-)
-
-(define-function g_dcgettext
-  (c-name "g_dcgettext")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "domain")
-    '("const-gchar*" "msgid")
-    '("gint" "category")
-  )
-)
-
-(define-function g_dngettext
-  (c-name "g_dngettext")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "domain")
-    '("const-gchar*" "msgid")
-    '("const-gchar*" "msgid_plural")
-    '("gulong" "n")
-  )
-)
-
-(define-function g_dpgettext
-  (c-name "g_dpgettext")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "domain")
-    '("const-gchar*" "msgctxtid")
-    '("gsize" "msgidoffset")
-  )
-)
-
-(define-function g_dpgettext2
-  (c-name "g_dpgettext2")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "domain")
-    '("const-gchar*" "context")
-    '("const-gchar*" "msgid")
-  )
-)
-
-
-
-;; From ghash.h
-
-(define-function g_hash_table_new
-  (c-name "g_hash_table_new")
-  (is-constructor-of "GHashTable")
-  (return-type "GHashTable*")
-  (parameters
-    '("GHashFunc" "hash_func")
-    '("GEqualFunc" "key_equal_func")
-  )
-)
-
-(define-function g_hash_table_new_full
-  (c-name "g_hash_table_new_full")
+(define-method get_hash_table
+  (of-object "GHashTableIter")
+  (c-name "g_hash_table_iter_get_hash_table")
   (return-type "GHashTable*")
-  (parameters
-    '("GHashFunc" "hash_func")
-    '("GEqualFunc" "key_equal_func")
-    '("GDestroyNotify" "key_destroy_func")
-    '("GDestroyNotify" "value_destroy_func")
-  )
-)
-
-(define-method destroy
-  (of-object "GHashTable")
-  (c-name "g_hash_table_destroy")
-  (return-type "none")
-)
-
-(define-method insert
-  (of-object "GHashTable")
-  (c-name "g_hash_table_insert")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "key")
-    '("gpointer" "value")
-  )
-)
-
-(define-method replace
-  (of-object "GHashTable")
-  (c-name "g_hash_table_replace")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "key")
-    '("gpointer" "value")
-  )
-)
-
-(define-method add
-  (of-object "GHashTable")
-  (c-name "g_hash_table_add")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "key")
-  )
-)
-
-(define-method remove
-  (of-object "GHashTable")
-  (c-name "g_hash_table_remove")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "key")
-  )
-)
-
-(define-method remove_all
-  (of-object "GHashTable")
-  (c-name "g_hash_table_remove_all")
-  (return-type "none")
-)
-
-(define-method steal
-  (of-object "GHashTable")
-  (c-name "g_hash_table_steal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "key")
-  )
-)
-
-(define-method steal_all
-  (of-object "GHashTable")
-  (c-name "g_hash_table_steal_all")
-  (return-type "none")
-)
-
-(define-method lookup
-  (of-object "GHashTable")
-  (c-name "g_hash_table_lookup")
-  (return-type "gpointer")
-  (parameters
-    '("gconstpointer" "key")
-  )
-)
-
-(define-method contains
-  (of-object "GHashTable")
-  (c-name "g_hash_table_contains")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "key")
-  )
-)
-
-(define-method lookup_extended
-  (of-object "GHashTable")
-  (c-name "g_hash_table_lookup_extended")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "lookup_key")
-    '("gpointer*" "orig_key")
-    '("gpointer*" "value")
-  )
-)
-
-(define-method foreach
-  (of-object "GHashTable")
-  (c-name "g_hash_table_foreach")
-  (return-type "none")
-  (parameters
-    '("GHFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method find
-  (of-object "GHashTable")
-  (c-name "g_hash_table_find")
-  (return-type "gpointer")
-  (parameters
-    '("GHRFunc" "predicate")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method foreach_remove
-  (of-object "GHashTable")
-  (c-name "g_hash_table_foreach_remove")
-  (return-type "guint")
-  (parameters
-    '("GHRFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method foreach_steal
-  (of-object "GHashTable")
-  (c-name "g_hash_table_foreach_steal")
-  (return-type "guint")
-  (parameters
-    '("GHRFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method size
-  (of-object "GHashTable")
-  (c-name "g_hash_table_size")
-  (return-type "guint")
-)
-
-(define-method get_keys
-  (of-object "GHashTable")
-  (c-name "g_hash_table_get_keys")
-  (return-type "GList*")
-)
-
-(define-method get_values
-  (of-object "GHashTable")
-  (c-name "g_hash_table_get_values")
-  (return-type "GList*")
-)
-
-(define-method get_keys_as_array
-  (of-object "GHashTable")
-  (c-name "g_hash_table_get_keys_as_array")
-  (return-type "gpointer*")
-  (parameters
-    '("guint*" "length")
-  )
 )
 
 (define-method init
@@ -4653,12 +1499,6 @@
   )
 )
 
-(define-method get_hash_table
-  (of-object "GHashTableIter")
-  (c-name "g_hash_table_iter_get_hash_table")
-  (return-type "GHashTable*")
-)
-
 (define-method remove
   (of-object "GHashTableIter")
   (c-name "g_hash_table_iter_remove")
@@ -4680,122 +1520,26 @@
   (return-type "none")
 )
 
-(define-method ref
-  (of-object "GHashTable")
-  (c-name "g_hash_table_ref")
-  (return-type "GHashTable*")
+(define-method copy
+  (of-object "GHmac")
+  (c-name "g_hmac_copy")
+  (return-type "GHmac*")
 )
 
-(define-method unref
-  (of-object "GHashTable")
-  (c-name "g_hash_table_unref")
+(define-method get_digest
+  (of-object "GHmac")
+  (c-name "g_hmac_get_digest")
   (return-type "none")
-)
-
-(define-function g_str_equal
-  (c-name "g_str_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "v1")
-    '("gconstpointer" "v2")
-  )
-)
-
-(define-function g_str_hash
-  (c-name "g_str_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "v")
-  )
-)
-
-(define-function g_int_equal
-  (c-name "g_int_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "v1")
-    '("gconstpointer" "v2")
-  )
-)
-
-(define-function g_int_hash
-  (c-name "g_int_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "v")
-  )
-)
-
-(define-function g_int64_equal
-  (c-name "g_int64_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "v1")
-    '("gconstpointer" "v2")
-  )
-)
-
-(define-function g_int64_hash
-  (c-name "g_int64_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "v")
-  )
-)
-
-(define-function g_double_equal
-  (c-name "g_double_equal")
-  (return-type "gboolean")
   (parameters
-    '("gconstpointer" "v1")
-    '("gconstpointer" "v2")
-  )
-)
-
-(define-function g_double_hash
-  (c-name "g_double_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "v")
-  )
-)
-
-(define-function g_direct_hash
-  (c-name "g_direct_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "v")
-  )
-)
-
-(define-function g_direct_equal
-  (c-name "g_direct_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "v1")
-    '("gconstpointer" "v2")
-  )
-)
-
-
-
-;; From ghmac.h
-
-(define-function g_hmac_new
-  (c-name "g_hmac_new")
-  (is-constructor-of "GHmac")
-  (return-type "GHmac*")
-  (parameters
-    '("GChecksumType" "digest_type")
-    '("const-guchar*" "key")
-    '("gsize" "key_len")
+    '("guint8*" "buffer")
+    '("gsize*" "digest_len")
   )
 )
 
-(define-method copy
+(define-method get_string
   (of-object "GHmac")
-  (c-name "g_hmac_copy")
-  (return-type "GHmac*")
+  (c-name "g_hmac_get_string")
+  (return-type "const-gchar*")
 )
 
 (define-method ref
@@ -4820,56 +1564,12 @@
   )
 )
 
-(define-method get_string
-  (of-object "GHmac")
-  (c-name "g_hmac_get_string")
-  (return-type "const-gchar*")
-)
-
-(define-method get_digest
-  (of-object "GHmac")
-  (c-name "g_hmac_get_digest")
-  (return-type "none")
-  (parameters
-    '("guint8*" "buffer")
-    '("gsize*" "digest_len")
-  )
-)
-
-(define-function g_compute_hmac_for_data
-  (c-name "g_compute_hmac_for_data")
-  (return-type "gchar*")
-  (parameters
-    '("GChecksumType" "digest_type")
-    '("const-guchar*" "key")
-    '("gsize" "key_len")
-    '("const-guchar*" "data")
-    '("gsize" "length")
-  )
-)
-
-(define-function g_compute_hmac_for_string
-  (c-name "g_compute_hmac_for_string")
-  (return-type "gchar*")
-  (parameters
-    '("GChecksumType" "digest_type")
-    '("const-guchar*" "key")
-    '("gsize" "key_len")
-    '("const-gchar*" "str")
-    '("gssize" "length")
-  )
-)
-
-
-
-;; From ghook.h
-
-(define-method init
-  (of-object "GHookList")
-  (c-name "g_hook_list_init")
-  (return-type "none")
+(define-method compare_ids
+  (of-object "GHook")
+  (c-name "g_hook_compare_ids")
+  (return-type "gint")
   (parameters
-    '("guint" "hook_size")
+    '("GHook*" "sibling")
   )
 )
 
@@ -4879,164 +1579,12 @@
   (return-type "none")
 )
 
-(define-function g_hook_alloc
-  (c-name "g_hook_alloc")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-  )
-)
-
-(define-function g_hook_free
-  (c-name "g_hook_free")
-  (return-type "none")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-  )
-)
-
-(define-function g_hook_ref
-  (c-name "g_hook_ref")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-  )
-)
-
-(define-function g_hook_unref
-  (c-name "g_hook_unref")
-  (return-type "none")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-  )
-)
-
-(define-function g_hook_destroy
-  (c-name "g_hook_destroy")
-  (return-type "gboolean")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gulong" "hook_id")
-  )
-)
-
-(define-function g_hook_destroy_link
-  (c-name "g_hook_destroy_link")
-  (return-type "none")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-  )
-)
-
-(define-function g_hook_prepend
-  (c-name "g_hook_prepend")
-  (return-type "none")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-  )
-)
-
-(define-function g_hook_insert_before
-  (c-name "g_hook_insert_before")
-  (return-type "none")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "sibling")
-    '("GHook*" "hook")
-  )
-)
-
-(define-function g_hook_insert_sorted
-  (c-name "g_hook_insert_sorted")
+(define-method init
+  (of-object "GHookList")
+  (c-name "g_hook_list_init")
   (return-type "none")
   (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-    '("GHookCompareFunc" "func")
-  )
-)
-
-(define-function g_hook_get
-  (c-name "g_hook_get")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gulong" "hook_id")
-  )
-)
-
-(define-function g_hook_find
-  (c-name "g_hook_find")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gboolean" "need_valids")
-    '("GHookFindFunc" "func")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_hook_find_data
-  (c-name "g_hook_find_data")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gboolean" "need_valids")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_hook_find_func
-  (c-name "g_hook_find_func")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gboolean" "need_valids")
-    '("gpointer" "func")
-  )
-)
-
-(define-function g_hook_find_func_data
-  (c-name "g_hook_find_func_data")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gboolean" "need_valids")
-    '("gpointer" "func")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_hook_first_valid
-  (c-name "g_hook_first_valid")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("gboolean" "may_be_in_call")
-  )
-)
-
-(define-function g_hook_next_valid
-  (c-name "g_hook_next_valid")
-  (return-type "GHook*")
-  (parameters
-    '("GHookList*" "hook_list")
-    '("GHook*" "hook")
-    '("gboolean" "may_be_in_call")
-  )
-)
-
-(define-method compare_ids
-  (of-object "GHook")
-  (c-name "g_hook_compare_ids")
-  (return-type "gint")
-  (parameters
-    '("GHook*" "sibling")
+    '("guint" "hook_size")
   )
 )
 
@@ -5080,109 +1628,39 @@
   )
 )
 
-
-
-;; From ghostutils.h
-
-(define-function g_hostname_is_non_ascii
-  (c-name "g_hostname_is_non_ascii")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "hostname")
-  )
-)
-
-(define-function g_hostname_is_ascii_encoded
-  (c-name "g_hostname_is_ascii_encoded")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "hostname")
-  )
-)
-
-(define-function g_hostname_is_ip_address
-  (c-name "g_hostname_is_ip_address")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "hostname")
-  )
-)
-
-(define-function g_hostname_to_ascii
-  (c-name "g_hostname_to_ascii")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "hostname")
-  )
-)
-
-(define-function g_hostname_to_unicode
-  (c-name "g_hostname_to_unicode")
-  (return-type "gchar*")
+(define-method 
+  (of-object "GIConv")
+  (c-name "g_iconv")
+  (return-type "gsize")
   (parameters
-    '("const-gchar*" "hostname")
+    '("gchar**" "inbuf")
+    '("gsize*" "inbytes_left")
+    '("gchar**" "outbuf")
+    '("gsize*" "outbytes_left")
   )
 )
 
-
-
-;; From gi18n.h
-
-
-
-;; From gi18n-lib.h
-
-
-
-;; From giochannel.h
-
-(define-method init
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_init")
-  (return-type "none")
+(define-method close
+  (of-object "GIConv")
+  (c-name "g_iconv_close")
+  (return-type "gint")
 )
 
-(define-method ref
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_ref")
+(define-function new_file
+  (c-name "g_io_channel_new_file")
   (return-type "GIOChannel*")
-)
-
-(define-method unref
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_unref")
-  (return-type "none")
-)
-
-(define-method read
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_read")
-  (return-type "GIOError")
   (parameters
-    '("gchar*" "buf")
-    '("gsize" "count")
-    '("gsize*" "bytes_read")
-  )
-)
-
-(define-method write
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_write")
-  (return-type "GIOError")
-  (parameters
-    '("const-gchar*" "buf")
-    '("gsize" "count")
-    '("gsize*" "bytes_written")
+    '("const-gchar*" "filename")
+    '("const-gchar*" "mode")
+    '("GError**" "error")
   )
 )
 
-(define-method seek
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_seek")
-  (return-type "GIOError")
+(define-function unix_new
+  (c-name "g_io_channel_unix_new")
+  (return-type "GIOChannel*")
   (parameters
-    '("gint64" "offset")
-    '("GSeekType" "type")
+    '("int" "fd")
   )
 )
 
@@ -5192,56 +1670,19 @@
   (return-type "none")
 )
 
-(define-method shutdown
+(define-method flush
   (of-object "GIOChannel")
-  (c-name "g_io_channel_shutdown")
+  (c-name "g_io_channel_flush")
   (return-type "GIOStatus")
   (parameters
-    '("gboolean" "flush")
-    '("GError**" "err")
-  )
-)
-
-(define-function g_io_add_watch_full
-  (c-name "g_io_add_watch_full")
-  (return-type "guint")
-  (parameters
-    '("GIOChannel*" "channel")
-    '("gint" "priority")
-    '("GIOCondition" "condition")
-    '("GIOFunc" "func")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_io_create_watch
-  (c-name "g_io_create_watch")
-  (return-type "GSource*")
-  (parameters
-    '("GIOChannel*" "channel")
-    '("GIOCondition" "condition")
-  )
-)
-
-(define-function g_io_add_watch
-  (c-name "g_io_add_watch")
-  (return-type "guint")
-  (parameters
-    '("GIOChannel*" "channel")
-    '("GIOCondition" "condition")
-    '("GIOFunc" "func")
-    '("gpointer" "user_data")
+    '("GError**" "error")
   )
 )
 
-(define-method set_buffer_size
+(define-method get_buffer_condition
   (of-object "GIOChannel")
-  (c-name "g_io_channel_set_buffer_size")
-  (return-type "none")
-  (parameters
-    '("gsize" "size")
-  )
+  (c-name "g_io_channel_get_buffer_condition")
+  (return-type "GIOCondition")
 )
 
 (define-method get_buffer_size
@@ -5250,36 +1691,28 @@
   (return-type "gsize")
 )
 
-(define-method get_buffer_condition
+(define-method get_buffered
   (of-object "GIOChannel")
-  (c-name "g_io_channel_get_buffer_condition")
-  (return-type "GIOCondition")
+  (c-name "g_io_channel_get_buffered")
+  (return-type "gboolean")
 )
 
-(define-method set_flags
+(define-method get_close_on_unref
   (of-object "GIOChannel")
-  (c-name "g_io_channel_set_flags")
-  (return-type "GIOStatus")
-  (parameters
-    '("GIOFlags" "flags")
-    '("GError**" "error")
-  )
+  (c-name "g_io_channel_get_close_on_unref")
+  (return-type "gboolean")
 )
 
-(define-method get_flags
+(define-method get_encoding
   (of-object "GIOChannel")
-  (c-name "g_io_channel_get_flags")
-  (return-type "GIOFlags")
+  (c-name "g_io_channel_get_encoding")
+  (return-type "const-gchar*")
 )
 
-(define-method set_line_term
+(define-method get_flags
   (of-object "GIOChannel")
-  (c-name "g_io_channel_set_line_term")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "line_term")
-    '("gint" "length")
-  )
+  (c-name "g_io_channel_get_flags")
+  (return-type "GIOFlags")
 )
 
 (define-method get_line_term
@@ -5291,57 +1724,31 @@
   )
 )
 
-(define-method set_buffered
+(define-method init
   (of-object "GIOChannel")
-  (c-name "g_io_channel_set_buffered")
+  (c-name "g_io_channel_init")
   (return-type "none")
-  (parameters
-    '("gboolean" "buffered")
-  )
-)
-
-(define-method get_buffered
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_get_buffered")
-  (return-type "gboolean")
-)
-
-(define-method set_encoding
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_set_encoding")
-  (return-type "GIOStatus")
-  (parameters
-    '("const-gchar*" "encoding")
-    '("GError**" "error")
-  )
 )
 
-(define-method get_encoding
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_get_encoding")
-  (return-type "const-gchar*")
-)
-
-(define-method set_close_on_unref
+(define-method read
   (of-object "GIOChannel")
-  (c-name "g_io_channel_set_close_on_unref")
-  (return-type "none")
+  (c-name "g_io_channel_read")
+  (return-type "GIOError")
   (parameters
-    '("gboolean" "do_close")
+    '("gchar*" "buf")
+    '("gsize" "count")
+    '("gsize*" "bytes_read")
   )
 )
 
-(define-method get_close_on_unref
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_get_close_on_unref")
-  (return-type "gboolean")
-)
-
-(define-method flush
+(define-method read_chars
   (of-object "GIOChannel")
-  (c-name "g_io_channel_flush")
+  (c-name "g_io_channel_read_chars")
   (return-type "GIOStatus")
   (parameters
+    '("gchar*" "buf")
+    '("gsize" "count")
+    '("gsize*" "bytes_read")
     '("GError**" "error")
   )
 )
@@ -5380,18 +1787,6 @@
   )
 )
 
-(define-method read_chars
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_read_chars")
-  (return-type "GIOStatus")
-  (parameters
-    '("gchar*" "buf")
-    '("gsize" "count")
-    '("gsize*" "bytes_read")
-    '("GError**" "error")
-  )
-)
-
 (define-method read_unichar
   (of-object "GIOChannel")
   (c-name "g_io_channel_read_unichar")
@@ -5402,25 +1797,19 @@
   )
 )
 
-(define-method write_chars
+(define-method ref
   (of-object "GIOChannel")
-  (c-name "g_io_channel_write_chars")
-  (return-type "GIOStatus")
-  (parameters
-    '("const-gchar*" "buf")
-    '("gssize" "count")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
+  (c-name "g_io_channel_ref")
+  (return-type "GIOChannel*")
 )
 
-(define-method write_unichar
+(define-method seek
   (of-object "GIOChannel")
-  (c-name "g_io_channel_write_unichar")
-  (return-type "GIOStatus")
+  (c-name "g_io_channel_seek")
+  (return-type "GIOError")
   (parameters
-    '("gunichar" "thechar")
-    '("GError**" "error")
+    '("gint64" "offset")
+    '("GSeekType" "type")
   )
 )
 
@@ -5435,250 +1824,233 @@
   )
 )
 
-(define-function g_io_channel_new_file
-  (c-name "g_io_channel_new_file")
-  (return-type "GIOChannel*")
+(define-method set_buffer_size
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_set_buffer_size")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "mode")
-    '("GError**" "error")
+    '("gsize" "size")
   )
 )
 
-(define-function g_io_channel_error_quark
-  (c-name "g_io_channel_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_io_channel_error_from_errno
-  (c-name "g_io_channel_error_from_errno")
-  (return-type "GIOChannelError")
+(define-method set_buffered
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_set_buffered")
+  (return-type "none")
   (parameters
-    '("gint" "en")
+    '("gboolean" "buffered")
   )
 )
 
-(define-function g_io_channel_unix_new
-  (c-name "g_io_channel_unix_new")
-  (is-constructor-of "GIoChannelUnix")
-  (return-type "GIOChannel*")
+(define-method set_close_on_unref
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_set_close_on_unref")
+  (return-type "none")
   (parameters
-    '("int" "fd")
+    '("gboolean" "do_close")
   )
 )
 
-(define-method unix_get_fd
-  (of-object "GIOChannel")
-  (c-name "g_io_channel_unix_get_fd")
-  (return-type "gint")
-)
-
-(define-method win32_make_pollfd
+(define-method set_encoding
   (of-object "GIOChannel")
-  (c-name "g_io_channel_win32_make_pollfd")
-  (return-type "none")
+  (c-name "g_io_channel_set_encoding")
+  (return-type "GIOStatus")
   (parameters
-    '("GIOCondition" "condition")
-    '("GPollFD*" "fd")
+    '("const-gchar*" "encoding")
+    '("GError**" "error")
   )
 )
 
-(define-function g_io_channel_win32_poll
-  (c-name "g_io_channel_win32_poll")
-  (return-type "gint")
+(define-method set_flags
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_set_flags")
+  (return-type "GIOStatus")
   (parameters
-    '("GPollFD*" "fds")
-    '("gint" "n_fds")
-    '("gint" "timeout_")
+    '("GIOFlags" "flags")
+    '("GError**" "error")
   )
 )
 
-(define-function g_io_channel_win32_new_messages
-  (c-name "g_io_channel_win32_new_messages")
-  (return-type "GIOChannel*")
+(define-method set_line_term
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_set_line_term")
+  (return-type "none")
   (parameters
-    '("gsize" "hwnd")
+    '("const-gchar*" "line_term")
+    '("gint" "length")
   )
 )
 
-(define-function g_io_channel_win32_new_fd
-  (c-name "g_io_channel_win32_new_fd")
-  (return-type "GIOChannel*")
+(define-method shutdown
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_shutdown")
+  (return-type "GIOStatus")
   (parameters
-    '("gint" "fd")
+    '("gboolean" "flush")
+    '("GError**" "error")
   )
 )
 
-(define-method win32_get_fd
+(define-method unix_get_fd
   (of-object "GIOChannel")
-  (c-name "g_io_channel_win32_get_fd")
+  (c-name "g_io_channel_unix_get_fd")
   (return-type "gint")
 )
 
-(define-function g_io_channel_win32_new_socket
-  (c-name "g_io_channel_win32_new_socket")
-  (return-type "GIOChannel*")
-  (parameters
-    '("gint" "socket")
-  )
+(define-method unref
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_unref")
+  (return-type "none")
 )
 
-(define-function g_io_channel_win32_new_stream_socket
-  (c-name "g_io_channel_win32_new_stream_socket")
-  (return-type "GIOChannel*")
+(define-method write
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_write")
+  (return-type "GIOError")
   (parameters
-    '("gint" "socket")
+    '("const-gchar*" "buf")
+    '("gsize" "count")
+    '("gsize*" "bytes_written")
   )
 )
 
-(define-method win32_set_debug
+(define-method write_chars
   (of-object "GIOChannel")
-  (c-name "g_io_channel_win32_set_debug")
-  (return-type "none")
+  (c-name "g_io_channel_write_chars")
+  (return-type "GIOStatus")
   (parameters
-    '("gboolean" "flag")
+    '("const-gchar*" "buf")
+    '("gssize" "count")
+    '("gsize*" "bytes_written")
+    '("GError**" "error")
   )
 )
 
-(define-function g_io_channel_new_file_utf8
-  (c-name "g_io_channel_new_file_utf8")
-  (return-type "GIOChannel*")
+(define-method write_unichar
+  (of-object "GIOChannel")
+  (c-name "g_io_channel_write_unichar")
+  (return-type "GIOStatus")
   (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "mode")
+    '("gunichar" "thechar")
     '("GError**" "error")
   )
 )
 
-
-
-;; From gkeyfile.h
-
-(define-function g_key_file_error_quark
-  (c-name "g_key_file_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_key_file_new
+(define-function new
   (c-name "g_key_file_new")
-  (is-constructor-of "GKeyFile")
-  (return-type "GKeyFile*")
-)
-
-(define-method ref
-  (of-object "GKeyFile")
-  (c-name "g_key_file_ref")
   (return-type "GKeyFile*")
 )
 
-(define-method unref
-  (of-object "GKeyFile")
-  (c-name "g_key_file_unref")
-  (return-type "none")
-)
-
 (define-method free
   (of-object "GKeyFile")
   (c-name "g_key_file_free")
   (return-type "none")
 )
 
-(define-method set_list_separator
+(define-method get_boolean
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_list_separator")
-  (return-type "none")
+  (c-name "g_key_file_get_boolean")
+  (return-type "gboolean")
   (parameters
-    '("gchar" "separator")
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
+    '("GError**" "error")
   )
 )
 
-(define-method load_from_file
+(define-method get_boolean_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_load_from_file")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_boolean_list")
+  (return-type "const-gboolean*")
   (parameters
-    '("const-gchar*" "file")
-    '("GKeyFileFlags" "flags")
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method load_from_data
+(define-method get_comment
   (of-object "GKeyFile")
-  (c-name "g_key_file_load_from_data")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_comment")
+  (return-type "gchar*")
   (parameters
-    '("const-gchar*" "data")
-    '("gsize" "length")
-    '("GKeyFileFlags" "flags")
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
     '("GError**" "error")
   )
 )
 
-(define-method load_from_dirs
+(define-method get_double
   (of-object "GKeyFile")
-  (c-name "g_key_file_load_from_dirs")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_double")
+  (return-type "gdouble")
   (parameters
-    '("const-gchar*" "file")
-    '("const-gchar**" "search_dirs")
-    '("gchar**" "full_path")
-    '("GKeyFileFlags" "flags")
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
     '("GError**" "error")
   )
 )
 
-(define-method load_from_data_dirs
+(define-method get_double_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_load_from_data_dirs")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_double_list")
+  (return-type "const-gdouble*")
   (parameters
-    '("const-gchar*" "file")
-    '("gchar**" "full_path")
-    '("GKeyFileFlags" "flags")
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method to_data
+(define-method get_groups
   (of-object "GKeyFile")
-  (c-name "g_key_file_to_data")
-  (return-type "gchar*")
+  (c-name "g_key_file_get_groups")
+  (return-type "const-gchar**")
   (parameters
     '("gsize*" "length")
-    '("GError**" "error")
   )
 )
 
-(define-method save_to_file
+(define-method get_int64
   (of-object "GKeyFile")
-  (c-name "g_key_file_save_to_file")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_int64")
+  (return-type "gint64")
   (parameters
-    '("const-gchar*" "filename")
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
     '("GError**" "error")
   )
 )
 
-(define-method get_start_group
+(define-method get_integer
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_start_group")
-  (return-type "gchar*")
+  (c-name "g_key_file_get_integer")
+  (return-type "gint")
+  (parameters
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
+    '("GError**" "error")
+  )
 )
 
-(define-method get_groups
+(define-method get_integer_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_groups")
-  (return-type "gchar**")
+  (c-name "g_key_file_get_integer_list")
+  (return-type "const-gint*")
   (parameters
+    '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
     '("gsize*" "length")
+    '("GError**" "error")
   )
 )
 
 (define-method get_keys
   (of-object "GKeyFile")
   (c-name "g_key_file_get_keys")
-  (return-type "gchar**")
+  (return-type "const-gchar**")
   (parameters
     '("const-gchar*" "group_name")
     '("gsize*" "length")
@@ -5686,97 +2058,94 @@
   )
 )
 
-(define-method has_group
+(define-method get_locale_string
   (of-object "GKeyFile")
-  (c-name "g_key_file_has_group")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_locale_string")
+  (return-type "gchar*")
   (parameters
     '("const-gchar*" "group_name")
+    '("const-gchar*" "key")
+    '("const-gchar*" "locale")
+    '("GError**" "error")
   )
 )
 
-(define-method has_key
+(define-method get_locale_string_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_has_key")
-  (return-type "gboolean")
+  (c-name "g_key_file_get_locale_string_list")
+  (return-type "const-gchar**")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
+    '("const-gchar*" "locale")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method get_value
+(define-method get_start_group
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_value")
+  (c-name "g_key_file_get_start_group")
   (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("GError**" "error")
-  )
 )
 
-(define-method set_value
+(define-method get_string
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_value")
-  (return-type "none")
+  (c-name "g_key_file_get_string")
+  (return-type "gchar*")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*" "value")
+    '("GError**" "error")
   )
 )
 
-(define-method get_string
+(define-method get_string_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_string")
-  (return-type "gchar*")
+  (c-name "g_key_file_get_string_list")
+  (return-type "const-gchar**")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
+    '("gsize*" "length")
     '("GError**" "error")
   )
 )
 
-(define-method set_string
+(define-method get_uint64
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_string")
-  (return-type "none")
+  (c-name "g_key_file_get_uint64")
+  (return-type "guint64")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*" "string")
+    '("GError**" "error")
   )
 )
 
-(define-method get_locale_string
+(define-method get_value
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_locale_string")
+  (c-name "g_key_file_get_value")
   (return-type "gchar*")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*" "locale")
     '("GError**" "error")
   )
 )
 
-(define-method set_locale_string
+(define-method has_group
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_locale_string")
-  (return-type "none")
+  (c-name "g_key_file_has_group")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("const-gchar*" "locale")
-    '("const-gchar*" "string")
   )
 )
 
-(define-method get_boolean
+(define-method has_key
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_boolean")
+  (c-name "g_key_file_has_key")
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "group_name")
@@ -5785,65 +2154,64 @@
   )
 )
 
-(define-method set_boolean
+(define-method load_from_data
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_boolean")
-  (return-type "none")
+  (c-name "g_key_file_load_from_data")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("gboolean" "value")
+    '("const-gchar*" "data")
+    '("gsize" "length")
+    '("GKeyFileFlags" "flags")
+    '("GError**" "error")
   )
 )
 
-(define-method get_integer
+(define-method load_from_data_dirs
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_integer")
-  (return-type "gint")
+  (c-name "g_key_file_load_from_data_dirs")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
+    '("gchar*" "file")
+    '("gchar**" "full_path")
+    '("GKeyFileFlags" "flags")
     '("GError**" "error")
   )
 )
 
-(define-method set_integer
+(define-method load_from_dirs
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_integer")
-  (return-type "none")
+  (c-name "g_key_file_load_from_dirs")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("gint" "value")
+    '("gchar*" "file")
+    '("const-gchar**" "search_dirs")
+    '("gchar**" "full_path")
+    '("GKeyFileFlags" "flags")
+    '("GError**" "error")
   )
 )
 
-(define-method get_int64
+(define-method load_from_file
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_int64")
-  (return-type "gint64")
+  (c-name "g_key_file_load_from_file")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
+    '("gchar*" "file")
+    '("GKeyFileFlags" "flags")
     '("GError**" "error")
   )
 )
 
-(define-method set_int64
+(define-method ref
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_int64")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("gint64" "value")
-  )
+  (c-name "g_key_file_ref")
+  (return-type "GKeyFile*")
 )
 
-(define-method get_uint64
+(define-method remove_comment
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_uint64")
-  (return-type "guint64")
+  (c-name "g_key_file_remove_comment")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
@@ -5851,21 +2219,20 @@
   )
 )
 
-(define-method set_uint64
+(define-method remove_group
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_uint64")
-  (return-type "none")
+  (c-name "g_key_file_remove_group")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("guint64" "value")
+    '("GError**" "error")
   )
 )
 
-(define-method get_double
+(define-method remove_key
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_double")
-  (return-type "gdouble")
+  (c-name "g_key_file_remove_key")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
@@ -5873,684 +2240,301 @@
   )
 )
 
-(define-method set_double
+(define-method save_to_file
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_double")
-  (return-type "none")
+  (c-name "g_key_file_save_to_file")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("gdouble" "value")
+    '("const-gchar*" "filename")
+    '("GError**" "error")
   )
 )
 
-(define-method get_string_list
+(define-method set_boolean
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_string_list")
-  (return-type "gchar**")
+  (c-name "g_key_file_set_boolean")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("gsize*" "length")
-    '("GError**" "error")
+    '("gboolean" "value")
   )
 )
 
-(define-method set_string_list
+(define-method set_boolean_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_string_list")
+  (c-name "g_key_file_set_boolean_list")
   (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*-const[]" "list")
+    '("const-gboolean" "list")
     '("gsize" "length")
   )
 )
 
-(define-method get_locale_string_list
+(define-method set_comment
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_locale_string_list")
-  (return-type "gchar**")
+  (c-name "g_key_file_set_comment")
+  (return-type "gboolean")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*" "locale")
-    '("gsize*" "length")
+    '("const-gchar*" "comment")
     '("GError**" "error")
   )
 )
 
-(define-method set_locale_string_list
+(define-method set_double
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_locale_string_list")
+  (c-name "g_key_file_set_double")
   (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*" "locale")
-    '("const-gchar*-const[]" "list")
-    '("gsize" "length")
+    '("gdouble" "value")
   )
 )
 
-(define-method get_boolean_list
+(define-method set_double_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_boolean_list")
-  (return-type "gboolean*")
+  (c-name "g_key_file_set_double_list")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("gsize*" "length")
-    '("GError**" "error")
+    '("const-gdouble" "list")
+    '("gsize" "length")
   )
 )
 
-(define-method set_boolean_list
+(define-method set_int64
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_boolean_list")
+  (c-name "g_key_file_set_int64")
   (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("gboolean[]" "list")
-    '("gsize" "length")
+    '("gint64" "value")
   )
 )
 
-(define-method get_integer_list
+(define-method set_integer
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_integer_list")
-  (return-type "gint*")
+  (c-name "g_key_file_set_integer")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("gsize*" "length")
-    '("GError**" "error")
+    '("gint" "value")
   )
 )
 
-(define-method set_double_list
+(define-method set_integer_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_double_list")
+  (c-name "g_key_file_set_integer_list")
   (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("gdouble[]" "list")
+    '("const-gint" "list")
     '("gsize" "length")
   )
 )
 
-(define-method get_double_list
+(define-method set_list_separator
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_double_list")
-  (return-type "gdouble*")
+  (c-name "g_key_file_set_list_separator")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "group_name")
-    '("const-gchar*" "key")
-    '("gsize*" "length")
-    '("GError**" "error")
+    '("gchar" "separator")
   )
 )
 
-(define-method set_integer_list
+(define-method set_locale_string
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_integer_list")
+  (c-name "g_key_file_set_locale_string")
   (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("gint[]" "list")
-    '("gsize" "length")
+    '("const-gchar*" "locale")
+    '("const-gchar*" "string")
   )
 )
 
-(define-method set_comment
+(define-method set_locale_string_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_set_comment")
-  (return-type "gboolean")
+  (c-name "g_key_file_set_locale_string_list")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("const-gchar*" "comment")
-    '("GError**" "error")
+    '("const-gchar*" "locale")
+    '("const-gchar*" "list")
+    '("gsize" "length")
   )
 )
 
-(define-method get_comment
+(define-method set_string
   (of-object "GKeyFile")
-  (c-name "g_key_file_get_comment")
-  (return-type "gchar*")
+  (c-name "g_key_file_set_string")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("GError**" "error")
+    '("const-gchar*" "string")
   )
 )
 
-(define-method remove_comment
+(define-method set_string_list
   (of-object "GKeyFile")
-  (c-name "g_key_file_remove_comment")
-  (return-type "gboolean")
+  (c-name "g_key_file_set_string_list")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("GError**" "error")
+    '("const-gchar*" "list")
+    '("gsize" "length")
   )
 )
 
-(define-method remove_key
+(define-method set_uint64
   (of-object "GKeyFile")
-  (c-name "g_key_file_remove_key")
-  (return-type "gboolean")
+  (c-name "g_key_file_set_uint64")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
     '("const-gchar*" "key")
-    '("GError**" "error")
+    '("guint64" "value")
   )
 )
 
-(define-method remove_group
+(define-method set_value
   (of-object "GKeyFile")
-  (c-name "g_key_file_remove_group")
-  (return-type "gboolean")
+  (c-name "g_key_file_set_value")
+  (return-type "none")
   (parameters
     '("const-gchar*" "group_name")
-    '("GError**" "error")
+    '("const-gchar*" "key")
+    '("const-gchar*" "value")
   )
 )
 
-
-
-;; From glibconfig.h
-
-
-
-;; From glib.h
-
-
-
-;; From glib-init.h
-
-(define-function g_thread_win32_thread_detach
-  (c-name "g_thread_win32_thread_detach")
-  (return-type "none")
-)
-
-(define-function g_thread_win32_init
-  (c-name "g_thread_win32_init")
-  (return-type "none")
-)
-
-(define-function g_clock_win32_init
-  (c-name "g_clock_win32_init")
-  (return-type "none")
-)
-
-
-
-;; From glibintl.h
-
-(define-function glib_gettext
-  (c-name "glib_gettext")
-  (return-type "const-gchar*")
+(define-method to_data
+  (of-object "GKeyFile")
+  (c-name "g_key_file_to_data")
+  (return-type "gchar*")
   (parameters
-    '("const-gchar*" "str")
+    '("gsize*" "length")
+    '("GError**" "error")
   )
 )
 
-(define-function glib_pgettext
-  (c-name "glib_pgettext")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "msgctxtid")
-    '("gsize" "msgidoffset")
-  )
+(define-method unref
+  (of-object "GKeyFile")
+  (c-name "g_key_file_unref")
+  (return-type "none")
 )
 
-
-
-;; From glib-object.h
-
-
-
-;; From glib-private.h
-
-(define-function g_get_worker_context
-  (c-name "g_get_worker_context")
+(define-function new
+  (c-name "g_main_context_new")
   (return-type "GMainContext*")
 )
 
-(define-function g_check_setuid
-  (c-name "g_check_setuid")
+(define-method acquire
+  (of-object "GMainContext")
+  (c-name "g_main_context_acquire")
   (return-type "gboolean")
 )
 
-(define-function g_main_context_new_with_next_id
-  (c-name "g_main_context_new_with_next_id")
-  (return-type "GMainContext*")
-  (parameters
-    '("guint" "next_id")
-  )
-)
-
-(define-function g_dir_open_with_errno
-  (c-name "g_dir_open_with_errno")
-  (return-type "GDir*")
-  (parameters
-    '("const-gchar*" "path")
-    '("guint" "flags")
-  )
-)
-
-(define-function g_dir_new_from_dirp
-  (c-name "g_dir_new_from_dirp")
-  (return-type "GDir*")
+(define-method add_poll
+  (of-object "GMainContext")
+  (c-name "g_main_context_add_poll")
+  (return-type "none")
   (parameters
-    '("gpointer" "dirp")
+    '("GPollFD*" "fd")
+    '("gint" "priority")
   )
 )
 
-(define-function glib__private__
-  (c-name "glib__private__")
-  (return-type "GLibPrivateVTable*")
-)
-
-
-
-;; From glib_trace.h
-
-
-
-;; From glib-unix.h
-
-(define-function g_unix_error_quark
-  (c-name "g_unix_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_unix_open_pipe
-  (c-name "g_unix_open_pipe")
-  (return-type "gboolean")
+(define-method check
+  (of-object "GMainContext")
+  (c-name "g_main_context_check")
+  (return-type "gint")
   (parameters
-    '("gint*" "fds")
-    '("gint" "flags")
-    '("GError**" "error")
+    '("gint" "max_priority")
+    '("const-GPollFD*" "fds")
+    '("gint" "n_fds")
   )
 )
 
-(define-function g_unix_set_fd_nonblocking
-  (c-name "g_unix_set_fd_nonblocking")
-  (return-type "gboolean")
-  (parameters
-    '("gint" "fd")
-    '("gboolean" "nonblock")
-    '("GError**" "error")
-  )
+(define-method dispatch
+  (of-object "GMainContext")
+  (c-name "g_main_context_dispatch")
+  (return-type "none")
 )
 
-(define-function g_unix_signal_source_new
-  (c-name "g_unix_signal_source_new")
-  (is-constructor-of "GUnixSignalSource")
+(define-method find_source_by_funcs_user_data
+  (of-object "GMainContext")
+  (c-name "g_main_context_find_source_by_funcs_user_data")
   (return-type "GSource*")
   (parameters
-    '("gint" "signum")
-  )
-)
-
-(define-function g_unix_signal_add_full
-  (c-name "g_unix_signal_add_full")
-  (return-type "guint")
-  (parameters
-    '("gint" "priority")
-    '("gint" "signum")
-    '("GSourceFunc" "handler")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_unix_signal_add
-  (c-name "g_unix_signal_add")
-  (return-type "guint")
-  (parameters
-    '("gint" "signum")
-    '("GSourceFunc" "handler")
+    '("GSourceFuncs*" "funcs")
     '("gpointer" "user_data")
   )
 )
 
-(define-function g_unix_fd_source_new
-  (c-name "g_unix_fd_source_new")
-  (is-constructor-of "GUnixFdSource")
+(define-method find_source_by_id
+  (of-object "GMainContext")
+  (c-name "g_main_context_find_source_by_id")
   (return-type "GSource*")
   (parameters
-    '("gint" "fd")
-    '("GIOCondition" "condition")
-  )
-)
-
-(define-function g_unix_fd_add_full
-  (c-name "g_unix_fd_add_full")
-  (return-type "guint")
-  (parameters
-    '("gint" "priority")
-    '("gint" "fd")
-    '("GIOCondition" "condition")
-    '("GUnixFDSourceFunc" "function")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "notify")
+    '("guint" "source_id")
   )
 )
 
-(define-function g_unix_fd_add
-  (c-name "g_unix_fd_add")
-  (return-type "guint")
+(define-method find_source_by_user_data
+  (of-object "GMainContext")
+  (c-name "g_main_context_find_source_by_user_data")
+  (return-type "GSource*")
   (parameters
-    '("gint" "fd")
-    '("GIOCondition" "condition")
-    '("GUnixFDSourceFunc" "function")
     '("gpointer" "user_data")
   )
 )
 
-
-
-;; From glist.h
-
-(define-function g_list_alloc
-  (c-name "g_list_alloc")
-  (return-type "GList*")
-)
-
-(define-method free
-  (of-object "GList")
-  (c-name "g_list_free")
-  (return-type "none")
-)
-
-(define-method free_1
-  (of-object "GList")
-  (c-name "g_list_free_1")
-  (return-type "none")
+(define-method get_poll_func
+  (of-object "GMainContext")
+  (c-name "g_main_context_get_poll_func")
+  (return-type "GPollFunc")
 )
 
-(define-method free_full
-  (of-object "GList")
-  (c-name "g_list_free_full")
+(define-method invoke
+  (of-object "GMainContext")
+  (c-name "g_main_context_invoke")
   (return-type "none")
   (parameters
-    '("GDestroyNotify" "free_func")
-  )
-)
-
-(define-method append
-  (of-object "GList")
-  (c-name "g_list_append")
-  (return-type "GList*")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method prepend
-  (of-object "GList")
-  (c-name "g_list_prepend")
-  (return-type "GList*")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method insert
-  (of-object "GList")
-  (c-name "g_list_insert")
-  (return-type "GList*")
-  (parameters
-    '("gpointer" "data")
-    '("gint" "position")
-  )
-)
-
-(define-method insert_sorted
-  (of-object "GList")
-  (c-name "g_list_insert_sorted")
-  (return-type "GList*")
-  (parameters
-    '("gpointer" "data")
-    '("GCompareFunc" "func")
-  )
-)
-
-(define-method insert_sorted_with_data
-  (of-object "GList")
-  (c-name "g_list_insert_sorted_with_data")
-  (return-type "GList*")
-  (parameters
-    '("gpointer" "data")
-    '("GCompareDataFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method insert_before
-  (of-object "GList")
-  (c-name "g_list_insert_before")
-  (return-type "GList*")
-  (parameters
-    '("GList*" "sibling")
+    '("GSourceFunc" "function")
     '("gpointer" "data")
   )
 )
 
-(define-method concat
-  (of-object "GList")
-  (c-name "g_list_concat")
-  (return-type "GList*")
-  (parameters
-    '("GList*" "list2")
-  )
-)
-
-(define-method remove
-  (of-object "GList")
-  (c-name "g_list_remove")
-  (return-type "GList*")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method remove_all
-  (of-object "GList")
-  (c-name "g_list_remove_all")
-  (return-type "GList*")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method remove_link
-  (of-object "GList")
-  (c-name "g_list_remove_link")
-  (return-type "GList*")
-  (parameters
-    '("GList*" "llink")
-  )
-)
-
-(define-method delete_link
-  (of-object "GList")
-  (c-name "g_list_delete_link")
-  (return-type "GList*")
-  (parameters
-    '("GList*" "link_")
-  )
-)
-
-(define-method reverse
-  (of-object "GList")
-  (c-name "g_list_reverse")
-  (return-type "GList*")
-)
-
-(define-method copy
-  (of-object "GList")
-  (c-name "g_list_copy")
-  (return-type "GList*")
-)
-
-(define-method copy_deep
-  (of-object "GList")
-  (c-name "g_list_copy_deep")
-  (return-type "GList*")
-  (parameters
-    '("GCopyFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method nth
-  (of-object "GList")
-  (c-name "g_list_nth")
-  (return-type "GList*")
-  (parameters
-    '("guint" "n")
-  )
-)
-
-(define-method nth_prev
-  (of-object "GList")
-  (c-name "g_list_nth_prev")
-  (return-type "GList*")
-  (parameters
-    '("guint" "n")
-  )
-)
-
-(define-method find
-  (of-object "GList")
-  (c-name "g_list_find")
-  (return-type "GList*")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method find_custom
-  (of-object "GList")
-  (c-name "g_list_find_custom")
-  (return-type "GList*")
-  (parameters
-    '("gconstpointer" "data")
-    '("GCompareFunc" "func")
-  )
-)
-
-(define-method position
-  (of-object "GList")
-  (c-name "g_list_position")
-  (return-type "gint")
-  (parameters
-    '("GList*" "llink")
-  )
-)
-
-(define-method index
-  (of-object "GList")
-  (c-name "g_list_index")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method last
-  (of-object "GList")
-  (c-name "g_list_last")
-  (return-type "GList*")
-)
-
-(define-method first
-  (of-object "GList")
-  (c-name "g_list_first")
-  (return-type "GList*")
-)
-
-(define-method length
-  (of-object "GList")
-  (c-name "g_list_length")
-  (return-type "guint")
-)
-
-(define-method foreach
-  (of-object "GList")
-  (c-name "g_list_foreach")
+(define-method invoke_full
+  (of-object "GMainContext")
+  (c-name "g_main_context_invoke_full")
   (return-type "none")
   (parameters
-    '("GFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method sort
-  (of-object "GList")
-  (c-name "g_list_sort")
-  (return-type "GList*")
-  (parameters
-    '("GCompareFunc" "compare_func")
-  )
-)
-
-(define-method sort_with_data
-  (of-object "GList")
-  (c-name "g_list_sort_with_data")
-  (return-type "GList*")
-  (parameters
-    '("GCompareDataFunc" "compare_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method nth_data
-  (of-object "GList")
-  (c-name "g_list_nth_data")
-  (return-type "gpointer")
-  (parameters
-    '("guint" "n")
+    '("gint" "priority")
+    '("GSourceFunc" "function")
+    '("gpointer" "data")
+    '("GDestroyNotify" "notify")
   )
 )
 
-
-
-;; From gmacros.h
-
-
-
-;; From gmain.h
-
-(define-function g_main_context_new
-  (c-name "g_main_context_new")
-  (is-constructor-of "GMainContext")
-  (return-type "GMainContext*")
-)
-
-(define-method ref
-  (of-object "GMainContext")
-  (c-name "g_main_context_ref")
-  (return-type "GMainContext*")
-)
-
-(define-method unref
+(define-method is_owner
   (of-object "GMainContext")
-  (c-name "g_main_context_unref")
-  (return-type "none")
-)
-
-(define-function g_main_context_default
-  (c-name "g_main_context_default")
-  (return-type "GMainContext*")
+  (c-name "g_main_context_is_owner")
+  (return-type "gboolean")
 )
 
 (define-method iteration
@@ -6568,68 +2552,12 @@
   (return-type "gboolean")
 )
 
-(define-method find_source_by_id
-  (of-object "GMainContext")
-  (c-name "g_main_context_find_source_by_id")
-  (return-type "GSource*")
-  (parameters
-    '("guint" "source_id")
-  )
-)
-
-(define-method find_source_by_user_data
-  (of-object "GMainContext")
-  (c-name "g_main_context_find_source_by_user_data")
-  (return-type "GSource*")
-  (parameters
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method find_source_by_funcs_user_data
-  (of-object "GMainContext")
-  (c-name "g_main_context_find_source_by_funcs_user_data")
-  (return-type "GSource*")
-  (parameters
-    '("GSourceFuncs*" "funcs")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method wakeup
-  (of-object "GMainContext")
-  (c-name "g_main_context_wakeup")
-  (return-type "none")
-)
-
-(define-method acquire
-  (of-object "GMainContext")
-  (c-name "g_main_context_acquire")
-  (return-type "gboolean")
-)
-
-(define-method release
+(define-method pop_thread_default
   (of-object "GMainContext")
-  (c-name "g_main_context_release")
+  (c-name "g_main_context_pop_thread_default")
   (return-type "none")
 )
 
-(define-method is_owner
-  (of-object "GMainContext")
-  (c-name "g_main_context_is_owner")
-  (return-type "gboolean")
-)
-
-(define-method wait
-  (of-object "GMainContext")
-  (c-name "g_main_context_wait")
-  (return-type "gboolean")
-  (parameters
-    '("GCond*" "cond")
-    '("GMutex*" "mutex")
-  )
-)
-
 (define-method prepare
   (of-object "GMainContext")
   (c-name "g_main_context_prepare")
@@ -6639,6 +2567,12 @@
   )
 )
 
+(define-method push_thread_default
+  (of-object "GMainContext")
+  (c-name "g_main_context_push_thread_default")
+  (return-type "none")
+)
+
 (define-method query
   (of-object "GMainContext")
   (c-name "g_main_context_query")
@@ -6651,92 +2585,60 @@
   )
 )
 
-(define-method check
+(define-method ref
   (of-object "GMainContext")
-  (c-name "g_main_context_check")
-  (return-type "gint")
-  (parameters
-    '("gint" "max_priority")
-    '("GPollFD*" "fds")
-    '("gint" "n_fds")
-  )
+  (c-name "g_main_context_ref")
+  (return-type "GMainContext*")
 )
 
-(define-method dispatch
+(define-method release
   (of-object "GMainContext")
-  (c-name "g_main_context_dispatch")
+  (c-name "g_main_context_release")
   (return-type "none")
 )
 
-(define-method set_poll_func
+(define-method remove_poll
   (of-object "GMainContext")
-  (c-name "g_main_context_set_poll_func")
+  (c-name "g_main_context_remove_poll")
   (return-type "none")
   (parameters
-    '("GPollFunc" "func")
+    '("GPollFD*" "fd")
   )
 )
 
-(define-method get_poll_func
-  (of-object "GMainContext")
-  (c-name "g_main_context_get_poll_func")
-  (return-type "GPollFunc")
-)
-
-(define-method add_poll
+(define-method set_poll_func
   (of-object "GMainContext")
-  (c-name "g_main_context_add_poll")
+  (c-name "g_main_context_set_poll_func")
   (return-type "none")
   (parameters
-    '("GPollFD*" "fd")
-    '("gint" "priority")
+    '("GPollFunc" "func")
   )
 )
 
-(define-method remove_poll
+(define-method unref
   (of-object "GMainContext")
-  (c-name "g_main_context_remove_poll")
+  (c-name "g_main_context_unref")
   (return-type "none")
-  (parameters
-    '("GPollFD*" "fd")
-  )
-)
-
-(define-function g_main_depth
-  (c-name "g_main_depth")
-  (return-type "gint")
 )
 
-(define-function g_main_current_source
-  (c-name "g_main_current_source")
-  (return-type "GSource*")
-)
-
-(define-method push_thread_default
+(define-method wait
   (of-object "GMainContext")
-  (c-name "g_main_context_push_thread_default")
-  (return-type "none")
+  (c-name "g_main_context_wait")
+  (return-type "gboolean")
+  (parameters
+    '("GCond*" "cond")
+    '("GMutex*" "mutex")
+  )
 )
 
-(define-method pop_thread_default
+(define-method wakeup
   (of-object "GMainContext")
-  (c-name "g_main_context_pop_thread_default")
+  (c-name "g_main_context_wakeup")
   (return-type "none")
 )
 
-(define-function g_main_context_get_thread_default
-  (c-name "g_main_context_get_thread_default")
-  (return-type "GMainContext*")
-)
-
-(define-function g_main_context_ref_thread_default
-  (c-name "g_main_context_ref_thread_default")
-  (return-type "GMainContext*")
-)
-
-(define-function g_main_loop_new
+(define-function new
   (c-name "g_main_loop_new")
-  (is-constructor-of "GMainLoop")
   (return-type "GMainLoop*")
   (parameters
     '("GMainContext*" "context")
@@ -6744,10 +2646,16 @@
   )
 )
 
-(define-method run
+(define-method get_context
   (of-object "GMainLoop")
-  (c-name "g_main_loop_run")
-  (return-type "none")
+  (c-name "g_main_loop_get_context")
+  (return-type "GMainContext*")
+)
+
+(define-method is_running
+  (of-object "GMainLoop")
+  (c-name "g_main_loop_is_running")
+  (return-type "gboolean")
 )
 
 (define-method quit
@@ -6762,469 +2670,20 @@
   (return-type "GMainLoop*")
 )
 
-(define-method unref
+(define-method run
   (of-object "GMainLoop")
-  (c-name "g_main_loop_unref")
+  (c-name "g_main_loop_run")
   (return-type "none")
 )
 
-(define-method is_running
-  (of-object "GMainLoop")
-  (c-name "g_main_loop_is_running")
-  (return-type "gboolean")
-)
-
-(define-method get_context
-  (of-object "GMainLoop")
-  (c-name "g_main_loop_get_context")
-  (return-type "GMainContext*")
-)
-
-(define-function g_source_new
-  (c-name "g_source_new")
-  (is-constructor-of "GSource")
-  (return-type "GSource*")
-  (parameters
-    '("GSourceFuncs*" "source_funcs")
-    '("guint" "struct_size")
-  )
-)
-
-(define-method ref
-  (of-object "GSource")
-  (c-name "g_source_ref")
-  (return-type "GSource*")
-)
-
 (define-method unref
-  (of-object "GSource")
-  (c-name "g_source_unref")
-  (return-type "none")
-)
-
-(define-method attach
-  (of-object "GSource")
-  (c-name "g_source_attach")
-  (return-type "guint")
-  (parameters
-    '("GMainContext*" "context")
-  )
-)
-
-(define-method destroy
-  (of-object "GSource")
-  (c-name "g_source_destroy")
-  (return-type "none")
-)
-
-(define-method set_priority
-  (of-object "GSource")
-  (c-name "g_source_set_priority")
-  (return-type "none")
-  (parameters
-    '("gint" "priority")
-  )
-)
-
-(define-method get_priority
-  (of-object "GSource")
-  (c-name "g_source_get_priority")
-  (return-type "gint")
-)
-
-(define-method set_can_recurse
-  (of-object "GSource")
-  (c-name "g_source_set_can_recurse")
-  (return-type "none")
-  (parameters
-    '("gboolean" "can_recurse")
-  )
-)
-
-(define-method get_can_recurse
-  (of-object "GSource")
-  (c-name "g_source_get_can_recurse")
-  (return-type "gboolean")
-)
-
-(define-method get_id
-  (of-object "GSource")
-  (c-name "g_source_get_id")
-  (return-type "guint")
-)
-
-(define-method get_context
-  (of-object "GSource")
-  (c-name "g_source_get_context")
-  (return-type "GMainContext*")
-)
-
-(define-method set_callback
-  (of-object "GSource")
-  (c-name "g_source_set_callback")
-  (return-type "none")
-  (parameters
-    '("GSourceFunc" "func")
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-method set_funcs
-  (of-object "GSource")
-  (c-name "g_source_set_funcs")
-  (return-type "none")
-  (parameters
-    '("GSourceFuncs*" "funcs")
-  )
-)
-
-(define-method is_destroyed
-  (of-object "GSource")
-  (c-name "g_source_is_destroyed")
-  (return-type "gboolean")
-)
-
-(define-method set_name
-  (of-object "GSource")
-  (c-name "g_source_set_name")
-  (return-type "none")
-  (parameters
-    '("const-char*" "name")
-  )
-)
-
-(define-method get_name
-  (of-object "GSource")
-  (c-name "g_source_get_name")
-  (return-type "const-char*")
-)
-
-(define-function g_source_set_name_by_id
-  (c-name "g_source_set_name_by_id")
-  (return-type "none")
-  (parameters
-    '("guint" "tag")
-    '("const-char*" "name")
-  )
-)
-
-(define-method set_ready_time
-  (of-object "GSource")
-  (c-name "g_source_set_ready_time")
-  (return-type "none")
-  (parameters
-    '("gint64" "ready_time")
-  )
-)
-
-(define-method get_ready_time
-  (of-object "GSource")
-  (c-name "g_source_get_ready_time")
-  (return-type "gint64")
-)
-
-(define-method add_unix_fd
-  (of-object "GSource")
-  (c-name "g_source_add_unix_fd")
-  (return-type "gpointer")
-  (parameters
-    '("gint" "fd")
-    '("GIOCondition" "events")
-  )
-)
-
-(define-method modify_unix_fd
-  (of-object "GSource")
-  (c-name "g_source_modify_unix_fd")
-  (return-type "none")
-  (parameters
-    '("gpointer" "tag")
-    '("GIOCondition" "new_events")
-  )
-)
-
-(define-method remove_unix_fd
-  (of-object "GSource")
-  (c-name "g_source_remove_unix_fd")
-  (return-type "none")
-  (parameters
-    '("gpointer" "tag")
-  )
-)
-
-(define-method query_unix_fd
-  (of-object "GSource")
-  (c-name "g_source_query_unix_fd")
-  (return-type "GIOCondition")
-  (parameters
-    '("gpointer" "tag")
-  )
-)
-
-(define-method set_callback_indirect
-  (of-object "GSource")
-  (c-name "g_source_set_callback_indirect")
-  (return-type "none")
-  (parameters
-    '("gpointer" "callback_data")
-    '("GSourceCallbackFuncs*" "callback_funcs")
-  )
-)
-
-(define-method add_poll
-  (of-object "GSource")
-  (c-name "g_source_add_poll")
-  (return-type "none")
-  (parameters
-    '("GPollFD*" "fd")
-  )
-)
-
-(define-method remove_poll
-  (of-object "GSource")
-  (c-name "g_source_remove_poll")
-  (return-type "none")
-  (parameters
-    '("GPollFD*" "fd")
-  )
-)
-
-(define-method add_child_source
-  (of-object "GSource")
-  (c-name "g_source_add_child_source")
-  (return-type "none")
-  (parameters
-    '("GSource*" "child_source")
-  )
-)
-
-(define-method remove_child_source
-  (of-object "GSource")
-  (c-name "g_source_remove_child_source")
-  (return-type "none")
-  (parameters
-    '("GSource*" "child_source")
-  )
-)
-
-(define-method get_current_time
-  (of-object "GSource")
-  (c-name "g_source_get_current_time")
-  (return-type "none")
-  (parameters
-    '("GTimeVal*" "timeval")
-  )
-)
-
-(define-method get_time
-  (of-object "GSource")
-  (c-name "g_source_get_time")
-  (return-type "gint64")
-)
-
-(define-function g_idle_source_new
-  (c-name "g_idle_source_new")
-  (is-constructor-of "GIdleSource")
-  (return-type "GSource*")
-)
-
-(define-function g_child_watch_source_new
-  (c-name "g_child_watch_source_new")
-  (is-constructor-of "GChildWatchSource")
-  (return-type "GSource*")
-  (parameters
-    '("GPid" "pid")
-  )
-)
-
-(define-function g_timeout_source_new
-  (c-name "g_timeout_source_new")
-  (is-constructor-of "GTimeoutSource")
-  (return-type "GSource*")
-  (parameters
-    '("guint" "interval")
-  )
-)
-
-(define-function g_timeout_source_new_seconds
-  (c-name "g_timeout_source_new_seconds")
-  (return-type "GSource*")
-  (parameters
-    '("guint" "interval")
-  )
-)
-
-(define-function g_get_current_time
-  (c-name "g_get_current_time")
-  (return-type "none")
-  (parameters
-    '("GTimeVal*" "result")
-  )
-)
-
-(define-function g_get_monotonic_time
-  (c-name "g_get_monotonic_time")
-  (return-type "gint64")
-)
-
-(define-function g_get_real_time
-  (c-name "g_get_real_time")
-  (return-type "gint64")
-)
-
-(define-function g_source_remove
-  (c-name "g_source_remove")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "tag")
-  )
-)
-
-(define-function g_source_remove_by_user_data
-  (c-name "g_source_remove_by_user_data")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "user_data")
-  )
-)
-
-(define-function g_source_remove_by_funcs_user_data
-  (c-name "g_source_remove_by_funcs_user_data")
-  (return-type "gboolean")
-  (parameters
-    '("GSourceFuncs*" "funcs")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-function g_timeout_add_full
-  (c-name "g_timeout_add_full")
-  (return-type "guint")
-  (parameters
-    '("gint" "priority")
-    '("guint" "interval")
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_timeout_add
-  (c-name "g_timeout_add")
-  (return-type "guint")
-  (parameters
-    '("guint" "interval")
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_timeout_add_seconds_full
-  (c-name "g_timeout_add_seconds_full")
-  (return-type "guint")
-  (parameters
-    '("gint" "priority")
-    '("guint" "interval")
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_timeout_add_seconds
-  (c-name "g_timeout_add_seconds")
-  (return-type "guint")
-  (parameters
-    '("guint" "interval")
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_child_watch_add_full
-  (c-name "g_child_watch_add_full")
-  (return-type "guint")
-  (parameters
-    '("gint" "priority")
-    '("GPid" "pid")
-    '("GChildWatchFunc" "function")
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_child_watch_add
-  (c-name "g_child_watch_add")
-  (return-type "guint")
-  (parameters
-    '("GPid" "pid")
-    '("GChildWatchFunc" "function")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_idle_add
-  (c-name "g_idle_add")
-  (return-type "guint")
-  (parameters
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_idle_add_full
-  (c-name "g_idle_add_full")
-  (return-type "guint")
-  (parameters
-    '("gint" "priority")
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_idle_remove_by_data
-  (c-name "g_idle_remove_by_data")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method invoke_full
-  (of-object "GMainContext")
-  (c-name "g_main_context_invoke_full")
-  (return-type "none")
-  (parameters
-    '("gint" "priority")
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-method invoke
-  (of-object "GMainContext")
-  (c-name "g_main_context_invoke")
+  (of-object "GMainLoop")
+  (c-name "g_main_loop_unref")
   (return-type "none")
-  (parameters
-    '("GSourceFunc" "function")
-    '("gpointer" "data")
-  )
 )
 
-
-
-;; From gmain-internal.h
-
-
-
-;; From gmappedfile.h
-
-(define-function g_mapped_file_new
+(define-function new
   (c-name "g_mapped_file_new")
-  (is-constructor-of "GMappedFile")
   (return-type "GMappedFile*")
   (parameters
     '("const-gchar*" "filename")
@@ -7233,7 +2692,7 @@
   )
 )
 
-(define-function g_mapped_file_new_from_fd
+(define-function new_from_fd
   (c-name "g_mapped_file_new_from_fd")
   (return-type "GMappedFile*")
   (parameters
@@ -7243,10 +2702,16 @@
   )
 )
 
-(define-method get_length
+(define-method free
   (of-object "GMappedFile")
-  (c-name "g_mapped_file_get_length")
-  (return-type "gsize")
+  (c-name "g_mapped_file_free")
+  (return-type "none")
+)
+
+(define-method get_bytes
+  (of-object "GMappedFile")
+  (c-name "g_mapped_file_get_bytes")
+  (return-type "GBytes*")
 )
 
 (define-method get_contents
@@ -7255,10 +2720,10 @@
   (return-type "gchar*")
 )
 
-(define-method get_bytes
+(define-method get_length
   (of-object "GMappedFile")
-  (c-name "g_mapped_file_get_bytes")
-  (return-type "GBytes*")
+  (c-name "g_mapped_file_get_length")
+  (return-type "gsize")
 )
 
 (define-method ref
@@ -7273,24 +2738,8 @@
   (return-type "none")
 )
 
-(define-method free
-  (of-object "GMappedFile")
-  (c-name "g_mapped_file_free")
-  (return-type "none")
-)
-
-
-
-;; From gmarkup.h
-
-(define-function g_markup_error_quark
-  (c-name "g_markup_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_markup_parse_context_new
+(define-function new
   (c-name "g_markup_parse_context_new")
-  (is-constructor-of "GMarkupParseContext")
   (return-type "GMarkupParseContext*")
   (parameters
     '("const-GMarkupParser*" "parser")
@@ -7300,58 +2749,19 @@
   )
 )
 
-(define-method ref
-  (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_ref")
-  (return-type "GMarkupParseContext*")
-)
-
-(define-method unref
-  (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_unref")
-  (return-type "none")
-)
-
-(define-method free
-  (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_free")
-  (return-type "none")
-)
-
-(define-method parse
+(define-method end_parse
   (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_parse")
+  (c-name "g_markup_parse_context_end_parse")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "text")
-    '("gssize" "text_len")
     '("GError**" "error")
   )
 )
 
-(define-method push
+(define-method free
   (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_push")
+  (c-name "g_markup_parse_context_free")
   (return-type "none")
-  (parameters
-    '("const-GMarkupParser*" "parser")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method pop
-  (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_pop")
-  (return-type "gpointer")
-)
-
-(define-method end_parse
-  (of-object "GMarkupParseContext")
-  (c-name "g_markup_parse_context_end_parse")
-  (return-type "gboolean")
-  (parameters
-    '("GError**" "error")
-  )
 )
 
 (define-method get_element
@@ -7382,467 +2792,254 @@
   (return-type "gpointer")
 )
 
-(define-function g_markup_escape_text
-  (c-name "g_markup_escape_text")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "text")
-    '("gssize" "length")
-  )
-)
-
-(define-function g_markup_printf_escaped
-  (c-name "g_markup_printf_escaped")
-  (return-type "gchar*")
-  (parameters
-    '("const-char*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function g_markup_vprintf_escaped
-  (c-name "g_markup_vprintf_escaped")
-  (return-type "gchar*")
-  (parameters
-    '("const-char*" "format")
-    '("va_list" "args")
-  )
-)
-
-(define-function g_markup_collect_attributes
-  (c-name "g_markup_collect_attributes")
+(define-method parse
+  (of-object "GMarkupParseContext")
+  (c-name "g_markup_parse_context_parse")
   (return-type "gboolean")
   (parameters
-    '("const-gchar*" "element_name")
-    '("const-gchar**" "attribute_names")
-    '("const-gchar**" "attribute_values")
+    '("const-gchar*" "text")
+    '("gssize" "text_len")
     '("GError**" "error")
-    '("GMarkupCollectType" "first_type")
-    '("const-gchar*" "first_attr")
-  )
-  (varargs #t)
-)
-
-
-
-;; From gmem.h
-
-(define-function g_free
-  (c-name "g_free")
-  (return-type "none")
-  (parameters
-    '("gpointer" "mem")
-  )
-)
-
-(define-function g_clear_pointer
-  (c-name "g_clear_pointer")
-  (return-type "none")
-  (parameters
-    '("gpointer*" "pp")
-    '("GDestroyNotify" "destroy")
-  )
-)
-
-(define-function g_malloc
-  (c-name "g_malloc")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_bytes")
-  )
-)
-
-(define-function g_malloc0
-  (c-name "g_malloc0")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_bytes")
   )
 )
 
-(define-function g_realloc
-  (c-name "g_realloc")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "mem")
-    '("gsize" "n_bytes")
-  )
-)
-
-(define-function g_try_malloc
-  (c-name "g_try_malloc")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_bytes")
-  )
-)
-
-(define-function g_try_malloc0
-  (c-name "g_try_malloc0")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_bytes")
-  )
-)
-
-(define-function g_try_realloc
-  (c-name "g_try_realloc")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "mem")
-    '("gsize" "n_bytes")
-  )
-)
-
-(define-function g_malloc_n
-  (c-name "g_malloc_n")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_blocks")
-    '("gsize" "n_block_bytes")
-  )
-)
-
-(define-function g_malloc0_n
-  (c-name "g_malloc0_n")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_blocks")
-    '("gsize" "n_block_bytes")
-  )
-)
-
-(define-function g_realloc_n
-  (c-name "g_realloc_n")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "mem")
-    '("gsize" "n_blocks")
-    '("gsize" "n_block_bytes")
-  )
-)
-
-(define-function g_try_malloc_n
-  (c-name "g_try_malloc_n")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_blocks")
-    '("gsize" "n_block_bytes")
-  )
-)
-
-(define-function g_try_malloc0_n
-  (c-name "g_try_malloc0_n")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "n_blocks")
-    '("gsize" "n_block_bytes")
-  )
-)
-
-(define-function g_try_realloc_n
-  (c-name "g_try_realloc_n")
+(define-method pop
+  (of-object "GMarkupParseContext")
+  (c-name "g_markup_parse_context_pop")
   (return-type "gpointer")
-  (parameters
-    '("gpointer" "mem")
-    '("gsize" "n_blocks")
-    '("gsize" "n_block_bytes")
-  )
 )
 
-(define-function g_mem_set_vtable
-  (c-name "g_mem_set_vtable")
-  (return-type "none")
-  (parameters
-    '("GMemVTable*" "vtable")
-  )
-)
-
-(define-function g_mem_is_system_malloc
-  (c-name "g_mem_is_system_malloc")
-  (return-type "gboolean")
-)
-
-(define-function g_mem_profile
-  (c-name "g_mem_profile")
+(define-method push
+  (of-object "GMarkupParseContext")
+  (c-name "g_markup_parse_context_push")
   (return-type "none")
-)
-
-
-
-;; From gmessages.h
-
-(define-function g_printf_string_upper_bound
-  (c-name "g_printf_string_upper_bound")
-  (return-type "gsize")
   (parameters
-    '("const-gchar*" "format")
-    '("va_list" "args")
+    '("const-GMarkupParser*" "parser")
+    '("gpointer" "user_data")
   )
 )
 
-(define-function g_log_set_handler
-  (c-name "g_log_set_handler")
-  (return-type "guint")
-  (parameters
-    '("const-gchar*" "log_domain")
-    '("GLogLevelFlags" "log_levels")
-    '("GLogFunc" "log_func")
-    '("gpointer" "user_data")
-  )
+(define-method ref
+  (of-object "GMarkupParseContext")
+  (c-name "g_markup_parse_context_ref")
+  (return-type "GMarkupParseContext*")
 )
 
-(define-function g_log_remove_handler
-  (c-name "g_log_remove_handler")
+(define-method unref
+  (of-object "GMarkupParseContext")
+  (c-name "g_markup_parse_context_unref")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "log_domain")
-    '("guint" "handler_id")
-  )
 )
 
-(define-function g_log_default_handler
-  (c-name "g_log_default_handler")
-  (return-type "none")
+(define-method expand_references
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_expand_references")
+  (return-type "gchar*")
   (parameters
-    '("const-gchar*" "log_domain")
-    '("GLogLevelFlags" "log_level")
-    '("const-gchar*" "message")
-    '("gpointer" "unused_data")
+    '("const-gchar*" "string_to_expand")
+    '("GError**" "error")
   )
 )
 
-(define-function g_log_set_default_handler
-  (c-name "g_log_set_default_handler")
-  (return-type "GLogFunc")
+(define-method fetch
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_fetch")
+  (return-type "gchar*")
   (parameters
-    '("GLogFunc" "log_func")
-    '("gpointer" "user_data")
+    '("gint" "match_num")
   )
 )
 
-(define-function g_log
-  (c-name "g_log")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "log_domain")
-    '("GLogLevelFlags" "log_level")
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
+(define-method fetch_all
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_fetch_all")
+  (return-type "const-gchar**")
 )
 
-(define-function g_logv
-  (c-name "g_logv")
-  (return-type "none")
+(define-method fetch_named
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_fetch_named")
+  (return-type "gchar*")
   (parameters
-    '("const-gchar*" "log_domain")
-    '("GLogLevelFlags" "log_level")
-    '("const-gchar*" "format")
-    '("va_list" "args")
+    '("const-gchar*" "name")
   )
 )
 
-(define-function g_log_set_fatal_mask
-  (c-name "g_log_set_fatal_mask")
-  (return-type "GLogLevelFlags")
+(define-method fetch_named_pos
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_fetch_named_pos")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "log_domain")
-    '("GLogLevelFlags" "fatal_mask")
+    '("const-gchar*" "name")
+    '("gint*" "start_pos")
+    '("gint*" "end_pos")
   )
 )
 
-(define-function g_log_set_always_fatal
-  (c-name "g_log_set_always_fatal")
-  (return-type "GLogLevelFlags")
+(define-method fetch_pos
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_fetch_pos")
+  (return-type "gboolean")
   (parameters
-    '("GLogLevelFlags" "fatal_mask")
+    '("gint" "match_num")
+    '("gint*" "start_pos")
+    '("gint*" "end_pos")
   )
 )
 
-(define-function g_return_if_fail_warning
-  (c-name "g_return_if_fail_warning")
+(define-method free
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_free")
   (return-type "none")
-  (parameters
-    '("const-char*" "log_domain")
-    '("const-char*" "pretty_function")
-    '("const-char*" "expression")
-  )
 )
 
-(define-function g_warn_message
-  (c-name "g_warn_message")
-  (return-type "none")
-  (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("const-char*" "warnexpr")
-  )
+(define-method get_match_count
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_get_match_count")
+  (return-type "gint")
 )
 
-(define-function g_assert_warning
-  (c-name "g_assert_warning")
-  (return-type "none")
-  (parameters
-    '("const-char*" "log_domain")
-    '("const-char*" "file")
-    '("const-int" "line")
-    '("const-char*" "pretty_function")
-    '("const-char*" "expression")
-  )
+(define-method get_regex
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_get_regex")
+  (return-type "GRegex*")
 )
 
-(define-function g_error
-  (c-name "g_error")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
+(define-method get_string
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_get_string")
+  (return-type "const-gchar*")
 )
 
-(define-function g_critical
-  (c-name "g_critical")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
+(define-method is_partial_match
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_is_partial_match")
+  (return-type "gboolean")
 )
 
-(define-function g_message
-  (c-name "g_message")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
+(define-method matches
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_matches")
+  (return-type "gboolean")
 )
 
-(define-function g_warning
-  (c-name "g_warning")
-  (return-type "none")
+(define-method next
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_next")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "format")
+    '("GError**" "error")
   )
-  (varargs #t)
 )
 
-(define-function g_info
-  (c-name "g_info")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
+(define-method ref
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_ref")
+  (return-type "GMatchInfo*")
 )
 
-(define-function g_debug
-  (c-name "g_debug")
+(define-method unref
+  (of-object "GMatchInfo")
+  (c-name "g_match_info_unref")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
 )
 
-(define-function g_print
-  (c-name "g_print")
-  (return-type "none")
+(define-method child_index
+  (of-object "GNode")
+  (c-name "g_node_child_index")
+  (return-type "gint")
   (parameters
-    '("const-gchar*" "format")
+    '("gpointer" "data")
   )
-  (varargs #t)
 )
 
-(define-function g_set_print_handler
-  (c-name "g_set_print_handler")
-  (return-type "GPrintFunc")
+(define-method child_position
+  (of-object "GNode")
+  (c-name "g_node_child_position")
+  (return-type "gint")
   (parameters
-    '("GPrintFunc" "func")
+    '("GNode*" "child")
   )
 )
 
-(define-function g_printerr
-  (c-name "g_printerr")
+(define-method children_foreach
+  (of-object "GNode")
+  (c-name "g_node_children_foreach")
   (return-type "none")
   (parameters
-    '("const-gchar*" "format")
+    '("GTraverseFlags" "flags")
+    '("GNodeForeachFunc" "func")
+    '("gpointer" "data")
   )
-  (varargs #t)
 )
 
-(define-function g_set_printerr_handler
-  (c-name "g_set_printerr_handler")
-  (return-type "GPrintFunc")
-  (parameters
-    '("GPrintFunc" "func")
-  )
+(define-method copy
+  (of-object "GNode")
+  (c-name "g_node_copy")
+  (return-type "GNode*")
 )
 
-
-
-;; From gmirroringtable.h
-
-
-
-;; From gnode.h
-
-(define-function g_node_new
-  (c-name "g_node_new")
-  (is-constructor-of "GNode")
+(define-method copy_deep
+  (of-object "GNode")
+  (c-name "g_node_copy_deep")
   (return-type "GNode*")
   (parameters
+    '("GCopyFunc" "copy_func")
     '("gpointer" "data")
   )
 )
 
+(define-method depth
+  (of-object "GNode")
+  (c-name "g_node_depth")
+  (return-type "guint")
+)
+
 (define-method destroy
   (of-object "GNode")
   (c-name "g_node_destroy")
   (return-type "none")
 )
 
-(define-method unlink
+(define-method find
   (of-object "GNode")
-  (c-name "g_node_unlink")
-  (return-type "none")
+  (c-name "g_node_find")
+  (return-type "GNode*")
+  (parameters
+    '("GTraverseType" "order")
+    '("GTraverseFlags" "flags")
+    '("gpointer" "data")
+  )
 )
 
-(define-method copy_deep
+(define-method find_child
   (of-object "GNode")
-  (c-name "g_node_copy_deep")
+  (c-name "g_node_find_child")
   (return-type "GNode*")
   (parameters
-    '("GCopyFunc" "copy_func")
+    '("GTraverseFlags" "flags")
     '("gpointer" "data")
   )
 )
 
-(define-method copy
+(define-method first_sibling
   (of-object "GNode")
-  (c-name "g_node_copy")
+  (c-name "g_node_first_sibling")
   (return-type "GNode*")
 )
 
-(define-method insert
+(define-method get_root
   (of-object "GNode")
-  (c-name "g_node_insert")
+  (c-name "g_node_get_root")
   (return-type "GNode*")
-  (parameters
-    '("gint" "position")
-    '("GNode*" "node")
-  )
 )
 
-(define-method insert_before
+(define-method insert
   (of-object "GNode")
-  (c-name "g_node_insert_before")
+  (c-name "g_node_insert")
   (return-type "GNode*")
   (parameters
-    '("GNode*" "sibling")
+    '("gint" "position")
     '("GNode*" "node")
   )
 )
@@ -7857,30 +3054,16 @@
   )
 )
 
-(define-method prepend
+(define-method insert_before
   (of-object "GNode")
-  (c-name "g_node_prepend")
+  (c-name "g_node_insert_before")
   (return-type "GNode*")
   (parameters
+    '("GNode*" "sibling")
     '("GNode*" "node")
   )
 )
 
-(define-method n_nodes
-  (of-object "GNode")
-  (c-name "g_node_n_nodes")
-  (return-type "guint")
-  (parameters
-    '("GTraverseFlags" "flags")
-  )
-)
-
-(define-method get_root
-  (of-object "GNode")
-  (c-name "g_node_get_root")
-  (return-type "GNode*")
-)
-
 (define-method is_ancestor
   (of-object "GNode")
   (c-name "g_node_is_ancestor")
@@ -7890,34 +3073,16 @@
   )
 )
 
-(define-method depth
-  (of-object "GNode")
-  (c-name "g_node_depth")
-  (return-type "guint")
-)
-
-(define-method find
+(define-method last_child
   (of-object "GNode")
-  (c-name "g_node_find")
+  (c-name "g_node_last_child")
   (return-type "GNode*")
-  (parameters
-    '("GTraverseType" "order")
-    '("GTraverseFlags" "flags")
-    '("gpointer" "data")
-  )
 )
 
-(define-method traverse
+(define-method last_sibling
   (of-object "GNode")
-  (c-name "g_node_traverse")
-  (return-type "none")
-  (parameters
-    '("GTraverseType" "order")
-    '("GTraverseFlags" "flags")
-    '("gint" "max_depth")
-    '("GNodeTraverseFunc" "func")
-    '("gpointer" "data")
-  )
+  (c-name "g_node_last_sibling")
+  (return-type "GNode*")
 )
 
 (define-method max_height
@@ -7926,27 +3091,19 @@
   (return-type "guint")
 )
 
-(define-method children_foreach
-  (of-object "GNode")
-  (c-name "g_node_children_foreach")
-  (return-type "none")
-  (parameters
-    '("GTraverseFlags" "flags")
-    '("GNodeForeachFunc" "func")
-    '("gpointer" "data")
-  )
-)
-
-(define-method reverse_children
+(define-method n_children
   (of-object "GNode")
-  (c-name "g_node_reverse_children")
-  (return-type "none")
+  (c-name "g_node_n_children")
+  (return-type "guint")
 )
 
-(define-method n_children
+(define-method n_nodes
   (of-object "GNode")
-  (c-name "g_node_n_children")
+  (c-name "g_node_n_nodes")
   (return-type "guint")
+  (parameters
+    '("GTraverseFlags" "flags")
+  )
 )
 
 (define-method nth_child
@@ -7958,92 +3115,73 @@
   )
 )
 
-(define-method last_child
-  (of-object "GNode")
-  (c-name "g_node_last_child")
-  (return-type "GNode*")
-)
-
-(define-method find_child
+(define-method prepend
   (of-object "GNode")
-  (c-name "g_node_find_child")
+  (c-name "g_node_prepend")
   (return-type "GNode*")
   (parameters
-    '("GTraverseFlags" "flags")
-    '("gpointer" "data")
+    '("GNode*" "node")
   )
 )
 
-(define-method child_position
+(define-method reverse_children
   (of-object "GNode")
-  (c-name "g_node_child_position")
-  (return-type "gint")
-  (parameters
-    '("GNode*" "child")
-  )
+  (c-name "g_node_reverse_children")
+  (return-type "none")
 )
 
-(define-method child_index
+(define-method traverse
   (of-object "GNode")
-  (c-name "g_node_child_index")
-  (return-type "gint")
+  (c-name "g_node_traverse")
+  (return-type "none")
   (parameters
+    '("GTraverseType" "order")
+    '("GTraverseFlags" "flags")
+    '("gint" "max_depth")
+    '("GNodeTraverseFunc" "func")
     '("gpointer" "data")
   )
 )
 
-(define-method first_sibling
-  (of-object "GNode")
-  (c-name "g_node_first_sibling")
-  (return-type "GNode*")
-)
-
-(define-method last_sibling
+(define-method unlink
   (of-object "GNode")
-  (c-name "g_node_last_sibling")
-  (return-type "GNode*")
-)
-
-
-
-;; From goption.h
-
-(define-function g_option_error_quark
-  (c-name "g_option_error_quark")
-  (return-type "GQuark")
+  (c-name "g_node_unlink")
+  (return-type "none")
 )
 
-(define-function g_option_context_new
-  (c-name "g_option_context_new")
-  (is-constructor-of "GOptionContext")
-  (return-type "GOptionContext*")
+(define-method impl
+  (of-object "GOnce")
+  (c-name "g_once_impl")
+  (return-type "gpointer")
   (parameters
-    '("const-gchar*" "parameter_string")
+    '("GThreadFunc" "func")
+    '("gpointer" "arg")
   )
 )
 
-(define-method set_summary
+(define-method add_group
   (of-object "GOptionContext")
-  (c-name "g_option_context_set_summary")
+  (c-name "g_option_context_add_group")
   (return-type "none")
   (parameters
-    '("const-gchar*" "summary")
+    '("GOptionGroup*" "group")
   )
 )
 
-(define-method get_summary
+(define-method add_main_entries
   (of-object "GOptionContext")
-  (c-name "g_option_context_get_summary")
-  (return-type "const-gchar*")
+  (c-name "g_option_context_add_main_entries")
+  (return-type "none")
+  (parameters
+    '("const-GOptionEntry*" "entries")
+    '("const-gchar*" "translation_domain")
+  )
 )
 
-(define-method set_description
+(define-method free
   (of-object "GOptionContext")
-  (c-name "g_option_context_set_description")
+  (c-name "g_option_context_free")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "description")
-  )
 )
 
 (define-method get_description
@@ -8052,18 +3190,13 @@
   (return-type "const-gchar*")
 )
 
-(define-method free
-  (of-object "GOptionContext")
-  (c-name "g_option_context_free")
-  (return-type "none")
-)
-
-(define-method set_help_enabled
+(define-method get_help
   (of-object "GOptionContext")
-  (c-name "g_option_context_set_help_enabled")
-  (return-type "none")
+  (c-name "g_option_context_get_help")
+  (return-type "gchar*")
   (parameters
-    '("gboolean" "help_enabled")
+    '("gboolean" "main_help")
+    '("GOptionGroup*" "group")
   )
 )
 
@@ -8073,29 +3206,22 @@
   (return-type "gboolean")
 )
 
-(define-method set_ignore_unknown_options
-  (of-object "GOptionContext")
-  (c-name "g_option_context_set_ignore_unknown_options")
-  (return-type "none")
-  (parameters
-    '("gboolean" "ignore_unknown")
-  )
-)
-
 (define-method get_ignore_unknown_options
   (of-object "GOptionContext")
   (c-name "g_option_context_get_ignore_unknown_options")
   (return-type "gboolean")
 )
 
-(define-method add_main_entries
+(define-method get_main_group
   (of-object "GOptionContext")
-  (c-name "g_option_context_add_main_entries")
-  (return-type "none")
-  (parameters
-    '("const-GOptionEntry*" "entries")
-    '("const-gchar*" "translation_domain")
-  )
+  (c-name "g_option_context_get_main_group")
+  (return-type "GOptionGroup*")
+)
+
+(define-method get_summary
+  (of-object "GOptionContext")
+  (c-name "g_option_context_get_summary")
+  (return-type "const-gchar*")
 )
 
 (define-method parse
@@ -8119,32 +3245,30 @@
   )
 )
 
-(define-method set_translate_func
+(define-method set_description
   (of-object "GOptionContext")
-  (c-name "g_option_context_set_translate_func")
+  (c-name "g_option_context_set_description")
   (return-type "none")
   (parameters
-    '("GTranslateFunc" "func")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy_notify")
+    '("const-gchar*" "description")
   )
 )
 
-(define-method set_translation_domain
+(define-method set_help_enabled
   (of-object "GOptionContext")
-  (c-name "g_option_context_set_translation_domain")
+  (c-name "g_option_context_set_help_enabled")
   (return-type "none")
   (parameters
-    '("const-gchar*" "domain")
+    '("gboolean" "help_enabled")
   )
 )
 
-(define-method add_group
+(define-method set_ignore_unknown_options
   (of-object "GOptionContext")
-  (c-name "g_option_context_add_group")
+  (c-name "g_option_context_set_ignore_unknown_options")
   (return-type "none")
   (parameters
-    '("GOptionGroup*" "group")
+    '("gboolean" "ignore_unknown")
   )
 )
 
@@ -8157,45 +3281,50 @@
   )
 )
 
-(define-method get_main_group
+(define-method set_summary
   (of-object "GOptionContext")
-  (c-name "g_option_context_get_main_group")
-  (return-type "GOptionGroup*")
+  (c-name "g_option_context_set_summary")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "summary")
+  )
 )
 
-(define-method get_help
+(define-method set_translate_func
   (of-object "GOptionContext")
-  (c-name "g_option_context_get_help")
-  (return-type "gchar*")
+  (c-name "g_option_context_set_translate_func")
+  (return-type "none")
   (parameters
-    '("gboolean" "main_help")
-    '("GOptionGroup*" "group")
+    '("GTranslateFunc" "func")
+    '("gpointer" "data")
+    '("GDestroyNotify" "destroy_notify")
   )
 )
 
-(define-function g_option_group_new
-  (c-name "g_option_group_new")
-  (is-constructor-of "GOptionGroup")
-  (return-type "GOptionGroup*")
+(define-method set_translation_domain
+  (of-object "GOptionContext")
+  (c-name "g_option_context_set_translation_domain")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "description")
-    '("const-gchar*" "help_description")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "destroy")
+    '("const-gchar*" "domain")
   )
 )
 
-(define-method set_parse_hooks
+(define-method add_entries
   (of-object "GOptionGroup")
-  (c-name "g_option_group_set_parse_hooks")
+  (c-name "g_option_group_add_entries")
   (return-type "none")
   (parameters
-    '("GOptionParseFunc" "pre_parse_func")
-    '("GOptionParseFunc" "post_parse_func")
+    '("const-GOptionEntry*" "entries")
   )
 )
 
+(define-method free
+  (of-object "GOptionGroup")
+  (c-name "g_option_group_free")
+  (return-type "none")
+)
+
 (define-method set_error_hook
   (of-object "GOptionGroup")
   (c-name "g_option_group_set_error_hook")
@@ -8205,18 +3334,13 @@
   )
 )
 
-(define-method free
-  (of-object "GOptionGroup")
-  (c-name "g_option_group_free")
-  (return-type "none")
-)
-
-(define-method add_entries
+(define-method set_parse_hooks
   (of-object "GOptionGroup")
-  (c-name "g_option_group_add_entries")
+  (c-name "g_option_group_set_parse_hooks")
   (return-type "none")
   (parameters
-    '("const-GOptionEntry*" "entries")
+    '("GOptionParseFunc" "pre_parse_func")
+    '("GOptionParseFunc" "post_parse_func")
   )
 )
 
@@ -8240,25 +3364,6 @@
   )
 )
 
-
-
-;; From gpattern.h
-
-(define-function g_pattern_spec_new
-  (c-name "g_pattern_spec_new")
-  (is-constructor-of "GPatternSpec")
-  (return-type "GPatternSpec*")
-  (parameters
-    '("const-gchar*" "pattern")
-  )
-)
-
-(define-method free
-  (of-object "GPatternSpec")
-  (c-name "g_pattern_spec_free")
-  (return-type "none")
-)
-
 (define-method equal
   (of-object "GPatternSpec")
   (c-name "g_pattern_spec_equal")
@@ -8268,213 +3373,86 @@
   )
 )
 
-(define-function g_pattern_match
-  (c-name "g_pattern_match")
-  (return-type "gboolean")
-  (parameters
-    '("GPatternSpec*" "pspec")
-    '("guint" "string_length")
-    '("const-gchar*" "string")
-    '("const-gchar*" "string_reversed")
-  )
-)
-
-(define-function g_pattern_match_string
-  (c-name "g_pattern_match_string")
-  (return-type "gboolean")
-  (parameters
-    '("GPatternSpec*" "pspec")
-    '("const-gchar*" "string")
-  )
-)
-
-(define-function g_pattern_match_simple
-  (c-name "g_pattern_match_simple")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "pattern")
-    '("const-gchar*" "string")
-  )
-)
-
-
-
-;; From gpoll.h
-
-(define-function g_poll
-  (c-name "g_poll")
-  (return-type "gint")
-  (parameters
-    '("GPollFD*" "fds")
-    '("guint" "nfds")
-    '("gint" "timeout")
-  )
+(define-method free
+  (of-object "GPatternSpec")
+  (c-name "g_pattern_spec_free")
+  (return-type "none")
 )
 
-
-
-;; From gprimes.h
-
-(define-function g_spaced_primes_closest
-  (c-name "g_spaced_primes_closest")
-  (return-type "guint")
-  (parameters
-    '("guint" "num")
-  )
+(define-method get
+  (of-object "GPrivate")
+  (c-name "g_private_get")
+  (return-type "gpointer")
 )
 
-
-
-;; From gprintf.h
-
-(define-function g_printf
-  (c-name "g_printf")
-  (return-type "gint")
+(define-method replace
+  (of-object "GPrivate")
+  (c-name "g_private_replace")
+  (return-type "none")
   (parameters
-    '("gchar-const*" "format")
+    '("gpointer" "value")
   )
-  (varargs #t)
 )
 
-(define-function g_fprintf
-  (c-name "g_fprintf")
-  (return-type "gint")
+(define-method set
+  (of-object "GPrivate")
+  (c-name "g_private_set")
+  (return-type "none")
   (parameters
-    '("FILE*" "file")
-    '("gchar-const*" "format")
+    '("gpointer" "value")
   )
-  (varargs #t)
 )
 
-(define-function g_sprintf
-  (c-name "g_sprintf")
-  (return-type "gint")
-  (parameters
-    '("gchar*" "string")
-    '("gchar-const*" "format")
-  )
-  (varargs #t)
+(define-method clear
+  (of-object "GQueue")
+  (c-name "g_queue_clear")
+  (return-type "none")
 )
 
-(define-function g_vprintf
-  (c-name "g_vprintf")
-  (return-type "gint")
-  (parameters
-    '("gchar-const*" "format")
-    '("va_list" "args")
-  )
+(define-method copy
+  (of-object "GQueue")
+  (c-name "g_queue_copy")
+  (return-type "GQueue*")
 )
 
-(define-function g_vfprintf
-  (c-name "g_vfprintf")
-  (return-type "gint")
+(define-method delete_link
+  (of-object "GQueue")
+  (c-name "g_queue_delete_link")
+  (return-type "none")
   (parameters
-    '("FILE*" "file")
-    '("gchar-const*" "format")
-    '("va_list" "args")
+    '("GList*" "link_")
   )
 )
 
-(define-function g_vsprintf
-  (c-name "g_vsprintf")
-  (return-type "gint")
+(define-method find
+  (of-object "GQueue")
+  (c-name "g_queue_find")
+  (return-type "GList*")
   (parameters
-    '("gchar*" "string")
-    '("gchar-const*" "format")
-    '("va_list" "args")
+    '("gconstpointer" "data")
   )
 )
 
-(define-function g_vasprintf
-  (c-name "g_vasprintf")
-  (return-type "gint")
+(define-method find_custom
+  (of-object "GQueue")
+  (c-name "g_queue_find_custom")
+  (return-type "GList*")
   (parameters
-    '("gchar**" "string")
-    '("gchar-const*" "format")
-    '("va_list" "args")
+    '("gconstpointer" "data")
+    '("GCompareFunc" "func")
   )
 )
 
-
-
-;; From gprintfint.h
-
-
-
-;; From gqsort.h
-
-(define-function g_qsort_with_data
-  (c-name "g_qsort_with_data")
+(define-method foreach
+  (of-object "GQueue")
+  (c-name "g_queue_foreach")
   (return-type "none")
   (parameters
-    '("gconstpointer" "pbase")
-    '("gint" "total_elems")
-    '("gsize" "size")
-    '("GCompareDataFunc" "compare_func")
+    '("GFunc" "func")
     '("gpointer" "user_data")
   )
 )
 
-
-
-;; From gquark.h
-
-(define-function g_quark_try_string
-  (c-name "g_quark_try_string")
-  (return-type "GQuark")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-(define-function g_quark_from_static_string
-  (c-name "g_quark_from_static_string")
-  (return-type "GQuark")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-(define-function g_quark_from_string
-  (c-name "g_quark_from_string")
-  (return-type "GQuark")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-(define-method to_string
-  (of-object "GQuark")
-  (c-name "g_quark_to_string")
-  (return-type "const-gchar*")
-)
-
-(define-function g_intern_string
-  (c-name "g_intern_string")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-(define-function g_intern_static_string
-  (c-name "g_intern_static_string")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-
-
-;; From gqueue.h
-
-(define-function g_queue_new
-  (c-name "g_queue_new")
-  (is-constructor-of "GQueue")
-  (return-type "GQueue*")
-)
-
 (define-method free
   (of-object "GQueue")
   (c-name "g_queue_free")
@@ -8490,134 +3468,101 @@
   )
 )
 
-(define-method init
-  (of-object "GQueue")
-  (c-name "g_queue_init")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GQueue")
-  (c-name "g_queue_clear")
-  (return-type "none")
-)
-
-(define-method is_empty
-  (of-object "GQueue")
-  (c-name "g_queue_is_empty")
-  (return-type "gboolean")
-)
-
 (define-method get_length
   (of-object "GQueue")
   (c-name "g_queue_get_length")
   (return-type "guint")
 )
 
-(define-method reverse
-  (of-object "GQueue")
-  (c-name "g_queue_reverse")
-  (return-type "none")
-)
-
-(define-method copy
-  (of-object "GQueue")
-  (c-name "g_queue_copy")
-  (return-type "GQueue*")
-)
-
-(define-method foreach
-  (of-object "GQueue")
-  (c-name "g_queue_foreach")
-  (return-type "none")
-  (parameters
-    '("GFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method find
+(define-method index
   (of-object "GQueue")
-  (c-name "g_queue_find")
-  (return-type "GList*")
+  (c-name "g_queue_index")
+  (return-type "gint")
   (parameters
     '("gconstpointer" "data")
   )
 )
 
-(define-method find_custom
+(define-method init
   (of-object "GQueue")
-  (c-name "g_queue_find_custom")
-  (return-type "GList*")
-  (parameters
-    '("gconstpointer" "data")
-    '("GCompareFunc" "func")
-  )
+  (c-name "g_queue_init")
+  (return-type "none")
 )
 
-(define-method sort
+(define-method insert_after
   (of-object "GQueue")
-  (c-name "g_queue_sort")
+  (c-name "g_queue_insert_after")
   (return-type "none")
   (parameters
-    '("GCompareDataFunc" "compare_func")
-    '("gpointer" "user_data")
+    '("GList*" "sibling")
+    '("gpointer" "data")
   )
 )
 
-(define-method push_head
+(define-method insert_before
   (of-object "GQueue")
-  (c-name "g_queue_push_head")
+  (c-name "g_queue_insert_before")
   (return-type "none")
   (parameters
+    '("GList*" "sibling")
     '("gpointer" "data")
   )
 )
 
-(define-method push_tail
+(define-method insert_sorted
   (of-object "GQueue")
-  (c-name "g_queue_push_tail")
+  (c-name "g_queue_insert_sorted")
   (return-type "none")
   (parameters
     '("gpointer" "data")
+    '("GCompareDataFunc" "func")
+    '("gpointer" "user_data")
   )
 )
 
-(define-method push_nth
+(define-method is_empty
   (of-object "GQueue")
-  (c-name "g_queue_push_nth")
-  (return-type "none")
+  (c-name "g_queue_is_empty")
+  (return-type "gboolean")
+)
+
+(define-method link_index
+  (of-object "GQueue")
+  (c-name "g_queue_link_index")
+  (return-type "gint")
   (parameters
-    '("gpointer" "data")
-    '("gint" "n")
+    '("GList*" "link_")
   )
 )
 
-(define-method pop_head
+(define-method peek_head
   (of-object "GQueue")
-  (c-name "g_queue_pop_head")
+  (c-name "g_queue_peek_head")
   (return-type "gpointer")
 )
 
-(define-method pop_tail
+(define-method peek_head_link
   (of-object "GQueue")
-  (c-name "g_queue_pop_tail")
-  (return-type "gpointer")
+  (c-name "g_queue_peek_head_link")
+  (return-type "GList*")
 )
 
-(define-method pop_nth
+(define-method peek_nth
   (of-object "GQueue")
-  (c-name "g_queue_pop_nth")
+  (c-name "g_queue_peek_nth")
   (return-type "gpointer")
   (parameters
     '("guint" "n")
   )
 )
 
-(define-method peek_head
+(define-method peek_nth_link
   (of-object "GQueue")
-  (c-name "g_queue_peek_head")
-  (return-type "gpointer")
+  (c-name "g_queue_peek_nth_link")
+  (return-type "GList*")
+  (parameters
+    '("guint" "n")
+  )
 )
 
 (define-method peek_tail
@@ -8626,70 +3571,60 @@
   (return-type "gpointer")
 )
 
-(define-method peek_nth
+(define-method peek_tail_link
   (of-object "GQueue")
-  (c-name "g_queue_peek_nth")
+  (c-name "g_queue_peek_tail_link")
+  (return-type "GList*")
+)
+
+(define-method pop_head
+  (of-object "GQueue")
+  (c-name "g_queue_pop_head")
   (return-type "gpointer")
-  (parameters
-    '("guint" "n")
-  )
 )
 
-(define-method index
+(define-method pop_head_link
   (of-object "GQueue")
-  (c-name "g_queue_index")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "data")
-  )
+  (c-name "g_queue_pop_head_link")
+  (return-type "GList*")
 )
 
-(define-method remove
+(define-method pop_nth
   (of-object "GQueue")
-  (c-name "g_queue_remove")
-  (return-type "gboolean")
+  (c-name "g_queue_pop_nth")
+  (return-type "gpointer")
   (parameters
-    '("gconstpointer" "data")
+    '("guint" "n")
   )
 )
 
-(define-method remove_all
+(define-method pop_nth_link
   (of-object "GQueue")
-  (c-name "g_queue_remove_all")
-  (return-type "guint")
+  (c-name "g_queue_pop_nth_link")
+  (return-type "GList*")
   (parameters
-    '("gconstpointer" "data")
+    '("guint" "n")
   )
 )
 
-(define-method insert_before
+(define-method pop_tail
   (of-object "GQueue")
-  (c-name "g_queue_insert_before")
-  (return-type "none")
-  (parameters
-    '("GList*" "sibling")
-    '("gpointer" "data")
-  )
+  (c-name "g_queue_pop_tail")
+  (return-type "gpointer")
 )
 
-(define-method insert_after
+(define-method pop_tail_link
   (of-object "GQueue")
-  (c-name "g_queue_insert_after")
-  (return-type "none")
-  (parameters
-    '("GList*" "sibling")
-    '("gpointer" "data")
-  )
+  (c-name "g_queue_pop_tail_link")
+  (return-type "GList*")
 )
 
-(define-method insert_sorted
+(define-method push_head
   (of-object "GQueue")
-  (c-name "g_queue_insert_sorted")
+  (c-name "g_queue_push_head")
   (return-type "none")
   (parameters
     '("gpointer" "data")
-    '("GCompareDataFunc" "func")
-    '("gpointer" "user_data")
   )
 )
 
@@ -8702,12 +3637,13 @@
   )
 )
 
-(define-method push_tail_link
+(define-method push_nth
   (of-object "GQueue")
-  (c-name "g_queue_push_tail_link")
+  (c-name "g_queue_push_nth")
   (return-type "none")
   (parameters
-    '("GList*" "link_")
+    '("gpointer" "data")
+    '("gint" "n")
   )
 )
 
@@ -8721,54 +3657,55 @@
   )
 )
 
-(define-method pop_head_link
-  (of-object "GQueue")
-  (c-name "g_queue_pop_head_link")
-  (return-type "GList*")
-)
-
-(define-method pop_tail_link
+(define-method push_tail
   (of-object "GQueue")
-  (c-name "g_queue_pop_tail_link")
-  (return-type "GList*")
+  (c-name "g_queue_push_tail")
+  (return-type "none")
+  (parameters
+    '("gpointer" "data")
+  )
 )
 
-(define-method pop_nth_link
+(define-method push_tail_link
   (of-object "GQueue")
-  (c-name "g_queue_pop_nth_link")
-  (return-type "GList*")
+  (c-name "g_queue_push_tail_link")
+  (return-type "none")
   (parameters
-    '("guint" "n")
+    '("GList*" "link_")
   )
 )
 
-(define-method peek_head_link
+(define-method remove
   (of-object "GQueue")
-  (c-name "g_queue_peek_head_link")
-  (return-type "GList*")
+  (c-name "g_queue_remove")
+  (return-type "gboolean")
+  (parameters
+    '("gconstpointer" "data")
+  )
 )
 
-(define-method peek_tail_link
+(define-method remove_all
   (of-object "GQueue")
-  (c-name "g_queue_peek_tail_link")
-  (return-type "GList*")
+  (c-name "g_queue_remove_all")
+  (return-type "guint")
+  (parameters
+    '("gconstpointer" "data")
+  )
 )
 
-(define-method peek_nth_link
+(define-method reverse
   (of-object "GQueue")
-  (c-name "g_queue_peek_nth_link")
-  (return-type "GList*")
-  (parameters
-    '("guint" "n")
-  )
+  (c-name "g_queue_reverse")
+  (return-type "none")
 )
 
-(define-method link_index
+(define-method sort
   (of-object "GQueue")
-  (c-name "g_queue_link_index")
-  (return-type "gint")
+  (c-name "g_queue_sort")
+  (return-type "none")
   (parameters
-    '("GList*" "link_")
+    '("GCompareDataFunc" "compare_func")
+    '("gpointer" "user_data")
   )
 )
 
@@ -8781,45 +3718,51 @@
   )
 )
 
-(define-method delete_link
-  (of-object "GQueue")
-  (c-name "g_queue_delete_link")
+(define-method clear
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_clear")
   (return-type "none")
-  (parameters
-    '("GList*" "link_")
-  )
 )
 
+(define-method init
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_init")
+  (return-type "none")
+)
 
+(define-method reader_lock
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_reader_lock")
+  (return-type "none")
+)
 
-;; From grand.h
+(define-method reader_trylock
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_reader_trylock")
+  (return-type "gboolean")
+)
 
-(define-function g_rand_new_with_seed
-  (c-name "g_rand_new_with_seed")
-  (return-type "GRand*")
-  (parameters
-    '("guint32" "seed")
-  )
+(define-method reader_unlock
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_reader_unlock")
+  (return-type "none")
 )
 
-(define-function g_rand_new_with_seed_array
-  (c-name "g_rand_new_with_seed_array")
-  (return-type "GRand*")
-  (parameters
-    '("const-guint32*" "seed")
-    '("guint" "seed_length")
-  )
+(define-method writer_lock
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_writer_lock")
+  (return-type "none")
 )
 
-(define-function g_rand_new
-  (c-name "g_rand_new")
-  (is-constructor-of "GRand")
-  (return-type "GRand*")
+(define-method writer_trylock
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_writer_trylock")
+  (return-type "gboolean")
 )
 
-(define-method free
-  (of-object "GRand")
-  (c-name "g_rand_free")
+(define-method writer_unlock
+  (of-object "GRWLock")
+  (c-name "g_rw_lock_writer_unlock")
   (return-type "none")
 )
 
@@ -8829,23 +3772,26 @@
   (return-type "GRand*")
 )
 
-(define-method set_seed
+(define-method double
   (of-object "GRand")
-  (c-name "g_rand_set_seed")
-  (return-type "none")
+  (c-name "g_rand_double")
+  (return-type "gdouble")
+)
+
+(define-method double_range
+  (of-object "GRand")
+  (c-name "g_rand_double_range")
+  (return-type "gdouble")
   (parameters
-    '("guint32" "seed")
+    '("gdouble" "begin")
+    '("gdouble" "end")
   )
 )
 
-(define-method set_seed_array
+(define-method free
   (of-object "GRand")
-  (c-name "g_rand_set_seed_array")
+  (c-name "g_rand_free")
   (return-type "none")
-  (parameters
-    '("const-guint32*" "seed")
-    '("guint" "seed_length")
-  )
 )
 
 (define-method int
@@ -8864,70 +3810,57 @@
   )
 )
 
-(define-method double
-  (of-object "GRand")
-  (c-name "g_rand_double")
-  (return-type "gdouble")
-)
-
-(define-method double_range
+(define-method set_seed
   (of-object "GRand")
-  (c-name "g_rand_double_range")
-  (return-type "gdouble")
+  (c-name "g_rand_set_seed")
+  (return-type "none")
   (parameters
-    '("gdouble" "begin")
-    '("gdouble" "end")
+    '("guint32" "seed")
   )
 )
 
-(define-function g_random_set_seed
-  (c-name "g_random_set_seed")
+(define-method set_seed_array
+  (of-object "GRand")
+  (c-name "g_rand_set_seed_array")
   (return-type "none")
   (parameters
-    '("guint32" "seed")
+    '("const-guint32*" "seed")
+    '("guint" "seed_length")
   )
 )
 
-(define-function g_random_int
-  (c-name "g_random_int")
-  (return-type "guint32")
+(define-method clear
+  (of-object "GRecMutex")
+  (c-name "g_rec_mutex_clear")
+  (return-type "none")
 )
 
-(define-function g_random_int_range
-  (c-name "g_random_int_range")
-  (return-type "gint32")
-  (parameters
-    '("gint32" "begin")
-    '("gint32" "end")
-  )
+(define-method init
+  (of-object "GRecMutex")
+  (c-name "g_rec_mutex_init")
+  (return-type "none")
 )
 
-(define-function g_random_double
-  (c-name "g_random_double")
-  (return-type "gdouble")
+(define-method lock
+  (of-object "GRecMutex")
+  (c-name "g_rec_mutex_lock")
+  (return-type "none")
 )
 
-(define-function g_random_double_range
-  (c-name "g_random_double_range")
-  (return-type "gdouble")
-  (parameters
-    '("gdouble" "begin")
-    '("gdouble" "end")
-  )
+(define-method trylock
+  (of-object "GRecMutex")
+  (c-name "g_rec_mutex_trylock")
+  (return-type "gboolean")
 )
 
-
-
-;; From gregex.h
-
-(define-function g_regex_error_quark
-  (c-name "g_regex_error_quark")
-  (return-type "GQuark")
+(define-method unlock
+  (of-object "GRecMutex")
+  (c-name "g_rec_mutex_unlock")
+  (return-type "none")
 )
 
-(define-function g_regex_new
+(define-function new
   (c-name "g_regex_new")
-  (is-constructor-of "GRegex")
   (return-type "GRegex*")
   (parameters
     '("const-gchar*" "pattern")
@@ -8937,48 +3870,48 @@
   )
 )
 
-(define-method ref
+(define-method get_capture_count
   (of-object "GRegex")
-  (c-name "g_regex_ref")
-  (return-type "GRegex*")
+  (c-name "g_regex_get_capture_count")
+  (return-type "gint")
 )
 
-(define-method unref
+(define-method get_compile_flags
   (of-object "GRegex")
-  (c-name "g_regex_unref")
-  (return-type "none")
+  (c-name "g_regex_get_compile_flags")
+  (return-type "GRegexCompileFlags")
 )
 
-(define-method get_pattern
+(define-method get_has_cr_or_lf
   (of-object "GRegex")
-  (c-name "g_regex_get_pattern")
-  (return-type "const-gchar*")
+  (c-name "g_regex_get_has_cr_or_lf")
+  (return-type "gboolean")
 )
 
-(define-method get_max_backref
+(define-method get_match_flags
   (of-object "GRegex")
-  (c-name "g_regex_get_max_backref")
-  (return-type "gint")
+  (c-name "g_regex_get_match_flags")
+  (return-type "GRegexMatchFlags")
 )
 
-(define-method get_capture_count
+(define-method get_max_backref
   (of-object "GRegex")
-  (c-name "g_regex_get_capture_count")
+  (c-name "g_regex_get_max_backref")
   (return-type "gint")
 )
 
-(define-method get_has_cr_or_lf
-  (of-object "GRegex")
-  (c-name "g_regex_get_has_cr_or_lf")
-  (return-type "gboolean")
-)
-
 (define-method get_max_lookbehind
   (of-object "GRegex")
   (c-name "g_regex_get_max_lookbehind")
   (return-type "gint")
 )
 
+(define-method get_pattern
+  (of-object "GRegex")
+  (c-name "g_regex_get_pattern")
+  (return-type "const-gchar*")
+)
+
 (define-method get_string_number
   (of-object "GRegex")
   (c-name "g_regex_get_string_number")
@@ -8988,47 +3921,6 @@
   )
 )
 
-(define-function g_regex_escape_string
-  (c-name "g_regex_escape_string")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "string")
-    '("gint" "length")
-  )
-)
-
-(define-function g_regex_escape_nul
-  (c-name "g_regex_escape_nul")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "string")
-    '("gint" "length")
-  )
-)
-
-(define-method get_compile_flags
-  (of-object "GRegex")
-  (c-name "g_regex_get_compile_flags")
-  (return-type "GRegexCompileFlags")
-)
-
-(define-method get_match_flags
-  (of-object "GRegex")
-  (c-name "g_regex_get_match_flags")
-  (return-type "GRegexMatchFlags")
-)
-
-(define-function g_regex_match_simple
-  (c-name "g_regex_match_simple")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "pattern")
-    '("const-gchar*" "string")
-    '("GRegexCompileFlags" "compile_options")
-    '("GRegexMatchFlags" "match_options")
-  )
-)
-
 (define-method match
   (of-object "GRegex")
   (c-name "g_regex_match")
@@ -9040,20 +3932,6 @@
   )
 )
 
-(define-method match_full
-  (of-object "GRegex")
-  (c-name "g_regex_match_full")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "string")
-    '("gssize" "string_len")
-    '("gint" "start_position")
-    '("GRegexMatchFlags" "match_options")
-    '("GMatchInfo**" "match_info")
-    '("GError**" "error")
-  )
-)
-
 (define-method match_all
   (of-object "GRegex")
   (c-name "g_regex_match_all")
@@ -9079,51 +3957,51 @@
   )
 )
 
-(define-function g_regex_split_simple
-  (c-name "g_regex_split_simple")
-  (return-type "gchar**")
+(define-method match_full
+  (of-object "GRegex")
+  (c-name "g_regex_match_full")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "pattern")
     '("const-gchar*" "string")
-    '("GRegexCompileFlags" "compile_options")
+    '("gssize" "string_len")
+    '("gint" "start_position")
     '("GRegexMatchFlags" "match_options")
+    '("GMatchInfo**" "match_info")
+    '("GError**" "error")
   )
 )
 
-(define-method split
+(define-method ref
   (of-object "GRegex")
-  (c-name "g_regex_split")
-  (return-type "gchar**")
-  (parameters
-    '("const-gchar*" "string")
-    '("GRegexMatchFlags" "match_options")
-  )
+  (c-name "g_regex_ref")
+  (return-type "GRegex*")
 )
 
-(define-method split_full
+(define-method replace
   (of-object "GRegex")
-  (c-name "g_regex_split_full")
-  (return-type "gchar**")
+  (c-name "g_regex_replace")
+  (return-type "gchar*")
   (parameters
     '("const-gchar*" "string")
     '("gssize" "string_len")
     '("gint" "start_position")
+    '("const-gchar*" "replacement")
     '("GRegexMatchFlags" "match_options")
-    '("gint" "max_tokens")
     '("GError**" "error")
   )
 )
 
-(define-method replace
+(define-method replace_eval
   (of-object "GRegex")
-  (c-name "g_regex_replace")
+  (c-name "g_regex_replace_eval")
   (return-type "gchar*")
   (parameters
     '("const-gchar*" "string")
     '("gssize" "string_len")
     '("gint" "start_position")
-    '("const-gchar*" "replacement")
     '("GRegexMatchFlags" "match_options")
+    '("GRegexEvalCallback" "eval")
+    '("gpointer" "user_data")
     '("GError**" "error")
   )
 )
@@ -9142,161 +4020,85 @@
   )
 )
 
-(define-method replace_eval
+(define-method split
   (of-object "GRegex")
-  (c-name "g_regex_replace_eval")
-  (return-type "gchar*")
+  (c-name "g_regex_split")
+  (return-type "const-gchar**")
   (parameters
     '("const-gchar*" "string")
-    '("gssize" "string_len")
-    '("gint" "start_position")
     '("GRegexMatchFlags" "match_options")
-    '("GRegexEvalCallback" "eval")
-    '("gpointer" "user_data")
-    '("GError**" "error")
   )
 )
 
-(define-function g_regex_check_replacement
-  (c-name "g_regex_check_replacement")
-  (return-type "gboolean")
+(define-method split_full
+  (of-object "GRegex")
+  (c-name "g_regex_split_full")
+  (return-type "const-gchar**")
   (parameters
-    '("const-gchar*" "replacement")
-    '("gboolean*" "has_references")
+    '("const-gchar*" "string")
+    '("gssize" "string_len")
+    '("gint" "start_position")
+    '("GRegexMatchFlags" "match_options")
+    '("gint" "max_tokens")
     '("GError**" "error")
   )
 )
 
-(define-method get_regex
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_get_regex")
-  (return-type "GRegex*")
-)
-
-(define-method get_string
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_get_string")
-  (return-type "const-gchar*")
-)
-
-(define-method ref
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_ref")
-  (return-type "GMatchInfo*")
-)
-
 (define-method unref
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_unref")
-  (return-type "none")
-)
-
-(define-method free
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_free")
+  (of-object "GRegex")
+  (c-name "g_regex_unref")
   (return-type "none")
 )
 
-(define-method next
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_next")
-  (return-type "gboolean")
-  (parameters
-    '("GError**" "error")
-  )
-)
-
-(define-method matches
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_matches")
-  (return-type "gboolean")
-)
-
-(define-method get_match_count
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_get_match_count")
-  (return-type "gint")
-)
-
-(define-method is_partial_match
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_is_partial_match")
-  (return-type "gboolean")
+(define-method cur_line
+  (of-object "GScanner")
+  (c-name "g_scanner_cur_line")
+  (return-type "guint")
 )
 
-(define-method expand_references
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_expand_references")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "string_to_expand")
-    '("GError**" "error")
-  )
+(define-method cur_position
+  (of-object "GScanner")
+  (c-name "g_scanner_cur_position")
+  (return-type "guint")
 )
 
-(define-method fetch
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_fetch")
-  (return-type "gchar*")
-  (parameters
-    '("gint" "match_num")
-  )
+(define-method cur_token
+  (of-object "GScanner")
+  (c-name "g_scanner_cur_token")
+  (return-type "GTokenType")
 )
 
-(define-method fetch_pos
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_fetch_pos")
-  (return-type "gboolean")
-  (parameters
-    '("gint" "match_num")
-    '("gint*" "start_pos")
-    '("gint*" "end_pos")
-  )
+(define-method cur_value
+  (of-object "GScanner")
+  (c-name "g_scanner_cur_value")
+  (return-type "GTokenValue")
 )
 
-(define-method fetch_named
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_fetch_named")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "name")
-  )
+(define-method destroy
+  (of-object "GScanner")
+  (c-name "g_scanner_destroy")
+  (return-type "none")
 )
 
-(define-method fetch_named_pos
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_fetch_named_pos")
+(define-method eof
+  (of-object "GScanner")
+  (c-name "g_scanner_eof")
   (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "name")
-    '("gint*" "start_pos")
-    '("gint*" "end_pos")
-  )
 )
 
-(define-method fetch_all
-  (of-object "GMatchInfo")
-  (c-name "g_match_info_fetch_all")
-  (return-type "gchar**")
-)
-
-
-
-;; From gscanner.h
-
-(define-function g_scanner_new
-  (c-name "g_scanner_new")
-  (is-constructor-of "GScanner")
-  (return-type "GScanner*")
+(define-method error
+  (of-object "GScanner")
+  (c-name "g_scanner_error")
+  (return-type "none")
   (parameters
-    '("const-GScannerConfig*" "config_templ")
+    '("const-gchar*" "format")
   )
 )
 
-(define-method destroy
+(define-method get_next_token
   (of-object "GScanner")
-  (c-name "g_scanner_destroy")
-  (return-type "none")
+  (c-name "g_scanner_get_next_token")
+  (return-type "GTokenType")
 )
 
 (define-method input_file
@@ -9308,12 +4110,6 @@
   )
 )
 
-(define-method sync_file_offset
-  (of-object "GScanner")
-  (c-name "g_scanner_sync_file_offset")
-  (return-type "none")
-)
-
 (define-method input_text
   (of-object "GScanner")
   (c-name "g_scanner_input_text")
@@ -9324,10 +4120,13 @@
   )
 )
 
-(define-method get_next_token
+(define-method lookup_symbol
   (of-object "GScanner")
-  (c-name "g_scanner_get_next_token")
-  (return-type "GTokenType")
+  (c-name "g_scanner_lookup_symbol")
+  (return-type "gpointer")
+  (parameters
+    '("const-gchar*" "symbol")
+  )
 )
 
 (define-method peek_next_token
@@ -9336,45 +4135,6 @@
   (return-type "GTokenType")
 )
 
-(define-method cur_token
-  (of-object "GScanner")
-  (c-name "g_scanner_cur_token")
-  (return-type "GTokenType")
-)
-
-(define-method cur_value
-  (of-object "GScanner")
-  (c-name "g_scanner_cur_value")
-  (return-type "GTokenValue")
-)
-
-(define-method cur_line
-  (of-object "GScanner")
-  (c-name "g_scanner_cur_line")
-  (return-type "guint")
-)
-
-(define-method cur_position
-  (of-object "GScanner")
-  (c-name "g_scanner_cur_position")
-  (return-type "guint")
-)
-
-(define-method eof
-  (of-object "GScanner")
-  (c-name "g_scanner_eof")
-  (return-type "gboolean")
-)
-
-(define-method set_scope
-  (of-object "GScanner")
-  (c-name "g_scanner_set_scope")
-  (return-type "guint")
-  (parameters
-    '("guint" "scope_id")
-  )
-)
-
 (define-method scope_add_symbol
   (of-object "GScanner")
   (c-name "g_scanner_scope_add_symbol")
@@ -9386,13 +4146,14 @@
   )
 )
 
-(define-method scope_remove_symbol
+(define-method scope_foreach_symbol
   (of-object "GScanner")
-  (c-name "g_scanner_scope_remove_symbol")
+  (c-name "g_scanner_scope_foreach_symbol")
   (return-type "none")
   (parameters
     '("guint" "scope_id")
-    '("const-gchar*" "symbol")
+    '("GHFunc" "func")
+    '("gpointer" "user_data")
   )
 )
 
@@ -9406,26 +4167,31 @@
   )
 )
 
-(define-method scope_foreach_symbol
+(define-method scope_remove_symbol
   (of-object "GScanner")
-  (c-name "g_scanner_scope_foreach_symbol")
+  (c-name "g_scanner_scope_remove_symbol")
   (return-type "none")
   (parameters
     '("guint" "scope_id")
-    '("GHFunc" "func")
-    '("gpointer" "user_data")
+    '("const-gchar*" "symbol")
   )
 )
 
-(define-method lookup_symbol
+(define-method set_scope
   (of-object "GScanner")
-  (c-name "g_scanner_lookup_symbol")
-  (return-type "gpointer")
+  (c-name "g_scanner_set_scope")
+  (return-type "guint")
   (parameters
-    '("const-gchar*" "symbol")
+    '("guint" "scope_id")
   )
 )
 
+(define-method sync_file_offset
+  (of-object "GScanner")
+  (c-name "g_scanner_sync_file_offset")
+  (return-type "none")
+)
+
 (define-method unexp_token
   (of-object "GScanner")
   (c-name "g_scanner_unexp_token")
@@ -9440,16 +4206,6 @@
   )
 )
 
-(define-method error
-  (of-object "GScanner")
-  (c-name "g_scanner_error")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
-)
-
 (define-method warn
   (of-object "GScanner")
   (c-name "g_scanner_warn")
@@ -9457,38 +4213,17 @@
   (parameters
     '("const-gchar*" "format")
   )
-  (varargs #t)
 )
 
-
-
-;; From gscripttable.h
-
-
-
-;; From gsequence.h
-
-(define-function g_sequence_new
-  (c-name "g_sequence_new")
-  (is-constructor-of "GSequence")
-  (return-type "GSequence*")
+(define-method append
+  (of-object "GSequence")
+  (c-name "g_sequence_append")
+  (return-type "GSequenceIter*")
   (parameters
-    '("GDestroyNotify" "data_destroy")
+    '("gpointer" "data")
   )
 )
 
-(define-method free
-  (of-object "GSequence")
-  (c-name "g_sequence_free")
-  (return-type "none")
-)
-
-(define-method get_length
-  (of-object "GSequence")
-  (c-name "g_sequence_get_length")
-  (return-type "gint")
-)
-
 (define-method foreach
   (of-object "GSequence")
   (c-name "g_sequence_foreach")
@@ -9499,35 +4234,10 @@
   )
 )
 
-(define-function g_sequence_foreach_range
-  (c-name "g_sequence_foreach_range")
-  (return-type "none")
-  (parameters
-    '("GSequenceIter*" "begin")
-    '("GSequenceIter*" "end")
-    '("GFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method sort
-  (of-object "GSequence")
-  (c-name "g_sequence_sort")
-  (return-type "none")
-  (parameters
-    '("GCompareDataFunc" "cmp_func")
-    '("gpointer" "cmp_data")
-  )
-)
-
-(define-method sort_iter
+(define-method free
   (of-object "GSequence")
-  (c-name "g_sequence_sort_iter")
+  (c-name "g_sequence_free")
   (return-type "none")
-  (parameters
-    '("GSequenceIterCompareFunc" "cmp_func")
-    '("gpointer" "cmp_data")
-  )
 )
 
 (define-method get_begin_iter
@@ -9551,49 +4261,10 @@
   )
 )
 
-(define-method append
-  (of-object "GSequence")
-  (c-name "g_sequence_append")
-  (return-type "GSequenceIter*")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method prepend
+(define-method get_length
   (of-object "GSequence")
-  (c-name "g_sequence_prepend")
-  (return-type "GSequenceIter*")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_sequence_insert_before
-  (c-name "g_sequence_insert_before")
-  (return-type "GSequenceIter*")
-  (parameters
-    '("GSequenceIter*" "iter")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_sequence_move
-  (c-name "g_sequence_move")
-  (return-type "none")
-  (parameters
-    '("GSequenceIter*" "src")
-    '("GSequenceIter*" "dest")
-  )
-)
-
-(define-function g_sequence_swap
-  (c-name "g_sequence_swap")
-  (return-type "none")
-  (parameters
-    '("GSequenceIter*" "a")
-    '("GSequenceIter*" "b")
-  )
+  (c-name "g_sequence_get_length")
+  (return-type "gint")
 )
 
 (define-method insert_sorted
@@ -9618,50 +4289,34 @@
   )
 )
 
-(define-function g_sequence_sort_changed
-  (c-name "g_sequence_sort_changed")
-  (return-type "none")
+(define-method lookup
+  (of-object "GSequence")
+  (c-name "g_sequence_lookup")
+  (return-type "GSequenceIter*")
   (parameters
-    '("GSequenceIter*" "iter")
+    '("gpointer" "data")
     '("GCompareDataFunc" "cmp_func")
     '("gpointer" "cmp_data")
   )
 )
 
-(define-function g_sequence_sort_changed_iter
-  (c-name "g_sequence_sort_changed_iter")
-  (return-type "none")
+(define-method lookup_iter
+  (of-object "GSequence")
+  (c-name "g_sequence_lookup_iter")
+  (return-type "GSequenceIter*")
   (parameters
-    '("GSequenceIter*" "iter")
+    '("gpointer" "data")
     '("GSequenceIterCompareFunc" "iter_cmp")
     '("gpointer" "cmp_data")
   )
 )
 
-(define-function g_sequence_remove
-  (c-name "g_sequence_remove")
-  (return-type "none")
-  (parameters
-    '("GSequenceIter*" "iter")
-  )
-)
-
-(define-function g_sequence_remove_range
-  (c-name "g_sequence_remove_range")
-  (return-type "none")
-  (parameters
-    '("GSequenceIter*" "begin")
-    '("GSequenceIter*" "end")
-  )
-)
-
-(define-function g_sequence_move_range
-  (c-name "g_sequence_move_range")
-  (return-type "none")
+(define-method prepend
+  (of-object "GSequence")
+  (c-name "g_sequence_prepend")
+  (return-type "GSequenceIter*")
   (parameters
-    '("GSequenceIter*" "dest")
-    '("GSequenceIter*" "begin")
-    '("GSequenceIter*" "end")
+    '("gpointer" "data")
   )
 )
 
@@ -9687,43 +4342,45 @@
   )
 )
 
-(define-method lookup
+(define-method sort
   (of-object "GSequence")
-  (c-name "g_sequence_lookup")
-  (return-type "GSequenceIter*")
+  (c-name "g_sequence_sort")
+  (return-type "none")
   (parameters
-    '("gpointer" "data")
     '("GCompareDataFunc" "cmp_func")
     '("gpointer" "cmp_data")
   )
 )
 
-(define-method lookup_iter
+(define-method sort_iter
   (of-object "GSequence")
-  (c-name "g_sequence_lookup_iter")
-  (return-type "GSequenceIter*")
+  (c-name "g_sequence_sort_iter")
+  (return-type "none")
   (parameters
-    '("gpointer" "data")
-    '("GSequenceIterCompareFunc" "iter_cmp")
+    '("GSequenceIterCompareFunc" "cmp_func")
     '("gpointer" "cmp_data")
   )
 )
 
-(define-function g_sequence_get
-  (c-name "g_sequence_get")
-  (return-type "gpointer")
+(define-method compare
+  (of-object "GSequenceIter")
+  (c-name "g_sequence_iter_compare")
+  (return-type "gint")
   (parameters
-    '("GSequenceIter*" "iter")
+    '("GSequenceIter*" "b")
   )
 )
 
-(define-function g_sequence_set
-  (c-name "g_sequence_set")
-  (return-type "none")
-  (parameters
-    '("GSequenceIter*" "iter")
-    '("gpointer" "data")
-  )
+(define-method get_position
+  (of-object "GSequenceIter")
+  (c-name "g_sequence_iter_get_position")
+  (return-type "gint")
+)
+
+(define-method get_sequence
+  (of-object "GSequenceIter")
+  (c-name "g_sequence_iter_get_sequence")
+  (return-type "GSequence*")
 )
 
 (define-method is_begin
@@ -9738,24 +4395,6 @@
   (return-type "gboolean")
 )
 
-(define-method next
-  (of-object "GSequenceIter")
-  (c-name "g_sequence_iter_next")
-  (return-type "GSequenceIter*")
-)
-
-(define-method prev
-  (of-object "GSequenceIter")
-  (c-name "g_sequence_iter_prev")
-  (return-type "GSequenceIter*")
-)
-
-(define-method get_position
-  (of-object "GSequenceIter")
-  (c-name "g_sequence_iter_get_position")
-  (return-type "gint")
-)
-
 (define-method move
   (of-object "GSequenceIter")
   (c-name "g_sequence_iter_move")
@@ -9765,1414 +4404,383 @@
   )
 )
 
-(define-method get_sequence
+(define-method next
   (of-object "GSequenceIter")
-  (c-name "g_sequence_iter_get_sequence")
-  (return-type "GSequence*")
+  (c-name "g_sequence_iter_next")
+  (return-type "GSequenceIter*")
 )
 
-(define-method compare
+(define-method prev
   (of-object "GSequenceIter")
-  (c-name "g_sequence_iter_compare")
-  (return-type "gint")
-  (parameters
-    '("GSequenceIter*" "b")
-  )
-)
-
-(define-function g_sequence_range_get_midpoint
-  (c-name "g_sequence_range_get_midpoint")
+  (c-name "g_sequence_iter_prev")
   (return-type "GSequenceIter*")
-  (parameters
-    '("GSequenceIter*" "begin")
-    '("GSequenceIter*" "end")
-  )
-)
-
-
-
-;; From gshell.h
-
-(define-function g_shell_error_quark
-  (c-name "g_shell_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_shell_quote
-  (c-name "g_shell_quote")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "unquoted_string")
-  )
-)
-
-(define-function g_shell_unquote
-  (c-name "g_shell_unquote")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "quoted_string")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_shell_parse_argv
-  (c-name "g_shell_parse_argv")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("gint*" "argcp")
-    '("gchar***" "argvp")
-    '("GError**" "error")
-  )
-)
-
-
-
-;; From gslice.h
-
-(define-function g_slice_alloc
-  (c-name "g_slice_alloc")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "block_size")
-  )
-)
-
-(define-function g_slice_alloc0
-  (c-name "g_slice_alloc0")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "block_size")
-  )
-)
-
-(define-function g_slice_copy
-  (c-name "g_slice_copy")
-  (return-type "gpointer")
-  (parameters
-    '("gsize" "block_size")
-    '("gconstpointer" "mem_block")
-  )
-)
-
-(define-function g_slice_free1
-  (c-name "g_slice_free1")
-  (return-type "none")
-  (parameters
-    '("gsize" "block_size")
-    '("gpointer" "mem_block")
-  )
-)
-
-(define-function g_slice_free_chain_with_offset
-  (c-name "g_slice_free_chain_with_offset")
-  (return-type "none")
-  (parameters
-    '("gsize" "block_size")
-    '("gpointer" "mem_chain")
-    '("gsize" "next_offset")
-  )
-)
-
-(define-function g_slice_set_config
-  (c-name "g_slice_set_config")
-  (return-type "none")
-  (parameters
-    '("GSliceConfig" "ckey")
-    '("gint64" "value")
-  )
-)
-
-(define-function g_slice_get_config
-  (c-name "g_slice_get_config")
-  (return-type "gint64")
-  (parameters
-    '("GSliceConfig" "ckey")
-  )
 )
 
-(define-function g_slice_get_config_state
-  (c-name "g_slice_get_config_state")
-  (return-type "gint64*")
+(define-function new
+  (c-name "g_source_new")
+  (return-type "GSource*")
   (parameters
-    '("GSliceConfig" "ckey")
-    '("gint64" "address")
-    '("guint*" "n_values")
+    '("GSourceFuncs*" "source_funcs")
+    '("guint" "struct_size")
   )
 )
 
-(define-function g_slice_debug_tree_statistics
-  (c-name "g_slice_debug_tree_statistics")
-  (return-type "none")
-)
-
-
-
-;; From gslist.h
-
-(define-function g_slist_alloc
-  (c-name "g_slist_alloc")
-  (return-type "GSList*")
-)
-
-(define-method free
-  (of-object "GSList")
-  (c-name "g_slist_free")
-  (return-type "none")
-)
-
-(define-method free_1
-  (of-object "GSList")
-  (c-name "g_slist_free_1")
-  (return-type "none")
-)
-
-(define-method free_full
-  (of-object "GSList")
-  (c-name "g_slist_free_full")
+(define-method add_child_source
+  (of-object "GSource")
+  (c-name "g_source_add_child_source")
   (return-type "none")
   (parameters
-    '("GDestroyNotify" "free_func")
-  )
-)
-
-(define-method append
-  (of-object "GSList")
-  (c-name "g_slist_append")
-  (return-type "GSList*")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method prepend
-  (of-object "GSList")
-  (c-name "g_slist_prepend")
-  (return-type "GSList*")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
-(define-method insert
-  (of-object "GSList")
-  (c-name "g_slist_insert")
-  (return-type "GSList*")
-  (parameters
-    '("gpointer" "data")
-    '("gint" "position")
-  )
-)
-
-(define-method insert_sorted
-  (of-object "GSList")
-  (c-name "g_slist_insert_sorted")
-  (return-type "GSList*")
-  (parameters
-    '("gpointer" "data")
-    '("GCompareFunc" "func")
-  )
-)
-
-(define-method insert_sorted_with_data
-  (of-object "GSList")
-  (c-name "g_slist_insert_sorted_with_data")
-  (return-type "GSList*")
-  (parameters
-    '("gpointer" "data")
-    '("GCompareDataFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method insert_before
-  (of-object "GSList")
-  (c-name "g_slist_insert_before")
-  (return-type "GSList*")
-  (parameters
-    '("GSList*" "sibling")
-    '("gpointer" "data")
-  )
-)
-
-(define-method concat
-  (of-object "GSList")
-  (c-name "g_slist_concat")
-  (return-type "GSList*")
-  (parameters
-    '("GSList*" "list2")
-  )
-)
-
-(define-method remove
-  (of-object "GSList")
-  (c-name "g_slist_remove")
-  (return-type "GSList*")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method remove_all
-  (of-object "GSList")
-  (c-name "g_slist_remove_all")
-  (return-type "GSList*")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method remove_link
-  (of-object "GSList")
-  (c-name "g_slist_remove_link")
-  (return-type "GSList*")
-  (parameters
-    '("GSList*" "link_")
-  )
-)
-
-(define-method delete_link
-  (of-object "GSList")
-  (c-name "g_slist_delete_link")
-  (return-type "GSList*")
-  (parameters
-    '("GSList*" "link_")
-  )
-)
-
-(define-method reverse
-  (of-object "GSList")
-  (c-name "g_slist_reverse")
-  (return-type "GSList*")
-)
-
-(define-method copy
-  (of-object "GSList")
-  (c-name "g_slist_copy")
-  (return-type "GSList*")
-)
-
-(define-method copy_deep
-  (of-object "GSList")
-  (c-name "g_slist_copy_deep")
-  (return-type "GSList*")
-  (parameters
-    '("GCopyFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method nth
-  (of-object "GSList")
-  (c-name "g_slist_nth")
-  (return-type "GSList*")
-  (parameters
-    '("guint" "n")
-  )
-)
-
-(define-method find
-  (of-object "GSList")
-  (c-name "g_slist_find")
-  (return-type "GSList*")
-  (parameters
-    '("gconstpointer" "data")
-  )
-)
-
-(define-method find_custom
-  (of-object "GSList")
-  (c-name "g_slist_find_custom")
-  (return-type "GSList*")
-  (parameters
-    '("gconstpointer" "data")
-    '("GCompareFunc" "func")
-  )
-)
-
-(define-method position
-  (of-object "GSList")
-  (c-name "g_slist_position")
-  (return-type "gint")
-  (parameters
-    '("GSList*" "llink")
-  )
-)
-
-(define-method index
-  (of-object "GSList")
-  (c-name "g_slist_index")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "data")
+    '("GSource*" "child_source")
   )
 )
 
-(define-method last
-  (of-object "GSList")
-  (c-name "g_slist_last")
-  (return-type "GSList*")
-)
-
-(define-method length
-  (of-object "GSList")
-  (c-name "g_slist_length")
-  (return-type "guint")
-)
-
-(define-method foreach
-  (of-object "GSList")
-  (c-name "g_slist_foreach")
+(define-method add_poll
+  (of-object "GSource")
+  (c-name "g_source_add_poll")
   (return-type "none")
   (parameters
-    '("GFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method sort
-  (of-object "GSList")
-  (c-name "g_slist_sort")
-  (return-type "GSList*")
-  (parameters
-    '("GCompareFunc" "compare_func")
-  )
-)
-
-(define-method sort_with_data
-  (of-object "GSList")
-  (c-name "g_slist_sort_with_data")
-  (return-type "GSList*")
-  (parameters
-    '("GCompareDataFunc" "compare_func")
-    '("gpointer" "user_data")
+    '("GPollFD*" "fd")
   )
 )
 
-(define-method nth_data
-  (of-object "GSList")
-  (c-name "g_slist_nth_data")
+(define-method add_unix_fd
+  (of-object "GSource")
+  (c-name "g_source_add_unix_fd")
   (return-type "gpointer")
   (parameters
-    '("guint" "n")
-  )
-)
-
-
-
-;; From gspawn.h
-
-(define-function g_spawn_error_quark
-  (c-name "g_spawn_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_spawn_exit_error_quark
-  (c-name "g_spawn_exit_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_spawn_async
-  (c-name "g_spawn_async")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("GPid*" "child_pid")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_async_with_pipes
-  (c-name "g_spawn_async_with_pipes")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("GPid*" "child_pid")
-    '("gint*" "standard_input")
-    '("gint*" "standard_output")
-    '("gint*" "standard_error")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_sync
-  (c-name "g_spawn_sync")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("gchar**" "standard_output")
-    '("gchar**" "standard_error")
-    '("gint*" "exit_status")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_command_line_sync
-  (c-name "g_spawn_command_line_sync")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("gchar**" "standard_output")
-    '("gchar**" "standard_error")
-    '("gint*" "exit_status")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_command_line_async
-  (c-name "g_spawn_command_line_async")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("GError**" "error")
+    '("gint" "fd")
+    '("GIOCondition" "events")
   )
 )
 
-(define-function g_spawn_check_exit_status
-  (c-name "g_spawn_check_exit_status")
-  (return-type "gboolean")
+(define-method attach
+  (of-object "GSource")
+  (c-name "g_source_attach")
+  (return-type "guint")
   (parameters
-    '("gint" "exit_status")
-    '("GError**" "error")
+    '("GMainContext*" "context")
   )
 )
 
-(define-function g_spawn_close_pid
-  (c-name "g_spawn_close_pid")
+(define-method destroy
+  (of-object "GSource")
+  (c-name "g_source_destroy")
   (return-type "none")
-  (parameters
-    '("GPid" "pid")
-  )
-)
-
-(define-function g_spawn_async_utf8
-  (c-name "g_spawn_async_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("GPid*" "child_pid")
-    '("GError**" "error")
-  )
 )
 
-(define-function g_spawn_async_with_pipes_utf8
-  (c-name "g_spawn_async_with_pipes_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("GPid*" "child_pid")
-    '("gint*" "standard_input")
-    '("gint*" "standard_output")
-    '("gint*" "standard_error")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_sync_utf8
-  (c-name "g_spawn_sync_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("gchar**" "standard_output")
-    '("gchar**" "standard_error")
-    '("gint*" "exit_status")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_command_line_sync_utf8
-  (c-name "g_spawn_command_line_sync_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("gchar**" "standard_output")
-    '("gchar**" "standard_error")
-    '("gint*" "exit_status")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_command_line_async_utf8
-  (c-name "g_spawn_command_line_async_utf8")
+(define-method get_can_recurse
+  (of-object "GSource")
+  (c-name "g_source_get_can_recurse")
   (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("GError**" "error")
-  )
-)
-
-
-
-;; From gstdio.h
-
-(define-function g_access
-  (c-name "g_access")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("int" "mode")
-  )
-)
-
-(define-function g_chdir
-  (c-name "g_chdir")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "path")
-  )
-)
-
-(define-function g_unlink
-  (c-name "g_unlink")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-  )
-)
-
-(define-function g_rmdir
-  (c-name "g_rmdir")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-  )
-)
-
-(define-function g_chmod
-  (c-name "g_chmod")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("int" "mode")
-  )
-)
-
-(define-function g_open
-  (c-name "g_open")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("int" "flags")
-    '("int" "mode")
-  )
-)
-
-(define-function g_creat
-  (c-name "g_creat")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("int" "mode")
-  )
-)
-
-(define-function g_rename
-  (c-name "g_rename")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "oldfilename")
-    '("const-gchar*" "newfilename")
-  )
-)
-
-(define-function g_mkdir
-  (c-name "g_mkdir")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("int" "mode")
-  )
-)
-
-(define-function g_stat
-  (c-name "g_stat")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("GStatBuf*" "buf")
-  )
 )
 
-(define-function g_lstat
-  (c-name "g_lstat")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("GStatBuf*" "buf")
-  )
-)
-
-(define-function g_remove
-  (c-name "g_remove")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-  )
-)
-
-(define-function g_fopen
-  (c-name "g_fopen")
-  (return-type "FILE*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "mode")
-  )
-)
-
-(define-function g_freopen
-  (c-name "g_freopen")
-  (return-type "FILE*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "mode")
-    '("FILE*" "stream")
-  )
-)
-
-(define-function g_utime
-  (c-name "g_utime")
-  (return-type "int")
-  (parameters
-    '("const-gchar*" "filename")
-    '("struct-utimbuf*" "utb")
-  )
-)
-
-(define-function g_close
-  (c-name "g_close")
-  (return-type "gboolean")
-  (parameters
-    '("gint" "fd")
-    '("GError**" "error")
-  )
+(define-method get_context
+  (of-object "GSource")
+  (c-name "g_source_get_context")
+  (return-type "GMainContext*")
 )
 
-
-
-;; From gstrfuncs.h
-
-(define-function g_ascii_tolower
-  (c-name "g_ascii_tolower")
-  (return-type "gchar")
+(define-method get_current_time
+  (of-object "GSource")
+  (c-name "g_source_get_current_time")
+  (return-type "none")
   (parameters
-    '("gchar" "c")
+    '("GTimeVal*" "timeval")
   )
 )
 
-(define-function g_ascii_toupper
-  (c-name "g_ascii_toupper")
-  (return-type "gchar")
-  (parameters
-    '("gchar" "c")
-  )
+(define-method get_id
+  (of-object "GSource")
+  (c-name "g_source_get_id")
+  (return-type "guint")
 )
 
-(define-function g_ascii_digit_value
-  (c-name "g_ascii_digit_value")
-  (return-type "gint")
-  (parameters
-    '("gchar" "c")
-  )
+(define-method get_name
+  (of-object "GSource")
+  (c-name "g_source_get_name")
+  (return-type "const-char*")
 )
 
-(define-function g_ascii_xdigit_value
-  (c-name "g_ascii_xdigit_value")
+(define-method get_priority
+  (of-object "GSource")
+  (c-name "g_source_get_priority")
   (return-type "gint")
-  (parameters
-    '("gchar" "c")
-  )
 )
 
-(define-function g_strdelimit
-  (c-name "g_strdelimit")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-    '("const-gchar*" "delimiters")
-    '("gchar" "new_delimiter")
-  )
-)
-
-(define-function g_strcanon
-  (c-name "g_strcanon")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-    '("const-gchar*" "valid_chars")
-    '("gchar" "substitutor")
-  )
-)
-
-(define-function g_strerror
-  (c-name "g_strerror")
-  (return-type "const-gchar*")
-  (parameters
-    '("gint" "errnum")
-  )
-)
-
-(define-function g_strsignal
-  (c-name "g_strsignal")
-  (return-type "const-gchar*")
-  (parameters
-    '("gint" "signum")
-  )
-)
-
-(define-function g_strreverse
-  (c-name "g_strreverse")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-  )
-)
-
-(define-function g_strlcpy
-  (c-name "g_strlcpy")
-  (return-type "gsize")
-  (parameters
-    '("gchar*" "dest")
-    '("const-gchar*" "src")
-    '("gsize" "dest_size")
-  )
-)
-
-(define-function g_strlcat
-  (c-name "g_strlcat")
-  (return-type "gsize")
-  (parameters
-    '("gchar*" "dest")
-    '("const-gchar*" "src")
-    '("gsize" "dest_size")
-  )
-)
-
-(define-function g_strstr_len
-  (c-name "g_strstr_len")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "haystack")
-    '("gssize" "haystack_len")
-    '("const-gchar*" "needle")
-  )
-)
-
-(define-function g_strrstr
-  (c-name "g_strrstr")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "haystack")
-    '("const-gchar*" "needle")
-  )
-)
-
-(define-function g_strrstr_len
-  (c-name "g_strrstr_len")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "haystack")
-    '("gssize" "haystack_len")
-    '("const-gchar*" "needle")
-  )
-)
-
-(define-function g_str_has_suffix
-  (c-name "g_str_has_suffix")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "str")
-    '("const-gchar*" "suffix")
-  )
-)
-
-(define-function g_str_has_prefix
-  (c-name "g_str_has_prefix")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "str")
-    '("const-gchar*" "prefix")
-  )
-)
-
-(define-function g_strtod
-  (c-name "g_strtod")
-  (return-type "gdouble")
-  (parameters
-    '("const-gchar*" "nptr")
-    '("gchar**" "endptr")
-  )
-)
-
-(define-function g_ascii_strtod
-  (c-name "g_ascii_strtod")
-  (return-type "gdouble")
-  (parameters
-    '("const-gchar*" "nptr")
-    '("gchar**" "endptr")
-  )
-)
-
-(define-function g_ascii_strtoull
-  (c-name "g_ascii_strtoull")
-  (return-type "guint64")
-  (parameters
-    '("const-gchar*" "nptr")
-    '("gchar**" "endptr")
-    '("guint" "base")
-  )
-)
-
-(define-function g_ascii_strtoll
-  (c-name "g_ascii_strtoll")
+(define-method get_ready_time
+  (of-object "GSource")
+  (c-name "g_source_get_ready_time")
   (return-type "gint64")
-  (parameters
-    '("const-gchar*" "nptr")
-    '("gchar**" "endptr")
-    '("guint" "base")
-  )
-)
-
-(define-function g_ascii_dtostr
-  (c-name "g_ascii_dtostr")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "buffer")
-    '("gint" "buf_len")
-    '("gdouble" "d")
-  )
-)
-
-(define-function g_ascii_formatd
-  (c-name "g_ascii_formatd")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "buffer")
-    '("gint" "buf_len")
-    '("const-gchar*" "format")
-    '("gdouble" "d")
-  )
-)
-
-(define-function g_strchug
-  (c-name "g_strchug")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-  )
-)
-
-(define-function g_strchomp
-  (c-name "g_strchomp")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-  )
-)
-
-(define-function g_ascii_strcasecmp
-  (c-name "g_ascii_strcasecmp")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "s1")
-    '("const-gchar*" "s2")
-  )
-)
-
-(define-function g_ascii_strncasecmp
-  (c-name "g_ascii_strncasecmp")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "s1")
-    '("const-gchar*" "s2")
-    '("gsize" "n")
-  )
-)
-
-(define-function g_ascii_strdown
-  (c-name "g_ascii_strdown")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-  )
 )
 
-(define-function g_ascii_strup
-  (c-name "g_ascii_strup")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-  )
+(define-method get_time
+  (of-object "GSource")
+  (c-name "g_source_get_time")
+  (return-type "gint64")
 )
 
-(define-function g_str_is_ascii
-  (c-name "g_str_is_ascii")
+(define-method is_destroyed
+  (of-object "GSource")
+  (c-name "g_source_is_destroyed")
   (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "str")
-  )
-)
-
-(define-function g_strcasecmp
-  (c-name "g_strcasecmp")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "s1")
-    '("const-gchar*" "s2")
-  )
-)
-
-(define-function g_strncasecmp
-  (c-name "g_strncasecmp")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "s1")
-    '("const-gchar*" "s2")
-    '("guint" "n")
-  )
-)
-
-(define-function g_strdown
-  (c-name "g_strdown")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-  )
-)
-
-(define-function g_strup
-  (c-name "g_strup")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "string")
-  )
-)
-
-(define-function g_strdup
-  (c-name "g_strdup")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-  )
-)
-
-(define-function g_strdup_printf
-  (c-name "g_strdup_printf")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function g_strdup_vprintf
-  (c-name "g_strdup_vprintf")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "format")
-    '("va_list" "args")
-  )
-)
-
-(define-function g_strndup
-  (c-name "g_strndup")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gsize" "n")
-  )
-)
-
-(define-function g_strnfill
-  (c-name "g_strnfill")
-  (return-type "gchar*")
-  (parameters
-    '("gsize" "length")
-    '("gchar" "fill_char")
-  )
-)
-
-(define-function g_strconcat
-  (c-name "g_strconcat")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "string1")
-  )
-  (varargs #t)
 )
 
-(define-function g_strjoin
-  (c-name "g_strjoin")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "separator")
-  )
-  (varargs #t)
-)
-
-(define-function g_strcompress
-  (c-name "g_strcompress")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "source")
-  )
-)
-
-(define-function g_strescape
-  (c-name "g_strescape")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "source")
-    '("const-gchar*" "exceptions")
-  )
-)
-
-(define-function g_memdup
-  (c-name "g_memdup")
-  (return-type "gpointer")
-  (parameters
-    '("gconstpointer" "mem")
-    '("guint" "byte_size")
-  )
-)
-
-(define-function g_strsplit
-  (c-name "g_strsplit")
-  (return-type "gchar**")
+(define-method modify_unix_fd
+  (of-object "GSource")
+  (c-name "g_source_modify_unix_fd")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "string")
-    '("const-gchar*" "delimiter")
-    '("gint" "max_tokens")
+    '("gpointer" "tag")
+    '("GIOCondition" "new_events")
   )
 )
 
-(define-function g_strsplit_set
-  (c-name "g_strsplit_set")
-  (return-type "gchar**")
+(define-method query_unix_fd
+  (of-object "GSource")
+  (c-name "g_source_query_unix_fd")
+  (return-type "GIOCondition")
   (parameters
-    '("const-gchar*" "string")
-    '("const-gchar*" "delimiters")
-    '("gint" "max_tokens")
+    '("gpointer" "tag")
   )
 )
 
-(define-function g_strjoinv
-  (c-name "g_strjoinv")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "separator")
-    '("gchar**" "str_array")
-  )
+(define-method ref
+  (of-object "GSource")
+  (c-name "g_source_ref")
+  (return-type "GSource*")
 )
 
-(define-function g_strfreev
-  (c-name "g_strfreev")
+(define-method remove_child_source
+  (of-object "GSource")
+  (c-name "g_source_remove_child_source")
   (return-type "none")
   (parameters
-    '("gchar**" "str_array")
+    '("GSource*" "child_source")
   )
 )
 
-(define-function g_strdupv
-  (c-name "g_strdupv")
-  (return-type "gchar**")
+(define-method remove_poll
+  (of-object "GSource")
+  (c-name "g_source_remove_poll")
+  (return-type "none")
   (parameters
-    '("gchar**" "str_array")
+    '("GPollFD*" "fd")
   )
 )
 
-(define-function g_strv_length
-  (c-name "g_strv_length")
-  (return-type "guint")
+(define-method remove_unix_fd
+  (of-object "GSource")
+  (c-name "g_source_remove_unix_fd")
+  (return-type "none")
   (parameters
-    '("gchar**" "str_array")
+    '("gpointer" "tag")
   )
 )
 
-(define-function g_stpcpy
-  (c-name "g_stpcpy")
-  (return-type "gchar*")
+(define-method set_callback
+  (of-object "GSource")
+  (c-name "g_source_set_callback")
+  (return-type "none")
   (parameters
-    '("gchar*" "dest")
-    '("const-char*" "src")
+    '("GSourceFunc" "func")
+    '("gpointer" "data")
+    '("GDestroyNotify" "notify")
   )
 )
 
-(define-function g_str_to_ascii
-  (c-name "g_str_to_ascii")
-  (return-type "gchar*")
+(define-method set_callback_indirect
+  (of-object "GSource")
+  (c-name "g_source_set_callback_indirect")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "str")
-    '("const-gchar*" "from_locale")
+    '("gpointer" "callback_data")
+    '("GSourceCallbackFuncs*" "callback_funcs")
   )
 )
 
-(define-function g_str_tokenize_and_fold
-  (c-name "g_str_tokenize_and_fold")
-  (return-type "gchar**")
+(define-method set_can_recurse
+  (of-object "GSource")
+  (c-name "g_source_set_can_recurse")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "string")
-    '("const-gchar*" "translit_locale")
-    '("gchar***" "ascii_alternates")
+    '("gboolean" "can_recurse")
   )
 )
 
-(define-function g_str_match_string
-  (c-name "g_str_match_string")
-  (return-type "gboolean")
+(define-method set_funcs
+  (of-object "GSource")
+  (c-name "g_source_set_funcs")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "search_term")
-    '("const-gchar*" "potential_hit")
-    '("gboolean" "accept_alternates")
+    '("GSourceFuncs*" "funcs")
   )
 )
 
-
-
-;; From gstringchunk.h
-
-(define-function g_string_chunk_new
-  (c-name "g_string_chunk_new")
-  (is-constructor-of "GStringChunk")
-  (return-type "GStringChunk*")
+(define-method set_name
+  (of-object "GSource")
+  (c-name "g_source_set_name")
+  (return-type "none")
   (parameters
-    '("gsize" "size")
+    '("const-char*" "name")
   )
 )
 
-(define-method free
-  (of-object "GStringChunk")
-  (c-name "g_string_chunk_free")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GStringChunk")
-  (c-name "g_string_chunk_clear")
+(define-method set_priority
+  (of-object "GSource")
+  (c-name "g_source_set_priority")
   (return-type "none")
-)
-
-(define-method insert
-  (of-object "GStringChunk")
-  (c-name "g_string_chunk_insert")
-  (return-type "gchar*")
   (parameters
-    '("const-gchar*" "string")
+    '("gint" "priority")
   )
 )
 
-(define-method insert_len
-  (of-object "GStringChunk")
-  (c-name "g_string_chunk_insert_len")
-  (return-type "gchar*")
+(define-method set_ready_time
+  (of-object "GSource")
+  (c-name "g_source_set_ready_time")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "string")
-    '("gssize" "len")
+    '("gint64" "ready_time")
   )
 )
 
-
-
-;; From gstring.h
-
-(define-function g_string_new
-  (c-name "g_string_new")
-  (is-constructor-of "GString")
-  (return-type "GString*")
-  (parameters
-    '("const-gchar*" "init")
-  )
+(define-method unref
+  (of-object "GSource")
+  (c-name "g_source_unref")
+  (return-type "none")
 )
 
-(define-function g_string_new_len
-  (c-name "g_string_new_len")
+(define-method append
+  (of-object "GString")
+  (c-name "g_string_append")
   (return-type "GString*")
   (parameters
-    '("const-gchar*" "init")
-    '("gssize" "len")
+    '("const-gchar*" "val")
   )
 )
 
-(define-function g_string_sized_new
-  (c-name "g_string_sized_new")
-  (is-constructor-of "GStringSized")
+(define-method append_c
+  (of-object "GString")
+  (c-name "g_string_append_c")
   (return-type "GString*")
   (parameters
-    '("gsize" "dfl_size")
+    '("gchar" "c")
   )
 )
 
-(define-method free
+(define-method append_len
   (of-object "GString")
-  (c-name "g_string_free")
-  (return-type "gchar*")
+  (c-name "g_string_append_len")
+  (return-type "GString*")
   (parameters
-    '("gboolean" "free_segment")
+    '("const-gchar*" "val")
+    '("gssize" "len")
   )
 )
 
-(define-method free_to_bytes
-  (of-object "GString")
-  (c-name "g_string_free_to_bytes")
-  (return-type "GBytes*")
-)
-
-(define-method equal
+(define-method append_printf
   (of-object "GString")
-  (c-name "g_string_equal")
-  (return-type "gboolean")
+  (c-name "g_string_append_printf")
+  (return-type "none")
   (parameters
-    '("const-GString*" "v2")
+    '("const-gchar*" "format")
   )
 )
 
-(define-method hash
-  (of-object "GString")
-  (c-name "g_string_hash")
-  (return-type "guint")
-)
-
-(define-method assign
+(define-method append_unichar
   (of-object "GString")
-  (c-name "g_string_assign")
+  (c-name "g_string_append_unichar")
   (return-type "GString*")
   (parameters
-    '("const-gchar*" "rval")
+    '("gunichar" "wc")
   )
 )
 
-(define-method truncate
+(define-method append_uri_escaped
   (of-object "GString")
-  (c-name "g_string_truncate")
+  (c-name "g_string_append_uri_escaped")
   (return-type "GString*")
   (parameters
-    '("gsize" "len")
+    '("const-gchar*" "unescaped")
+    '("const-gchar*" "reserved_chars_allowed")
+    '("gboolean" "allow_utf8")
   )
 )
 
-(define-method set_size
+(define-method append_vprintf
   (of-object "GString")
-  (c-name "g_string_set_size")
-  (return-type "GString*")
+  (c-name "g_string_append_vprintf")
+  (return-type "none")
   (parameters
-    '("gsize" "len")
+    '("const-gchar*" "format")
+    '("va_list" "args")
   )
 )
 
-(define-method insert_len
+(define-method ascii_down
   (of-object "GString")
-  (c-name "g_string_insert_len")
+  (c-name "g_string_ascii_down")
   (return-type "GString*")
-  (parameters
-    '("gssize" "pos")
-    '("const-gchar*" "val")
-    '("gssize" "len")
-  )
 )
 
-(define-method append
+(define-method ascii_up
   (of-object "GString")
-  (c-name "g_string_append")
+  (c-name "g_string_ascii_up")
   (return-type "GString*")
-  (parameters
-    '("const-gchar*" "val")
-  )
 )
 
-(define-method append_len
+(define-method assign
   (of-object "GString")
-  (c-name "g_string_append_len")
+  (c-name "g_string_assign")
   (return-type "GString*")
   (parameters
-    '("const-gchar*" "val")
-    '("gssize" "len")
+    '("const-gchar*" "rval")
   )
 )
 
-(define-method append_c
+(define-method down
   (of-object "GString")
-  (c-name "g_string_append_c")
+  (c-name "g_string_down")
   (return-type "GString*")
-  (parameters
-    '("gchar" "c")
-  )
 )
 
-(define-method append_unichar
+(define-method equal
   (of-object "GString")
-  (c-name "g_string_append_unichar")
-  (return-type "GString*")
+  (c-name "g_string_equal")
+  (return-type "gboolean")
   (parameters
-    '("gunichar" "wc")
+    '("const-GString*" "v2")
   )
 )
 
-(define-method prepend
+(define-method erase
   (of-object "GString")
-  (c-name "g_string_prepend")
+  (c-name "g_string_erase")
   (return-type "GString*")
   (parameters
-    '("const-gchar*" "val")
+    '("gssize" "pos")
+    '("gssize" "len")
   )
 )
 
-(define-method prepend_c
+(define-method free
   (of-object "GString")
-  (c-name "g_string_prepend_c")
-  (return-type "GString*")
+  (c-name "g_string_free")
+  (return-type "gchar*")
   (parameters
-    '("gchar" "c")
+    '("gboolean" "free_segment")
   )
 )
 
-(define-method prepend_unichar
+(define-method free_to_bytes
   (of-object "GString")
-  (c-name "g_string_prepend_unichar")
-  (return-type "GString*")
-  (parameters
-    '("gunichar" "wc")
-  )
+  (c-name "g_string_free_to_bytes")
+  (return-type "GBytes*")
 )
 
-(define-method prepend_len
+(define-method hash
   (of-object "GString")
-  (c-name "g_string_prepend_len")
-  (return-type "GString*")
-  (parameters
-    '("const-gchar*" "val")
-    '("gssize" "len")
-  )
+  (c-name "g_string_hash")
+  (return-type "guint")
 )
 
 (define-method insert
@@ -11195,6 +4803,17 @@
   )
 )
 
+(define-method insert_len
+  (of-object "GString")
+  (c-name "g_string_insert_len")
+  (return-type "GString*")
+  (parameters
+    '("gssize" "pos")
+    '("const-gchar*" "val")
+    '("gssize" "len")
+  )
+)
+
 (define-method insert_unichar
   (of-object "GString")
   (c-name "g_string_insert_unichar")
@@ -11226,598 +4845,165 @@
   )
 )
 
-(define-method erase
+(define-method prepend
   (of-object "GString")
-  (c-name "g_string_erase")
+  (c-name "g_string_prepend")
   (return-type "GString*")
   (parameters
-    '("gssize" "pos")
-    '("gssize" "len")
+    '("const-gchar*" "val")
   )
 )
 
-(define-method ascii_down
-  (of-object "GString")
-  (c-name "g_string_ascii_down")
-  (return-type "GString*")
-)
-
-(define-method ascii_up
+(define-method prepend_c
   (of-object "GString")
-  (c-name "g_string_ascii_up")
+  (c-name "g_string_prepend_c")
   (return-type "GString*")
-)
-
-(define-method vprintf
-  (of-object "GString")
-  (c-name "g_string_vprintf")
-  (return-type "none")
   (parameters
-    '("const-gchar*" "format")
-    '("va_list" "args")
+    '("gchar" "c")
   )
 )
 
-(define-method printf
+(define-method prepend_len
   (of-object "GString")
-  (c-name "g_string_printf")
-  (return-type "none")
+  (c-name "g_string_prepend_len")
+  (return-type "GString*")
   (parameters
-    '("const-gchar*" "format")
+    '("const-gchar*" "val")
+    '("gssize" "len")
   )
-  (varargs #t)
 )
 
-(define-method append_vprintf
+(define-method prepend_unichar
   (of-object "GString")
-  (c-name "g_string_append_vprintf")
-  (return-type "none")
+  (c-name "g_string_prepend_unichar")
+  (return-type "GString*")
   (parameters
-    '("const-gchar*" "format")
-    '("va_list" "args")
+    '("gunichar" "wc")
   )
 )
 
-(define-method append_printf
+(define-method printf
   (of-object "GString")
-  (c-name "g_string_append_printf")
+  (c-name "g_string_printf")
   (return-type "none")
   (parameters
     '("const-gchar*" "format")
   )
-  (varargs #t)
 )
 
-(define-method append_uri_escaped
+(define-method set_size
   (of-object "GString")
-  (c-name "g_string_append_uri_escaped")
+  (c-name "g_string_set_size")
   (return-type "GString*")
   (parameters
-    '("const-gchar*" "unescaped")
-    '("const-gchar*" "reserved_chars_allowed")
-    '("gboolean" "allow_utf8")
+    '("gsize" "len")
   )
 )
 
-(define-method append_c_inline
+(define-method truncate
   (of-object "GString")
-  (c-name "g_string_append_c_inline")
+  (c-name "g_string_truncate")
   (return-type "GString*")
   (parameters
-    '("gchar" "c")
+    '("gsize" "len")
   )
 )
 
-(define-method down
-  (of-object "GString")
-  (c-name "g_string_down")
-  (return-type "GString*")
-)
-
 (define-method up
   (of-object "GString")
   (c-name "g_string_up")
   (return-type "GString*")
 )
 
-
-
-;; From gtestutils.h
-
-(define-function g_strcmp0
-  (c-name "g_strcmp0")
-  (return-type "int")
-  (parameters
-    '("const-char*" "str1")
-    '("const-char*" "str2")
-  )
-)
-
-(define-function g_test_minimized_result
-  (c-name "g_test_minimized_result")
-  (return-type "none")
-  (parameters
-    '("double" "minimized_quantity")
-    '("const-char*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function g_test_maximized_result
-  (c-name "g_test_maximized_result")
-  (return-type "none")
-  (parameters
-    '("double" "maximized_quantity")
-    '("const-char*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function g_test_init
-  (c-name "g_test_init")
-  (return-type "none")
-  (parameters
-    '("int*" "argc")
-    '("char***" "argv")
-  )
-  (varargs #t)
-)
-
-(define-function g_test_subprocess
-  (c-name "g_test_subprocess")
-  (return-type "gboolean")
-)
-
-(define-function g_test_run
-  (c-name "g_test_run")
-  (return-type "int")
-)
-
-(define-function g_test_add_func
-  (c-name "g_test_add_func")
-  (return-type "none")
-  (parameters
-    '("const-char*" "testpath")
-    '("GTestFunc" "test_func")
-  )
-)
-
-(define-function g_test_add_data_func
-  (c-name "g_test_add_data_func")
-  (return-type "none")
-  (parameters
-    '("const-char*" "testpath")
-    '("gconstpointer" "test_data")
-    '("GTestDataFunc" "test_func")
-  )
-)
-
-(define-function g_test_add_data_func_full
-  (c-name "g_test_add_data_func_full")
-  (return-type "none")
-  (parameters
-    '("const-char*" "testpath")
-    '("gpointer" "test_data")
-    '("GTestDataFunc" "test_func")
-    '("GDestroyNotify" "data_free_func")
-  )
-)
-
-(define-function g_test_fail
-  (c-name "g_test_fail")
-  (return-type "none")
-)
-
-(define-function g_test_incomplete
-  (c-name "g_test_incomplete")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "msg")
-  )
-)
-
-(define-function g_test_skip
-  (c-name "g_test_skip")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "msg")
-  )
-)
-
-(define-function g_test_failed
-  (c-name "g_test_failed")
-  (return-type "gboolean")
-)
-
-(define-function g_test_set_nonfatal_assertions
-  (c-name "g_test_set_nonfatal_assertions")
-  (return-type "none")
-)
-
-(define-function g_test_message
-  (c-name "g_test_message")
-  (return-type "none")
-  (parameters
-    '("const-char*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function g_test_bug_base
-  (c-name "g_test_bug_base")
-  (return-type "none")
-  (parameters
-    '("const-char*" "uri_pattern")
-  )
-)
-
-(define-function g_test_bug
-  (c-name "g_test_bug")
-  (return-type "none")
-  (parameters
-    '("const-char*" "bug_uri_snippet")
-  )
-)
-
-(define-function g_test_timer_start
-  (c-name "g_test_timer_start")
-  (return-type "none")
-)
-
-(define-function g_test_timer_elapsed
-  (c-name "g_test_timer_elapsed")
-  (return-type "double")
-)
-
-(define-function g_test_timer_last
-  (c-name "g_test_timer_last")
-  (return-type "double")
-)
-
-(define-function g_test_queue_free
-  (c-name "g_test_queue_free")
-  (return-type "none")
-  (parameters
-    '("gpointer" "gfree_pointer")
-  )
-)
-
-(define-function g_test_queue_destroy
-  (c-name "g_test_queue_destroy")
-  (return-type "none")
-  (parameters
-    '("GDestroyNotify" "destroy_func")
-    '("gpointer" "destroy_data")
-  )
-)
-
-(define-function g_test_trap_fork
-  (c-name "g_test_trap_fork")
-  (return-type "gboolean")
-  (parameters
-    '("guint64" "usec_timeout")
-    '("GTestTrapFlags" "test_trap_flags")
-  )
-)
-
-(define-function g_test_trap_subprocess
-  (c-name "g_test_trap_subprocess")
-  (return-type "none")
-  (parameters
-    '("const-char*" "test_path")
-    '("guint64" "usec_timeout")
-    '("GTestSubprocessFlags" "test_flags")
-  )
-)
-
-(define-function g_test_trap_has_passed
-  (c-name "g_test_trap_has_passed")
-  (return-type "gboolean")
-)
-
-(define-function g_test_trap_reached_timeout
-  (c-name "g_test_trap_reached_timeout")
-  (return-type "gboolean")
-)
-
-(define-function g_test_rand_int
-  (c-name "g_test_rand_int")
-  (return-type "gint32")
-)
-
-(define-function g_test_rand_int_range
-  (c-name "g_test_rand_int_range")
-  (return-type "gint32")
-  (parameters
-    '("gint32" "begin")
-    '("gint32" "end")
-  )
-)
-
-(define-function g_test_rand_double
-  (c-name "g_test_rand_double")
-  (return-type "double")
-)
-
-(define-function g_test_rand_double_range
-  (c-name "g_test_rand_double_range")
-  (return-type "double")
-  (parameters
-    '("double" "range_start")
-    '("double" "range_end")
-  )
-)
-
-(define-function g_test_create_case
-  (c-name "g_test_create_case")
-  (return-type "GTestCase*")
-  (parameters
-    '("const-char*" "test_name")
-    '("gsize" "data_size")
-    '("gconstpointer" "test_data")
-    '("GTestFixtureFunc" "data_setup")
-    '("GTestFixtureFunc" "data_test")
-    '("GTestFixtureFunc" "data_teardown")
-  )
-)
-
-(define-function g_test_create_suite
-  (c-name "g_test_create_suite")
-  (return-type "GTestSuite*")
-  (parameters
-    '("const-char*" "suite_name")
-  )
-)
-
-(define-function g_test_get_root
-  (c-name "g_test_get_root")
-  (return-type "GTestSuite*")
-)
-
-(define-method add
-  (of-object "GTestSuite")
-  (c-name "g_test_suite_add")
-  (return-type "none")
-  (parameters
-    '("GTestCase*" "test_case")
-  )
-)
-
-(define-method add_suite
-  (of-object "GTestSuite")
-  (c-name "g_test_suite_add_suite")
-  (return-type "none")
-  (parameters
-    '("GTestSuite*" "nestedsuite")
-  )
-)
-
-(define-function g_test_run_suite
-  (c-name "g_test_run_suite")
-  (return-type "int")
-  (parameters
-    '("GTestSuite*" "suite")
-  )
-)
-
-(define-function g_test_trap_assertions
-  (c-name "g_test_trap_assertions")
-  (return-type "none")
-  (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("guint64" "assertion_flags")
-    '("const-char*" "pattern")
-  )
-)
-
-(define-function g_assertion_message
-  (c-name "g_assertion_message")
+(define-method vprintf
+  (of-object "GString")
+  (c-name "g_string_vprintf")
   (return-type "none")
   (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("const-char*" "message")
+    '("const-gchar*" "format")
+    '("va_list" "args")
   )
 )
 
-(define-function g_assertion_message_expr
-  (c-name "g_assertion_message_expr")
+(define-method clear
+  (of-object "GStringChunk")
+  (c-name "g_string_chunk_clear")
   (return-type "none")
-  (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("const-char*" "expr")
-  )
 )
 
-(define-function g_assertion_message_cmpstr
-  (c-name "g_assertion_message_cmpstr")
+(define-method free
+  (of-object "GStringChunk")
+  (c-name "g_string_chunk_free")
   (return-type "none")
-  (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("const-char*" "expr")
-    '("const-char*" "arg1")
-    '("const-char*" "cmp")
-    '("const-char*" "arg2")
-  )
 )
 
-(define-function g_assertion_message_cmpnum
-  (c-name "g_assertion_message_cmpnum")
-  (return-type "none")
+(define-method insert
+  (of-object "GStringChunk")
+  (c-name "g_string_chunk_insert")
+  (return-type "gchar*")
   (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("const-char*" "expr")
-    '("long-double" "arg1")
-    '("const-char*" "cmp")
-    '("long-double" "arg2")
-    '("char" "numtype")
+    '("const-gchar*" "string")
   )
 )
 
-(define-function g_assertion_message_error
-  (c-name "g_assertion_message_error")
-  (return-type "none")
+(define-method insert_const
+  (of-object "GStringChunk")
+  (c-name "g_string_chunk_insert_const")
+  (return-type "gchar*")
   (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-    '("const-char*" "expr")
-    '("const-GError*" "error")
-    '("GQuark" "error_domain")
-    '("int" "error_code")
+    '("const-gchar*" "string")
   )
 )
 
-(define-function g_test_add_vtable
-  (c-name "g_test_add_vtable")
-  (return-type "none")
+(define-method insert_len
+  (of-object "GStringChunk")
+  (c-name "g_string_chunk_insert_len")
+  (return-type "gchar*")
   (parameters
-    '("const-char*" "testpath")
-    '("gsize" "data_size")
-    '("gconstpointer" "test_data")
-    '("GTestFixtureFunc" "data_setup")
-    '("GTestFixtureFunc" "data_test")
-    '("GTestFixtureFunc" "data_teardown")
+    '("const-gchar*" "string")
+    '("gssize" "len")
   )
 )
 
-(define-method name
-  (of-object "GTestLogType")
-  (c-name "g_test_log_type_name")
-  (return-type "const-char*")
-)
-
-(define-function g_test_log_buffer_new
-  (c-name "g_test_log_buffer_new")
-  (is-constructor-of "GTestLogBuffer")
-  (return-type "GTestLogBuffer*")
-)
-
 (define-method free
   (of-object "GTestLogBuffer")
   (c-name "g_test_log_buffer_free")
   (return-type "none")
 )
 
-(define-method push
-  (of-object "GTestLogBuffer")
-  (c-name "g_test_log_buffer_push")
-  (return-type "none")
-  (parameters
-    '("guint" "n_bytes")
-    '("const-guint8*" "bytes")
-  )
-)
-
 (define-method pop
   (of-object "GTestLogBuffer")
   (c-name "g_test_log_buffer_pop")
   (return-type "GTestLogMsg*")
 )
 
+
 (define-method free
   (of-object "GTestLogMsg")
   (c-name "g_test_log_msg_free")
   (return-type "none")
 )
 
-(define-function g_test_log_set_fatal_handler
-  (c-name "g_test_log_set_fatal_handler")
-  (return-type "none")
-  (parameters
-    '("GTestLogFatalFunc" "log_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-function g_test_expect_message
-  (c-name "g_test_expect_message")
+(define-method add
+  (of-object "GTestSuite")
+  (c-name "g_test_suite_add")
   (return-type "none")
   (parameters
-    '("const-gchar*" "log_domain")
-    '("GLogLevelFlags" "log_level")
-    '("const-gchar*" "pattern")
+    '("GTestCase*" "test_case")
   )
 )
 
-(define-function g_test_assert_expected_messages_internal
-  (c-name "g_test_assert_expected_messages_internal")
+(define-method add_suite
+  (of-object "GTestSuite")
+  (c-name "g_test_suite_add_suite")
   (return-type "none")
   (parameters
-    '("const-char*" "domain")
-    '("const-char*" "file")
-    '("int" "line")
-    '("const-char*" "func")
-  )
-)
-
-(define-function g_test_build_filename
-  (c-name "g_test_build_filename")
-  (return-type "gchar*")
-  (parameters
-    '("GTestFileType" "file_type")
-    '("const-gchar*" "first_path")
-  )
-  (varargs #t)
-)
-
-(define-function g_test_get_dir
-  (c-name "g_test_get_dir")
-  (return-type "const-gchar*")
-  (parameters
-    '("GTestFileType" "file_type")
-  )
-)
-
-(define-function g_test_get_filename
-  (c-name "g_test_get_filename")
-  (return-type "const-gchar*")
-  (parameters
-    '("GTestFileType" "file_type")
-    '("const-gchar*" "first_path")
+    '("GTestSuite*" "nestedsuite")
   )
-  (varargs #t)
-)
-
-
-
-;; From gthread.h
-
-(define-function g_thread_error_quark
-  (c-name "g_thread_error_quark")
-  (return-type "GQuark")
 )
 
-(define-method ref
-  (of-object "GThread")
-  (c-name "g_thread_ref")
-  (return-type "GThread*")
-)
-
-(define-method unref
-  (of-object "GThread")
-  (c-name "g_thread_unref")
-  (return-type "none")
-)
-
-(define-function g_thread_new
+(define-function new
   (c-name "g_thread_new")
-  (is-constructor-of "GThread")
   (return-type "GThread*")
   (parameters
     '("const-gchar*" "name")
@@ -11826,9 +5012,8 @@
   )
 )
 
-(define-function g_thread_try_new
+(define-function try_new
   (c-name "g_thread_try_new")
-  (is-constructor-of "GThreadTry")
   (return-type "GThread*")
   (parameters
     '("const-gchar*" "name")
@@ -11838,252 +5023,22 @@
   )
 )
 
-(define-function g_thread_self
-  (c-name "g_thread_self")
-  (return-type "GThread*")
-)
-
-(define-function g_thread_exit
-  (c-name "g_thread_exit")
-  (return-type "none")
-  (parameters
-    '("gpointer" "retval")
-  )
-)
-
 (define-method join
   (of-object "GThread")
   (c-name "g_thread_join")
   (return-type "gpointer")
 )
 
-(define-function g_thread_yield
-  (c-name "g_thread_yield")
-  (return-type "none")
-)
-
-(define-method init
-  (of-object "GMutex")
-  (c-name "g_mutex_init")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GMutex")
-  (c-name "g_mutex_clear")
-  (return-type "none")
-)
-
-(define-method lock
-  (of-object "GMutex")
-  (c-name "g_mutex_lock")
-  (return-type "none")
-)
-
-(define-method trylock
-  (of-object "GMutex")
-  (c-name "g_mutex_trylock")
-  (return-type "gboolean")
-)
-
-(define-method unlock
-  (of-object "GMutex")
-  (c-name "g_mutex_unlock")
-  (return-type "none")
-)
-
-(define-method init
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_init")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_clear")
-  (return-type "none")
-)
-
-(define-method writer_lock
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_writer_lock")
-  (return-type "none")
-)
-
-(define-method writer_trylock
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_writer_trylock")
-  (return-type "gboolean")
-)
-
-(define-method writer_unlock
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_writer_unlock")
-  (return-type "none")
-)
-
-(define-method reader_lock
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_reader_lock")
-  (return-type "none")
-)
-
-(define-method reader_trylock
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_reader_trylock")
-  (return-type "gboolean")
-)
-
-(define-method reader_unlock
-  (of-object "GRWLock")
-  (c-name "g_rw_lock_reader_unlock")
-  (return-type "none")
-)
-
-(define-method init
-  (of-object "GRecMutex")
-  (c-name "g_rec_mutex_init")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GRecMutex")
-  (c-name "g_rec_mutex_clear")
-  (return-type "none")
-)
-
-(define-method lock
-  (of-object "GRecMutex")
-  (c-name "g_rec_mutex_lock")
-  (return-type "none")
-)
-
-(define-method trylock
-  (of-object "GRecMutex")
-  (c-name "g_rec_mutex_trylock")
-  (return-type "gboolean")
-)
-
-(define-method unlock
-  (of-object "GRecMutex")
-  (c-name "g_rec_mutex_unlock")
-  (return-type "none")
-)
-
-(define-method init
-  (of-object "GCond")
-  (c-name "g_cond_init")
-  (return-type "none")
-)
-
-(define-method clear
-  (of-object "GCond")
-  (c-name "g_cond_clear")
-  (return-type "none")
-)
-
-(define-method wait
-  (of-object "GCond")
-  (c-name "g_cond_wait")
-  (return-type "none")
-  (parameters
-    '("GMutex*" "mutex")
-  )
-)
-
-(define-method signal
-  (of-object "GCond")
-  (c-name "g_cond_signal")
-  (return-type "none")
-)
-
-(define-method broadcast
-  (of-object "GCond")
-  (c-name "g_cond_broadcast")
-  (return-type "none")
-)
-
-(define-method wait_until
-  (of-object "GCond")
-  (c-name "g_cond_wait_until")
-  (return-type "gboolean")
-  (parameters
-    '("GMutex*" "mutex")
-    '("gint64" "end_time")
-  )
-)
-
-(define-method get
-  (of-object "GPrivate")
-  (c-name "g_private_get")
-  (return-type "gpointer")
-)
-
-(define-method set
-  (of-object "GPrivate")
-  (c-name "g_private_set")
-  (return-type "none")
-  (parameters
-    '("gpointer" "value")
-  )
-)
-
-(define-method replace
-  (of-object "GPrivate")
-  (c-name "g_private_replace")
-  (return-type "none")
-  (parameters
-    '("gpointer" "value")
-  )
-)
-
-(define-method impl
-  (of-object "GOnce")
-  (c-name "g_once_impl")
-  (return-type "gpointer")
-  (parameters
-    '("GThreadFunc" "func")
-    '("gpointer" "arg")
-  )
-)
-
-(define-function g_once_init_enter
-  (c-name "g_once_init_enter")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-void*" "location")
-  )
+(define-method ref
+  (of-object "GThread")
+  (c-name "g_thread_ref")
+  (return-type "GThread*")
 )
 
-(define-function g_once_init_leave
-  (c-name "g_once_init_leave")
+(define-method unref
+  (of-object "GThread")
+  (c-name "g_thread_unref")
   (return-type "none")
-  (parameters
-    '("volatile-void*" "location")
-    '("gsize" "result")
-  )
-)
-
-(define-function g_get_num_processors
-  (c-name "g_get_num_processors")
-  (return-type "guint")
-)
-
-
-
-;; From gthreadpool.h
-
-(define-function g_thread_pool_new
-  (c-name "g_thread_pool_new")
-  (is-constructor-of "GThreadPool")
-  (return-type "GThreadPool*")
-  (parameters
-    '("GFunc" "func")
-    '("gpointer" "user_data")
-    '("gint" "max_threads")
-    '("gboolean" "exclusive")
-    '("GError**" "error")
-  )
 )
 
 (define-method free
@@ -12096,29 +5051,25 @@
   )
 )
 
-(define-method push
+(define-method get_max_threads
   (of-object "GThreadPool")
-  (c-name "g_thread_pool_push")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "data")
-    '("GError**" "error")
-  )
+  (c-name "g_thread_pool_get_max_threads")
+  (return-type "gint")
 )
 
-(define-method unprocessed
+(define-method get_num_threads
   (of-object "GThreadPool")
-  (c-name "g_thread_pool_unprocessed")
+  (c-name "g_thread_pool_get_num_threads")
   (return-type "guint")
 )
 
-(define-method set_sort_function
+(define-method push
   (of-object "GThreadPool")
-  (c-name "g_thread_pool_set_sort_function")
-  (return-type "none")
+  (c-name "g_thread_pool_push")
+  (return-type "gboolean")
   (parameters
-    '("GCompareDataFunc" "func")
-    '("gpointer" "user_data")
+    '("gpointer" "data")
+    '("GError**" "error")
   )
 )
 
@@ -12132,176 +5083,22 @@
   )
 )
 
-(define-method get_max_threads
-  (of-object "GThreadPool")
-  (c-name "g_thread_pool_get_max_threads")
-  (return-type "gint")
-)
-
-(define-method get_num_threads
+(define-method set_sort_function
   (of-object "GThreadPool")
-  (c-name "g_thread_pool_get_num_threads")
-  (return-type "guint")
-)
-
-(define-function g_thread_pool_set_max_unused_threads
-  (c-name "g_thread_pool_set_max_unused_threads")
-  (return-type "none")
-  (parameters
-    '("gint" "max_threads")
-  )
-)
-
-(define-function g_thread_pool_get_max_unused_threads
-  (c-name "g_thread_pool_get_max_unused_threads")
-  (return-type "gint")
-)
-
-(define-function g_thread_pool_get_num_unused_threads
-  (c-name "g_thread_pool_get_num_unused_threads")
-  (return-type "guint")
-)
-
-(define-function g_thread_pool_stop_unused_threads
-  (c-name "g_thread_pool_stop_unused_threads")
-  (return-type "none")
-)
-
-(define-function g_thread_pool_set_max_idle_time
-  (c-name "g_thread_pool_set_max_idle_time")
+  (c-name "g_thread_pool_set_sort_function")
   (return-type "none")
   (parameters
-    '("guint" "interval")
+    '("GCompareDataFunc" "func")
+    '("gpointer" "user_data")
   )
 )
 
-(define-function g_thread_pool_get_max_idle_time
-  (c-name "g_thread_pool_get_max_idle_time")
+(define-method unprocessed
+  (of-object "GThreadPool")
+  (c-name "g_thread_pool_unprocessed")
   (return-type "guint")
 )
 
-
-
-;; From gthreadprivate.h
-
-(define-function g_system_thread_wait
-  (c-name "g_system_thread_wait")
-  (return-type "none")
-  (parameters
-    '("GRealThread*" "thread")
-  )
-)
-
-(define-function g_system_thread_new
-  (c-name "g_system_thread_new")
-  (is-constructor-of "GSystemThread")
-  (return-type "GRealThread*")
-  (parameters
-    '("GThreadFunc" "func")
-    '("gulong" "stack_size")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_system_thread_free
-  (c-name "g_system_thread_free")
-  (return-type "none")
-  (parameters
-    '("GRealThread*" "thread")
-  )
-)
-
-(define-function g_system_thread_exit
-  (c-name "g_system_thread_exit")
-  (return-type "none")
-)
-
-(define-function g_system_thread_set_name
-  (c-name "g_system_thread_set_name")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-function g_thread_new_internal
-  (c-name "g_thread_new_internal")
-  (return-type "GThread*")
-  (parameters
-    '("const-gchar*" "name")
-    '("GThreadFunc" "proxy")
-    '("GThreadFunc" "func")
-    '("gpointer" "data")
-    '("gsize" "stack_size")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_thread_proxy
-  (c-name "g_thread_proxy")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "thread")
-  )
-)
-
-
-
-;; From gtimer.h
-
-(define-function g_timer_new
-  (c-name "g_timer_new")
-  (is-constructor-of "GTimer")
-  (return-type "GTimer*")
-)
-
-(define-method destroy
-  (of-object "GTimer")
-  (c-name "g_timer_destroy")
-  (return-type "none")
-)
-
-(define-method start
-  (of-object "GTimer")
-  (c-name "g_timer_start")
-  (return-type "none")
-)
-
-(define-method stop
-  (of-object "GTimer")
-  (c-name "g_timer_stop")
-  (return-type "none")
-)
-
-(define-method reset
-  (of-object "GTimer")
-  (c-name "g_timer_reset")
-  (return-type "none")
-)
-
-(define-method continue
-  (of-object "GTimer")
-  (c-name "g_timer_continue")
-  (return-type "none")
-)
-
-(define-method elapsed
-  (of-object "GTimer")
-  (c-name "g_timer_elapsed")
-  (return-type "gdouble")
-  (parameters
-    '("gulong*" "microseconds")
-  )
-)
-
-(define-function g_usleep
-  (c-name "g_usleep")
-  (return-type "none")
-  (parameters
-    '("gulong" "microseconds")
-  )
-)
-
 (define-method add
   (of-object "GTimeVal")
   (c-name "g_time_val_add")
@@ -12311,73 +5108,47 @@
   )
 )
 
-(define-function g_time_val_from_iso8601
-  (c-name "g_time_val_from_iso8601")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "iso_date")
-    '("GTimeVal*" "time_")
-  )
-)
-
 (define-method to_iso8601
   (of-object "GTimeVal")
   (c-name "g_time_val_to_iso8601")
   (return-type "gchar*")
 )
 
-
-
-;; From gtimezone.h
-
-(define-function g_time_zone_new
+(define-function new
   (c-name "g_time_zone_new")
-  (is-constructor-of "GTimeZone")
   (return-type "GTimeZone*")
   (parameters
     '("const-gchar*" "identifier")
   )
 )
 
-(define-function g_time_zone_new_utc
-  (c-name "g_time_zone_new_utc")
-  (return-type "GTimeZone*")
-)
-
-(define-function g_time_zone_new_local
+(define-function new_local
   (c-name "g_time_zone_new_local")
   (return-type "GTimeZone*")
 )
 
-(define-method ref
-  (of-object "GTimeZone")
-  (c-name "g_time_zone_ref")
+(define-function new_utc
+  (c-name "g_time_zone_new_utc")
   (return-type "GTimeZone*")
 )
 
-(define-method unref
-  (of-object "GTimeZone")
-  (c-name "g_time_zone_unref")
-  (return-type "none")
-)
-
-(define-method find_interval
+(define-method adjust_time
   (of-object "GTimeZone")
-  (c-name "g_time_zone_find_interval")
+  (c-name "g_time_zone_adjust_time")
   (return-type "gint")
   (parameters
     '("GTimeType" "type")
-    '("gint64" "time_")
+    '("gint64*" "time_")
   )
 )
 
-(define-method adjust_time
+(define-method find_interval
   (of-object "GTimeZone")
-  (c-name "g_time_zone_adjust_time")
+  (c-name "g_time_zone_find_interval")
   (return-type "gint")
   (parameters
     '("GTimeType" "type")
-    '("gint64*" "time_")
+    '("gint64" "time_")
   )
 )
 
@@ -12408,89 +5179,54 @@
   )
 )
 
-
-
-;; From gtranslit-data.h
-
-
-
-;; From gtrashstack.h
-
-(define-function g_trash_stack_push
-  (c-name "g_trash_stack_push")
-  (return-type "none")
-  (parameters
-    '("GTrashStack**" "stack_p")
-    '("gpointer" "data_p")
-  )
-)
-
-(define-function g_trash_stack_pop
-  (c-name "g_trash_stack_pop")
-  (return-type "gpointer")
-  (parameters
-    '("GTrashStack**" "stack_p")
-  )
+(define-method ref
+  (of-object "GTimeZone")
+  (c-name "g_time_zone_ref")
+  (return-type "GTimeZone*")
 )
 
-(define-function g_trash_stack_peek
-  (c-name "g_trash_stack_peek")
-  (return-type "gpointer")
-  (parameters
-    '("GTrashStack**" "stack_p")
-  )
+(define-method unref
+  (of-object "GTimeZone")
+  (c-name "g_time_zone_unref")
+  (return-type "none")
 )
 
-(define-function g_trash_stack_height
-  (c-name "g_trash_stack_height")
-  (return-type "guint")
-  (parameters
-    '("GTrashStack**" "stack_p")
-  )
+(define-method continue
+  (of-object "GTimer")
+  (c-name "g_timer_continue")
+  (return-type "none")
 )
 
-
-
-;; From gtree.h
-
-(define-function g_tree_new
-  (c-name "g_tree_new")
-  (is-constructor-of "GTree")
-  (return-type "GTree*")
-  (parameters
-    '("GCompareFunc" "key_compare_func")
-  )
+(define-method destroy
+  (of-object "GTimer")
+  (c-name "g_timer_destroy")
+  (return-type "none")
 )
 
-(define-function g_tree_new_with_data
-  (c-name "g_tree_new_with_data")
-  (return-type "GTree*")
+(define-method elapsed
+  (of-object "GTimer")
+  (c-name "g_timer_elapsed")
+  (return-type "gdouble")
   (parameters
-    '("GCompareDataFunc" "key_compare_func")
-    '("gpointer" "key_compare_data")
+    '("gulong*" "microseconds")
   )
 )
 
-(define-function g_tree_new_full
-  (c-name "g_tree_new_full")
-  (return-type "GTree*")
-  (parameters
-    '("GCompareDataFunc" "key_compare_func")
-    '("gpointer" "key_compare_data")
-    '("GDestroyNotify" "key_destroy_func")
-    '("GDestroyNotify" "value_destroy_func")
-  )
+(define-method reset
+  (of-object "GTimer")
+  (c-name "g_timer_reset")
+  (return-type "none")
 )
 
-(define-method ref
-  (of-object "GTree")
-  (c-name "g_tree_ref")
-  (return-type "GTree*")
+(define-method start
+  (of-object "GTimer")
+  (c-name "g_timer_start")
+  (return-type "none")
 )
 
-(define-method unref
-  (of-object "GTree")
-  (c-name "g_tree_unref")
+(define-method stop
+  (of-object "GTimer")
+  (c-name "g_timer_stop")
   (return-type "none")
 )
 
@@ -12500,41 +5236,29 @@
   (return-type "none")
 )
 
-(define-method insert
-  (of-object "GTree")
-  (c-name "g_tree_insert")
-  (return-type "none")
-  (parameters
-    '("gpointer" "key")
-    '("gpointer" "value")
-  )
-)
-
-(define-method replace
+(define-method foreach
   (of-object "GTree")
-  (c-name "g_tree_replace")
+  (c-name "g_tree_foreach")
   (return-type "none")
   (parameters
-    '("gpointer" "key")
-    '("gpointer" "value")
+    '("GTraverseFunc" "func")
+    '("gpointer" "user_data")
   )
 )
 
-(define-method remove
+(define-method height
   (of-object "GTree")
-  (c-name "g_tree_remove")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "key")
-  )
+  (c-name "g_tree_height")
+  (return-type "gint")
 )
 
-(define-method steal
+(define-method insert
   (of-object "GTree")
-  (c-name "g_tree_steal")
-  (return-type "gboolean")
+  (c-name "g_tree_insert")
+  (return-type "none")
   (parameters
-    '("gconstpointer" "key")
+    '("gpointer" "key")
+    '("gpointer" "value")
   )
 )
 
@@ -12558,24 +5282,34 @@
   )
 )
 
-(define-method foreach
+(define-method nnodes
   (of-object "GTree")
-  (c-name "g_tree_foreach")
-  (return-type "none")
+  (c-name "g_tree_nnodes")
+  (return-type "gint")
+)
+
+(define-method ref
+  (of-object "GTree")
+  (c-name "g_tree_ref")
+  (return-type "GTree*")
+)
+
+(define-method remove
+  (of-object "GTree")
+  (c-name "g_tree_remove")
+  (return-type "gboolean")
   (parameters
-    '("GTraverseFunc" "func")
-    '("gpointer" "user_data")
+    '("gconstpointer" "key")
   )
 )
 
-(define-method traverse
+(define-method replace
   (of-object "GTree")
-  (c-name "g_tree_traverse")
+  (c-name "g_tree_replace")
   (return-type "none")
   (parameters
-    '("GTraverseFunc" "traverse_func")
-    '("GTraverseType" "traverse_type")
-    '("gpointer" "user_data")
+    '("gpointer" "key")
+    '("gpointer" "value")
   )
 )
 
@@ -12589,1110 +5323,463 @@
   )
 )
 
-(define-method height
-  (of-object "GTree")
-  (c-name "g_tree_height")
-  (return-type "gint")
-)
-
-(define-method nnodes
+(define-method steal
   (of-object "GTree")
-  (c-name "g_tree_nnodes")
-  (return-type "gint")
-)
-
-
-
-;; From gtypes.h
-
-
-
-;; From gunibreak.h
-
-
-
-;; From gunichartables.h
-
-
-
-;; From gunicode.h
-
-(define-method to_iso15924
-  (of-object "GUnicodeScript")
-  (c-name "g_unicode_script_to_iso15924")
-  (return-type "guint32")
-)
-
-(define-function g_unicode_script_from_iso15924
-  (c-name "g_unicode_script_from_iso15924")
-  (return-type "GUnicodeScript")
-  (parameters
-    '("guint32" "iso15924")
-  )
-)
-
-(define-method isalnum
-  (of-object "gunichar")
-  (c-name "g_unichar_isalnum")
-  (return-type "gboolean")
-)
-
-(define-method isalpha
-  (of-object "gunichar")
-  (c-name "g_unichar_isalpha")
-  (return-type "gboolean")
-)
-
-(define-method iscntrl
-  (of-object "gunichar")
-  (c-name "g_unichar_iscntrl")
-  (return-type "gboolean")
-)
-
-(define-method isdigit
-  (of-object "gunichar")
-  (c-name "g_unichar_isdigit")
-  (return-type "gboolean")
-)
-
-(define-method isgraph
-  (of-object "gunichar")
-  (c-name "g_unichar_isgraph")
-  (return-type "gboolean")
-)
-
-(define-method islower
-  (of-object "gunichar")
-  (c-name "g_unichar_islower")
-  (return-type "gboolean")
-)
-
-(define-method isprint
-  (of-object "gunichar")
-  (c-name "g_unichar_isprint")
-  (return-type "gboolean")
-)
-
-(define-method ispunct
-  (of-object "gunichar")
-  (c-name "g_unichar_ispunct")
-  (return-type "gboolean")
-)
-
-(define-method isspace
-  (of-object "gunichar")
-  (c-name "g_unichar_isspace")
-  (return-type "gboolean")
-)
-
-(define-method isupper
-  (of-object "gunichar")
-  (c-name "g_unichar_isupper")
-  (return-type "gboolean")
-)
-
-(define-method isxdigit
-  (of-object "gunichar")
-  (c-name "g_unichar_isxdigit")
-  (return-type "gboolean")
-)
-
-(define-method istitle
-  (of-object "gunichar")
-  (c-name "g_unichar_istitle")
-  (return-type "gboolean")
-)
-
-(define-method isdefined
-  (of-object "gunichar")
-  (c-name "g_unichar_isdefined")
-  (return-type "gboolean")
-)
-
-(define-method iswide
-  (of-object "gunichar")
-  (c-name "g_unichar_iswide")
-  (return-type "gboolean")
-)
-
-(define-method iswide_cjk
-  (of-object "gunichar")
-  (c-name "g_unichar_iswide_cjk")
-  (return-type "gboolean")
-)
-
-(define-method iszerowidth
-  (of-object "gunichar")
-  (c-name "g_unichar_iszerowidth")
-  (return-type "gboolean")
-)
-
-(define-method ismark
-  (of-object "gunichar")
-  (c-name "g_unichar_ismark")
-  (return-type "gboolean")
-)
-
-(define-method toupper
-  (of-object "gunichar")
-  (c-name "g_unichar_toupper")
-  (return-type "gunichar")
-)
-
-(define-method tolower
-  (of-object "gunichar")
-  (c-name "g_unichar_tolower")
-  (return-type "gunichar")
-)
-
-(define-method totitle
-  (of-object "gunichar")
-  (c-name "g_unichar_totitle")
-  (return-type "gunichar")
-)
-
-(define-method digit_value
-  (of-object "gunichar")
-  (c-name "g_unichar_digit_value")
-  (return-type "gint")
-)
-
-(define-method xdigit_value
-  (of-object "gunichar")
-  (c-name "g_unichar_xdigit_value")
-  (return-type "gint")
-)
-
-(define-method type
-  (of-object "gunichar")
-  (c-name "g_unichar_type")
-  (return-type "GUnicodeType")
-)
-
-(define-method break_type
-  (of-object "gunichar")
-  (c-name "g_unichar_break_type")
-  (return-type "GUnicodeBreakType")
-)
-
-(define-method combining_class
-  (of-object "gunichar")
-  (c-name "g_unichar_combining_class")
-  (return-type "gint")
-)
-
-(define-method get_mirror_char
-  (of-object "gunichar")
-  (c-name "g_unichar_get_mirror_char")
-  (return-type "gboolean")
-  (parameters
-    '("gunichar*" "mirrored_ch")
-  )
-)
-
-(define-method get_script
-  (of-object "gunichar")
-  (c-name "g_unichar_get_script")
-  (return-type "GUnicodeScript")
-)
-
-(define-method validate
-  (of-object "gunichar")
-  (c-name "g_unichar_validate")
-  (return-type "gboolean")
-)
-
-(define-method compose
-  (of-object "gunichar")
-  (c-name "g_unichar_compose")
-  (return-type "gboolean")
-  (parameters
-    '("gunichar" "b")
-    '("gunichar*" "ch")
-  )
-)
-
-(define-method decompose
-  (of-object "gunichar")
-  (c-name "g_unichar_decompose")
+  (c-name "g_tree_steal")
   (return-type "gboolean")
   (parameters
-    '("gunichar*" "a")
-    '("gunichar*" "b")
-  )
-)
-
-(define-method fully_decompose
-  (of-object "gunichar")
-  (c-name "g_unichar_fully_decompose")
-  (return-type "gsize")
-  (parameters
-    '("gboolean" "compat")
-    '("gunichar*" "result")
-    '("gsize" "result_len")
+    '("gconstpointer" "key")
   )
 )
 
-(define-function g_unicode_canonical_ordering
-  (c-name "g_unicode_canonical_ordering")
+(define-method traverse
+  (of-object "GTree")
+  (c-name "g_tree_traverse")
   (return-type "none")
   (parameters
-    '("gunichar*" "string")
-    '("gsize" "len")
-  )
-)
-
-(define-function g_unicode_canonical_decomposition
-  (c-name "g_unicode_canonical_decomposition")
-  (return-type "gunichar*")
-  (parameters
-    '("gunichar" "ch")
-    '("gsize*" "result_len")
-  )
-)
-
-(define-function g_utf8_get_char
-  (c-name "g_utf8_get_char")
-  (return-type "gunichar")
-  (parameters
-    '("const-gchar*" "p")
-  )
-)
-
-(define-function g_utf8_get_char_validated
-  (c-name "g_utf8_get_char_validated")
-  (return-type "gunichar")
-  (parameters
-    '("const-gchar*" "p")
-    '("gssize" "max_len")
-  )
-)
-
-(define-function g_utf8_offset_to_pointer
-  (c-name "g_utf8_offset_to_pointer")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("glong" "offset")
-  )
-)
-
-(define-function g_utf8_pointer_to_offset
-  (c-name "g_utf8_pointer_to_offset")
-  (return-type "glong")
-  (parameters
-    '("const-gchar*" "str")
-    '("const-gchar*" "pos")
-  )
-)
-
-(define-function g_utf8_prev_char
-  (c-name "g_utf8_prev_char")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "p")
-  )
-)
-
-(define-function g_utf8_find_next_char
-  (c-name "g_utf8_find_next_char")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "p")
-    '("const-gchar*" "end")
-  )
-)
-
-(define-function g_utf8_find_prev_char
-  (c-name "g_utf8_find_prev_char")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("const-gchar*" "p")
-  )
-)
-
-(define-function g_utf8_strlen
-  (c-name "g_utf8_strlen")
-  (return-type "glong")
-  (parameters
-    '("const-gchar*" "p")
-    '("gssize" "max")
-  )
-)
-
-(define-function g_utf8_substring
-  (c-name "g_utf8_substring")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("glong" "start_pos")
-    '("glong" "end_pos")
-  )
-)
-
-(define-function g_utf8_strncpy
-  (c-name "g_utf8_strncpy")
-  (return-type "gchar*")
-  (parameters
-    '("gchar*" "dest")
-    '("const-gchar*" "src")
-    '("gsize" "n")
-  )
-)
-
-(define-function g_utf8_strchr
-  (c-name "g_utf8_strchr")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "p")
-    '("gssize" "len")
-    '("gunichar" "c")
-  )
-)
-
-(define-function g_utf8_strrchr
-  (c-name "g_utf8_strrchr")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "p")
-    '("gssize" "len")
-    '("gunichar" "c")
-  )
-)
-
-(define-function g_utf8_strreverse
-  (c-name "g_utf8_strreverse")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-  )
-)
-
-(define-function g_utf8_to_utf16
-  (c-name "g_utf8_to_utf16")
-  (return-type "gunichar2*")
-  (parameters
-    '("const-gchar*" "str")
-    '("glong" "len")
-    '("glong*" "items_read")
-    '("glong*" "items_written")
-    '("GError**" "error")
+    '("GTraverseFunc" "traverse_func")
+    '("GTraverseType" "traverse_type")
+    '("gpointer" "user_data")
   )
 )
 
-(define-function g_utf8_to_ucs4
-  (c-name "g_utf8_to_ucs4")
-  (return-type "gunichar*")
-  (parameters
-    '("const-gchar*" "str")
-    '("glong" "len")
-    '("glong*" "items_read")
-    '("glong*" "items_written")
-    '("GError**" "error")
-  )
+(define-method unref
+  (of-object "GTree")
+  (c-name "g_tree_unref")
+  (return-type "none")
 )
 
-(define-function g_utf8_to_ucs4_fast
-  (c-name "g_utf8_to_ucs4_fast")
-  (return-type "gunichar*")
+(define-function new
+  (c-name "g_variant_new")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("glong" "len")
-    '("glong*" "items_written")
+    '("const-gchar*" "format_string")
   )
 )
 
-(define-function g_utf16_to_ucs4
-  (c-name "g_utf16_to_ucs4")
-  (return-type "gunichar*")
+(define-function new_array
+  (c-name "g_variant_new_array")
+  (return-type "GVariant*")
   (parameters
-    '("const-gunichar2*" "str")
-    '("glong" "len")
-    '("glong*" "items_read")
-    '("glong*" "items_written")
-    '("GError**" "error")
+    '("const-GVariantType*" "child_type")
+    '("const-GVariant**" "children")
+    '("gsize" "n_children")
   )
 )
 
-(define-function g_utf16_to_utf8
-  (c-name "g_utf16_to_utf8")
-  (return-type "gchar*")
+(define-function new_boolean
+  (c-name "g_variant_new_boolean")
+  (return-type "GVariant*")
   (parameters
-    '("const-gunichar2*" "str")
-    '("glong" "len")
-    '("glong*" "items_read")
-    '("glong*" "items_written")
-    '("GError**" "error")
+    '("gboolean" "value")
   )
 )
 
-(define-function g_ucs4_to_utf16
-  (c-name "g_ucs4_to_utf16")
-  (return-type "gunichar2*")
+(define-function new_byte
+  (c-name "g_variant_new_byte")
+  (return-type "GVariant*")
   (parameters
-    '("const-gunichar*" "str")
-    '("glong" "len")
-    '("glong*" "items_read")
-    '("glong*" "items_written")
-    '("GError**" "error")
+    '("guchar" "value")
   )
 )
 
-(define-function g_ucs4_to_utf8
-  (c-name "g_ucs4_to_utf8")
-  (return-type "gchar*")
+(define-function new_bytestring
+  (c-name "g_variant_new_bytestring")
+  (return-type "GVariant*")
   (parameters
-    '("const-gunichar*" "str")
-    '("glong" "len")
-    '("glong*" "items_read")
-    '("glong*" "items_written")
-    '("GError**" "error")
+    '("const-gchar*" "string")
   )
 )
 
-(define-method to_utf8
-  (of-object "gunichar")
-  (c-name "g_unichar_to_utf8")
-  (return-type "gint")
+(define-function new_bytestring_array
+  (c-name "g_variant_new_bytestring_array")
+  (return-type "GVariant*")
   (parameters
-    '("gchar*" "outbuf")
+    '("const-gchar**" "strv")
+    '("gssize" "length")
   )
 )
 
-(define-function g_utf8_validate
-  (c-name "g_utf8_validate")
-  (return-type "gboolean")
+(define-function new_dict_entry
+  (c-name "g_variant_new_dict_entry")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "max_len")
-    '("const-gchar**" "end")
+    '("GVariant*" "key")
+    '("GVariant*" "value")
   )
 )
 
-(define-function g_utf8_strup
-  (c-name "g_utf8_strup")
-  (return-type "gchar*")
+(define-function new_double
+  (c-name "g_variant_new_double")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
+    '("gdouble" "value")
   )
 )
 
-(define-function g_utf8_strdown
-  (c-name "g_utf8_strdown")
-  (return-type "gchar*")
+(define-function new_fixed_array
+  (c-name "g_variant_new_fixed_array")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
+    '("const-GVariantType*" "element_type")
+    '("gconstpointer" "elements")
+    '("gsize" "n_elements")
+    '("gsize" "element_size")
   )
 )
 
-(define-function g_utf8_casefold
-  (c-name "g_utf8_casefold")
-  (return-type "gchar*")
+(define-function new_from_data
+  (c-name "g_variant_new_from_data")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
+    '("const-GVariantType*" "type")
+    '("gconstpointer" "data")
+    '("gsize" "size")
+    '("gboolean" "trusted")
+    '("GDestroyNotify" "notify")
+    '("gpointer" "user_data")
   )
 )
 
-(define-function g_utf8_normalize
-  (c-name "g_utf8_normalize")
-  (return-type "gchar*")
+(define-function new_handle
+  (c-name "g_variant_new_handle")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
-    '("GNormalizeMode" "mode")
+    '("gint32" "value")
   )
 )
 
-(define-function g_utf8_collate
-  (c-name "g_utf8_collate")
-  (return-type "gint")
+(define-function new_int16
+  (c-name "g_variant_new_int16")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str1")
-    '("const-gchar*" "str2")
+    '("gint16" "value")
   )
 )
 
-(define-function g_utf8_collate_key
-  (c-name "g_utf8_collate_key")
-  (return-type "gchar*")
+(define-function new_int32
+  (c-name "g_variant_new_int32")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
+    '("gint32" "value")
   )
 )
 
-(define-function g_utf8_collate_key_for_filename
-  (c-name "g_utf8_collate_key_for_filename")
-  (return-type "gchar*")
+(define-function new_int64
+  (c-name "g_variant_new_int64")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "str")
-    '("gssize" "len")
+    '("gint64" "value")
   )
 )
 
-
-
-;; From gunicodeprivate.h
-
-
-
-;; From gunicomp.h
-
-
-
-;; From gunidecomp.h
-
-
-
-;; From gurifuncs.h
-
-(define-function g_uri_unescape_string
-  (c-name "g_uri_unescape_string")
-  (return-type "char*")
+(define-function new_maybe
+  (c-name "g_variant_new_maybe")
+  (return-type "GVariant*")
   (parameters
-    '("const-char*" "escaped_string")
-    '("const-char*" "illegal_characters")
+    '("const-GVariantType*" "child_type")
+    '("GVariant*" "child")
   )
 )
 
-(define-function g_uri_unescape_segment
-  (c-name "g_uri_unescape_segment")
-  (return-type "char*")
+(define-function new_object_path
+  (c-name "g_variant_new_object_path")
+  (return-type "GVariant*")
   (parameters
-    '("const-char*" "escaped_string")
-    '("const-char*" "escaped_string_end")
-    '("const-char*" "illegal_characters")
+    '("const-gchar*" "object_path")
   )
 )
 
-(define-function g_uri_parse_scheme
-  (c-name "g_uri_parse_scheme")
-  (return-type "char*")
+(define-function new_objv
+  (c-name "g_variant_new_objv")
+  (return-type "GVariant*")
   (parameters
-    '("const-char*" "uri")
+    '("const-gchar**" "strv")
+    '("gssize" "length")
   )
 )
 
-(define-function g_uri_escape_string
-  (c-name "g_uri_escape_string")
-  (return-type "char*")
+(define-function new_parsed
+  (c-name "g_variant_new_parsed")
+  (return-type "GVariant*")
   (parameters
-    '("const-char*" "unescaped")
-    '("const-char*" "reserved_chars_allowed")
-    '("gboolean" "allow_utf8")
+    '("const-gchar*" "format")
   )
 )
 
-
-
-;; From gutils.h
-
-(define-function g_get_user_name
-  (c-name "g_get_user_name")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_real_name
-  (c-name "g_get_real_name")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_home_dir
-  (c-name "g_get_home_dir")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_tmp_dir
-  (c-name "g_get_tmp_dir")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_host_name
-  (c-name "g_get_host_name")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_prgname
-  (c-name "g_get_prgname")
-  (return-type "const-gchar*")
-)
-
-(define-function g_set_prgname
-  (c-name "g_set_prgname")
-  (return-type "none")
+(define-function new_parsed_va
+  (c-name "g_variant_new_parsed_va")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "prgname")
+    '("const-gchar*" "format")
+    '("va_list*" "app")
   )
 )
 
-(define-function g_get_application_name
-  (c-name "g_get_application_name")
-  (return-type "const-gchar*")
-)
-
-(define-function g_set_application_name
-  (c-name "g_set_application_name")
-  (return-type "none")
+(define-function new_printf
+  (c-name "g_variant_new_printf")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "application_name")
+    '("const-gchar*" "format_string")
   )
 )
 
-(define-function g_reload_user_special_dirs_cache
-  (c-name "g_reload_user_special_dirs_cache")
-  (return-type "none")
-)
-
-(define-function g_get_user_data_dir
-  (c-name "g_get_user_data_dir")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_user_config_dir
-  (c-name "g_get_user_config_dir")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_user_cache_dir
-  (c-name "g_get_user_cache_dir")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_system_data_dirs
-  (c-name "g_get_system_data_dirs")
-  (return-type "const-gchar*-const*")
-)
-
-;; the g_win32_get_system_data_dirs_for_module() function is removed because it
-;; has a function pointer parameter and that is not handled correctly by
-;; h2def.py.
-
-(define-function g_get_system_config_dirs
-  (c-name "g_get_system_config_dirs")
-  (return-type "const-gchar*-const*")
-)
-
-(define-function g_get_user_runtime_dir
-  (c-name "g_get_user_runtime_dir")
-  (return-type "const-gchar*")
-)
-
-(define-function g_get_user_special_dir
-  (c-name "g_get_user_special_dir")
-  (return-type "const-gchar*")
+(define-function new_signature
+  (c-name "g_variant_new_signature")
+  (return-type "GVariant*")
   (parameters
-    '("GUserDirectory" "directory")
+    '("const-gchar*" "signature")
   )
 )
 
-(define-function g_parse_debug_string
-  (c-name "g_parse_debug_string")
-  (return-type "guint")
+(define-function new_string
+  (c-name "g_variant_new_string")
+  (return-type "GVariant*")
   (parameters
     '("const-gchar*" "string")
-    '("const-GDebugKey*" "keys")
-    '("guint" "nkeys")
   )
 )
 
-(define-function g_snprintf
-  (c-name "g_snprintf")
-  (return-type "gint")
+(define-function new_strv
+  (c-name "g_variant_new_strv")
+  (return-type "GVariant*")
   (parameters
-    '("gchar*" "string")
-    '("gulong" "n")
-    '("gchar-const*" "format")
+    '("const-gchar**" "strv")
+    '("gssize" "length")
   )
-  (varargs #t)
 )
 
-(define-function g_vsnprintf
-  (c-name "g_vsnprintf")
-  (return-type "gint")
+(define-function new_take_string
+  (c-name "g_variant_new_take_string")
+  (return-type "GVariant*")
   (parameters
     '("gchar*" "string")
-    '("gulong" "n")
-    '("gchar-const*" "format")
-    '("va_list" "args")
   )
 )
 
-(define-function g_nullify_pointer
-  (c-name "g_nullify_pointer")
-  (return-type "none")
-  (parameters
-    '("gpointer*" "nullify_location")
-  )
-)
-
-(define-function g_format_size_full
-  (c-name "g_format_size_full")
-  (return-type "gchar*")
-  (parameters
-    '("guint64" "size")
-    '("GFormatSizeFlags" "flags")
-  )
-)
-
-(define-function g_format_size
-  (c-name "g_format_size")
-  (return-type "gchar*")
-  (parameters
-    '("guint64" "size")
-  )
-)
-
-(define-function g_format_size_for_display
-  (c-name "g_format_size_for_display")
-  (return-type "gchar*")
-  (parameters
-    '("goffset" "size")
-  )
-)
-
-(define-function g_atexit
-  (c-name "g_atexit")
-  (return-type "none")
+(define-function new_tuple
+  (c-name "g_variant_new_tuple")
+  (return-type "GVariant*")
   (parameters
-    '("GVoidFunc" "func")
+    '("const-GVariant**" "children")
+    '("gsize" "n_children")
   )
 )
 
-;; the atexit() function is removed because it has a function pointer parameter
-;; and that is not handled correctly by h2def.py.
-
-(define-function g_find_program_in_path
-  (c-name "g_find_program_in_path")
-  (return-type "gchar*")
+(define-function new_uint16
+  (c-name "g_variant_new_uint16")
+  (return-type "GVariant*")
   (parameters
-    '("const-gchar*" "program")
+    '("guint16" "value")
   )
 )
 
-(define-function g_bit_nth_lsf
-  (c-name "g_bit_nth_lsf")
-  (return-type "gint")
+(define-function new_uint32
+  (c-name "g_variant_new_uint32")
+  (return-type "GVariant*")
   (parameters
-    '("gulong" "mask")
-    '("gint" "nth_bit")
+    '("guint32" "value")
   )
 )
 
-(define-function g_bit_nth_msf
-  (c-name "g_bit_nth_msf")
-  (return-type "gint")
+(define-function new_uint64
+  (c-name "g_variant_new_uint64")
+  (return-type "GVariant*")
   (parameters
-    '("gulong" "mask")
-    '("gint" "nth_bit")
+    '("guint64" "value")
   )
 )
 
-(define-function g_bit_storage
-  (c-name "g_bit_storage")
-  (return-type "guint")
+(define-function new_va
+  (c-name "g_variant_new_va")
+  (return-type "GVariant*")
   (parameters
-    '("gulong" "number")
+    '("const-gchar*" "format_string")
+    '("const-gchar**" "endptr")
+    '("va_list*" "app")
   )
 )
 
-
-
-;; From gvariant-core.h
-
-(define-function g_variant_new_from_children
-  (c-name "g_variant_new_from_children")
+(define-function new_variant
+  (c-name "g_variant_new_variant")
   (return-type "GVariant*")
   (parameters
-    '("const-GVariantType*" "type")
-    '("GVariant**" "children")
-    '("gsize" "n_children")
-    '("gboolean" "trusted")
+    '("GVariant*" "value")
   )
 )
 
-(define-method is_trusted
-  (of-object "GVariant")
-  (c-name "g_variant_is_trusted")
-  (return-type "gboolean")
-)
-
-(define-method get_type_info
-  (of-object "GVariant")
-  (c-name "g_variant_get_type_info")
-  (return-type "GVariantTypeInfo*")
-)
-
-
-
-;; From gvariant.h
-
-(define-method unref
-  (of-object "GVariant")
-  (c-name "g_variant_unref")
-  (return-type "none")
-)
-
-(define-method ref
-  (of-object "GVariant")
-  (c-name "g_variant_ref")
-  (return-type "GVariant*")
-)
-
-(define-method ref_sink
-  (of-object "GVariant")
-  (c-name "g_variant_ref_sink")
-  (return-type "GVariant*")
-)
-
-(define-method is_floating
-  (of-object "GVariant")
-  (c-name "g_variant_is_floating")
-  (return-type "gboolean")
-)
-
-(define-method take_ref
+(define-method byteswap
   (of-object "GVariant")
-  (c-name "g_variant_take_ref")
+  (c-name "g_variant_byteswap")
   (return-type "GVariant*")
 )
 
-(define-method get_type
-  (of-object "GVariant")
-  (c-name "g_variant_get_type")
-  (return-type "const-GVariantType*")
-)
-
-(define-method get_type_string
-  (of-object "GVariant")
-  (c-name "g_variant_get_type_string")
-  (return-type "const-gchar*")
-)
-
-(define-method is_of_type
+(define-method check_format_string
   (of-object "GVariant")
-  (c-name "g_variant_is_of_type")
+  (c-name "g_variant_check_format_string")
   (return-type "gboolean")
   (parameters
-    '("const-GVariantType*" "type")
+    '("const-gchar*" "format_string")
+    '("gboolean" "copy_only")
   )
 )
 
-(define-method is_container
-  (of-object "GVariant")
-  (c-name "g_variant_is_container")
-  (return-type "gboolean")
-)
-
 (define-method classify
   (of-object "GVariant")
   (c-name "g_variant_classify")
   (return-type "GVariantClass")
 )
 
-(define-function g_variant_new_boolean
-  (c-name "g_variant_new_boolean")
-  (return-type "GVariant*")
+(define-method compare
+  (of-object "GVariant")
+  (c-name "g_variant_compare")
+  (return-type "gint")
   (parameters
-    '("gboolean" "value")
+    '("gconstpointer" "two")
   )
 )
 
-(define-function g_variant_new_byte
-  (c-name "g_variant_new_byte")
-  (return-type "GVariant*")
+(define-method dup_bytestring
+  (of-object "GVariant")
+  (c-name "g_variant_dup_bytestring")
+  (return-type "const-gchar*")
   (parameters
-    '("guchar" "value")
+    '("gsize*" "length")
   )
 )
 
-(define-function g_variant_new_int16
-  (c-name "g_variant_new_int16")
-  (return-type "GVariant*")
+(define-method dup_bytestring_array
+  (of-object "GVariant")
+  (c-name "g_variant_dup_bytestring_array")
+  (return-type "const-gchar**")
   (parameters
-    '("gint16" "value")
+    '("gsize*" "length")
   )
 )
 
-(define-function g_variant_new_uint16
-  (c-name "g_variant_new_uint16")
-  (return-type "GVariant*")
+(define-method dup_objv
+  (of-object "GVariant")
+  (c-name "g_variant_dup_objv")
+  (return-type "const-gchar**")
   (parameters
-    '("guint16" "value")
+    '("gsize*" "length")
   )
 )
 
-(define-function g_variant_new_int32
-  (c-name "g_variant_new_int32")
-  (return-type "GVariant*")
+(define-method dup_string
+  (of-object "GVariant")
+  (c-name "g_variant_dup_string")
+  (return-type "gchar*")
   (parameters
-    '("gint32" "value")
+    '("gsize*" "length")
   )
 )
 
-(define-function g_variant_new_uint32
-  (c-name "g_variant_new_uint32")
-  (return-type "GVariant*")
+(define-method dup_strv
+  (of-object "GVariant")
+  (c-name "g_variant_dup_strv")
+  (return-type "const-gchar**")
   (parameters
-    '("guint32" "value")
+    '("gsize*" "length")
   )
 )
 
-(define-function g_variant_new_int64
-  (c-name "g_variant_new_int64")
-  (return-type "GVariant*")
+(define-method equal
+  (of-object "GVariant")
+  (c-name "g_variant_equal")
+  (return-type "gboolean")
   (parameters
-    '("gint64" "value")
+    '("gconstpointer" "two")
   )
 )
 
-(define-function g_variant_new_uint64
-  (c-name "g_variant_new_uint64")
-  (return-type "GVariant*")
+(define-method get
+  (of-object "GVariant")
+  (c-name "g_variant_get")
+  (return-type "none")
   (parameters
-    '("guint64" "value")
+    '("const-gchar*" "format_string")
   )
 )
 
-(define-function g_variant_new_handle
-  (c-name "g_variant_new_handle")
-  (return-type "GVariant*")
-  (parameters
-    '("gint32" "value")
-  )
+(define-method get_boolean
+  (of-object "GVariant")
+  (c-name "g_variant_get_boolean")
+  (return-type "gboolean")
 )
 
-(define-function g_variant_new_double
-  (c-name "g_variant_new_double")
-  (return-type "GVariant*")
-  (parameters
-    '("gdouble" "value")
-  )
+(define-method get_byte
+  (of-object "GVariant")
+  (c-name "g_variant_get_byte")
+  (return-type "guchar")
 )
 
-(define-function g_variant_new_string
-  (c-name "g_variant_new_string")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "string")
-  )
+(define-method get_bytestring
+  (of-object "GVariant")
+  (c-name "g_variant_get_bytestring")
+  (return-type "const-gchar*")
 )
 
-(define-function g_variant_new_take_string
-  (c-name "g_variant_new_take_string")
-  (return-type "GVariant*")
+(define-method get_bytestring_array
+  (of-object "GVariant")
+  (c-name "g_variant_get_bytestring_array")
+  (return-type "const-gchar**")
   (parameters
-    '("gchar*" "string")
+    '("gsize*" "length")
   )
 )
 
-(define-function g_variant_new_printf
-  (c-name "g_variant_new_printf")
-  (return-type "GVariant*")
+(define-method get_child
+  (of-object "GVariant")
+  (c-name "g_variant_get_child")
+  (return-type "none")
   (parameters
+    '("gsize" "index_")
     '("const-gchar*" "format_string")
   )
-  (varargs #t)
 )
 
-(define-function g_variant_new_object_path
-  (c-name "g_variant_new_object_path")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "object_path")
-  )
-)
-
-(define-function g_variant_is_object_path
-  (c-name "g_variant_is_object_path")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-(define-function g_variant_new_signature
-  (c-name "g_variant_new_signature")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "signature")
-  )
-)
-
-(define-function g_variant_is_signature
-  (c-name "g_variant_is_signature")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "string")
-  )
-)
-
-(define-method new_variant
+(define-method get_child_value
   (of-object "GVariant")
-  (c-name "g_variant_new_variant")
-  (return-type "GVariant*")
-)
-
-(define-function g_variant_new_strv
-  (c-name "g_variant_new_strv")
+  (c-name "g_variant_get_child_value")
   (return-type "GVariant*")
   (parameters
-    '("const-gchar*-const*" "strv")
-    '("gssize" "length")
+    '("gsize" "index_")
   )
 )
 
-(define-function g_variant_new_objv
-  (c-name "g_variant_new_objv")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*-const*" "strv")
-    '("gssize" "length")
-  )
+(define-method get_data
+  (of-object "GVariant")
+  (c-name "g_variant_get_data")
+  (return-type "gconstpointer")
 )
 
-(define-function g_variant_new_bytestring
-  (c-name "g_variant_new_bytestring")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "string")
-  )
+(define-method get_data_as_bytes
+  (of-object "GVariant")
+  (c-name "g_variant_get_data_as_bytes")
+  (return-type "GBytes*")
 )
 
-(define-function g_variant_new_bytestring_array
-  (c-name "g_variant_new_bytestring_array")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*-const*" "strv")
-    '("gssize" "length")
-  )
+(define-method get_double
+  (of-object "GVariant")
+  (c-name "g_variant_get_double")
+  (return-type "gdouble")
 )
 
-(define-function g_variant_new_fixed_array
-  (c-name "g_variant_new_fixed_array")
-  (return-type "GVariant*")
+(define-method get_fixed_array
+  (of-object "GVariant")
+  (c-name "g_variant_get_fixed_array")
+  (return-type "gconstpointer")
   (parameters
-    '("const-GVariantType*" "element_type")
-    '("gconstpointer" "elements")
-    '("gsize" "n_elements")
+    '("gsize*" "n_elements")
     '("gsize" "element_size")
   )
 )
 
-(define-method get_boolean
-  (of-object "GVariant")
-  (c-name "g_variant_get_boolean")
-  (return-type "gboolean")
-)
-
-(define-method get_byte
+(define-method get_handle
   (of-object "GVariant")
-  (c-name "g_variant_get_byte")
-  (return-type "guchar")
+  (c-name "g_variant_get_handle")
+  (return-type "gint32")
 )
 
 (define-method get_int16
@@ -13701,52 +5788,43 @@
   (return-type "gint16")
 )
 
-(define-method get_uint16
-  (of-object "GVariant")
-  (c-name "g_variant_get_uint16")
-  (return-type "guint16")
-)
-
 (define-method get_int32
   (of-object "GVariant")
   (c-name "g_variant_get_int32")
   (return-type "gint32")
 )
 
-(define-method get_uint32
-  (of-object "GVariant")
-  (c-name "g_variant_get_uint32")
-  (return-type "guint32")
-)
-
 (define-method get_int64
   (of-object "GVariant")
   (c-name "g_variant_get_int64")
   (return-type "gint64")
 )
 
-(define-method get_uint64
+(define-method get_maybe
   (of-object "GVariant")
-  (c-name "g_variant_get_uint64")
-  (return-type "guint64")
+  (c-name "g_variant_get_maybe")
+  (return-type "GVariant*")
 )
 
-(define-method get_handle
+(define-method get_normal_form
   (of-object "GVariant")
-  (c-name "g_variant_get_handle")
-  (return-type "gint32")
+  (c-name "g_variant_get_normal_form")
+  (return-type "GVariant*")
 )
 
-(define-method get_double
+(define-method get_objv
   (of-object "GVariant")
-  (c-name "g_variant_get_double")
-  (return-type "gdouble")
+  (c-name "g_variant_get_objv")
+  (return-type "const-gchar**")
+  (parameters
+    '("gsize*" "length")
+  )
 )
 
-(define-method get_variant
+(define-method get_size
   (of-object "GVariant")
-  (c-name "g_variant_get_variant")
-  (return-type "GVariant*")
+  (c-name "g_variant_get_size")
+  (return-type "gsize")
 )
 
 (define-method get_string
@@ -13758,15 +5836,6 @@
   )
 )
 
-(define-method dup_string
-  (of-object "GVariant")
-  (c-name "g_variant_dup_string")
-  (return-type "gchar*")
-  (parameters
-    '("gsize*" "length")
-  )
-)
-
 (define-method get_strv
   (of-object "GVariant")
   (c-name "g_variant_get_strv")
@@ -13776,133 +5845,90 @@
   )
 )
 
-(define-method dup_strv
+(define-method get_type
   (of-object "GVariant")
-  (c-name "g_variant_dup_strv")
-  (return-type "gchar**")
-  (parameters
-    '("gsize*" "length")
-  )
+  (c-name "g_variant_get_type")
+  (return-type "const-GVariantType*")
 )
 
-(define-method get_objv
+(define-method get_type_string
   (of-object "GVariant")
-  (c-name "g_variant_get_objv")
-  (return-type "const-gchar**")
-  (parameters
-    '("gsize*" "length")
-  )
+  (c-name "g_variant_get_type_string")
+  (return-type "const-gchar*")
 )
 
-(define-method dup_objv
+(define-method get_uint16
   (of-object "GVariant")
-  (c-name "g_variant_dup_objv")
-  (return-type "gchar**")
-  (parameters
-    '("gsize*" "length")
-  )
+  (c-name "g_variant_get_uint16")
+  (return-type "guint16")
 )
 
-(define-method get_bytestring
+(define-method get_uint32
   (of-object "GVariant")
-  (c-name "g_variant_get_bytestring")
-  (return-type "const-gchar*")
+  (c-name "g_variant_get_uint32")
+  (return-type "guint32")
 )
 
-(define-method dup_bytestring
+(define-method get_uint64
   (of-object "GVariant")
-  (c-name "g_variant_dup_bytestring")
-  (return-type "gchar*")
-  (parameters
-    '("gsize*" "length")
-  )
+  (c-name "g_variant_get_uint64")
+  (return-type "guint64")
 )
 
-(define-method get_bytestring_array
+(define-method get_va
   (of-object "GVariant")
-  (c-name "g_variant_get_bytestring_array")
-  (return-type "const-gchar**")
+  (c-name "g_variant_get_va")
+  (return-type "none")
   (parameters
-    '("gsize*" "length")
+    '("const-gchar*" "format_string")
+    '("const-gchar**" "endptr")
+    '("va_list*" "app")
   )
 )
 
-(define-method dup_bytestring_array
+(define-method get_variant
   (of-object "GVariant")
-  (c-name "g_variant_dup_bytestring_array")
-  (return-type "gchar**")
-  (parameters
-    '("gsize*" "length")
-  )
-)
-
-(define-function g_variant_new_maybe
-  (c-name "g_variant_new_maybe")
+  (c-name "g_variant_get_variant")
   (return-type "GVariant*")
-  (parameters
-    '("const-GVariantType*" "child_type")
-    '("GVariant*" "child")
-  )
 )
 
-(define-function g_variant_new_array
-  (c-name "g_variant_new_array")
-  (return-type "GVariant*")
-  (parameters
-    '("const-GVariantType*" "child_type")
-    '("GVariant*-const*" "children")
-    '("gsize" "n_children")
-  )
-)
-
-(define-function g_variant_new_tuple
-  (c-name "g_variant_new_tuple")
-  (return-type "GVariant*")
-  (parameters
-    '("GVariant*-const*" "children")
-    '("gsize" "n_children")
-  )
+(define-method hash
+  (of-object "GVariant")
+  (c-name "g_variant_hash")
+  (return-type "guint")
 )
 
-(define-method new_dict_entry
+(define-method is_container
   (of-object "GVariant")
-  (c-name "g_variant_new_dict_entry")
-  (return-type "GVariant*")
-  (parameters
-    '("GVariant*" "value")
-  )
+  (c-name "g_variant_is_container")
+  (return-type "gboolean")
 )
 
-(define-method get_maybe
+(define-method is_floating
   (of-object "GVariant")
-  (c-name "g_variant_get_maybe")
-  (return-type "GVariant*")
+  (c-name "g_variant_is_floating")
+  (return-type "gboolean")
 )
 
-(define-method n_children
+(define-method is_normal_form
   (of-object "GVariant")
-  (c-name "g_variant_n_children")
-  (return-type "gsize")
+  (c-name "g_variant_is_normal_form")
+  (return-type "gboolean")
 )
 
-(define-method get_child
+(define-method is_of_type
   (of-object "GVariant")
-  (c-name "g_variant_get_child")
-  (return-type "none")
+  (c-name "g_variant_is_of_type")
+  (return-type "gboolean")
   (parameters
-    '("gsize" "index_")
-    '("const-gchar*" "format_string")
+    '("const-GVariantType*" "type")
   )
-  (varargs #t)
 )
 
-(define-method get_child_value
+(define-method iter_new
   (of-object "GVariant")
-  (c-name "g_variant_get_child_value")
-  (return-type "GVariant*")
-  (parameters
-    '("gsize" "index_")
-  )
+  (c-name "g_variant_iter_new")
+  (return-type "GVariantIter*")
 )
 
 (define-method lookup
@@ -13913,7 +5939,6 @@
     '("const-gchar*" "key")
     '("const-gchar*" "format_string")
   )
-  (varargs #t)
 )
 
 (define-method lookup_value
@@ -13926,43 +5951,12 @@
   )
 )
 
-(define-method get_fixed_array
-  (of-object "GVariant")
-  (c-name "g_variant_get_fixed_array")
-  (return-type "gconstpointer")
-  (parameters
-    '("gsize*" "n_elements")
-    '("gsize" "element_size")
-  )
-)
-
-(define-method get_size
+(define-method n_children
   (of-object "GVariant")
-  (c-name "g_variant_get_size")
+  (c-name "g_variant_n_children")
   (return-type "gsize")
 )
 
-(define-method get_data
-  (of-object "GVariant")
-  (c-name "g_variant_get_data")
-  (return-type "gconstpointer")
-)
-
-(define-method get_data_as_bytes
-  (of-object "GVariant")
-  (c-name "g_variant_get_data_as_bytes")
-  (return-type "GBytes*")
-)
-
-(define-method store
-  (of-object "GVariant")
-  (c-name "g_variant_store")
-  (return-type "none")
-  (parameters
-    '("gpointer" "data")
-  )
-)
-
 (define-method print
   (of-object "GVariant")
   (c-name "g_variant_print")
@@ -13982,190 +5976,65 @@
   )
 )
 
-(define-function g_variant_hash
-  (c-name "g_variant_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "value")
-  )
-)
-
-(define-function g_variant_equal
-  (c-name "g_variant_equal")
-  (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "one")
-    '("gconstpointer" "two")
-  )
-)
-
-(define-method get_normal_form
+(define-method ref
   (of-object "GVariant")
-  (c-name "g_variant_get_normal_form")
+  (c-name "g_variant_ref")
   (return-type "GVariant*")
 )
 
-(define-method is_normal_form
-  (of-object "GVariant")
-  (c-name "g_variant_is_normal_form")
-  (return-type "gboolean")
-)
-
-(define-method byteswap
+(define-method ref_sink
   (of-object "GVariant")
-  (c-name "g_variant_byteswap")
+  (c-name "g_variant_ref_sink")
   (return-type "GVariant*")
 )
 
-(define-function g_variant_new_from_bytes
-  (c-name "g_variant_new_from_bytes")
-  (return-type "GVariant*")
+(define-method store
+  (of-object "GVariant")
+  (c-name "g_variant_store")
+  (return-type "none")
   (parameters
-    '("const-GVariantType*" "type")
-    '("GBytes*" "bytes")
-    '("gboolean" "trusted")
+    '("gpointer" "data")
   )
 )
 
-(define-function g_variant_new_from_data
-  (c-name "g_variant_new_from_data")
+(define-method take_ref
+  (of-object "GVariant")
+  (c-name "g_variant_take_ref")
   (return-type "GVariant*")
-  (parameters
-    '("const-GVariantType*" "type")
-    '("gconstpointer" "data")
-    '("gsize" "size")
-    '("gboolean" "trusted")
-    '("GDestroyNotify" "notify")
-    '("gpointer" "user_data")
-  )
 )
 
-(define-method iter_new
+(define-method unref
   (of-object "GVariant")
-  (c-name "g_variant_iter_new")
-  (return-type "GVariantIter*")
-)
-
-(define-method init
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_init")
-  (return-type "gsize")
-  (parameters
-    '("GVariant*" "value")
-  )
-)
-
-(define-method copy
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_copy")
-  (return-type "GVariantIter*")
-)
-
-(define-method n_children
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_n_children")
-  (return-type "gsize")
-)
-
-(define-method free
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_free")
+  (c-name "g_variant_unref")
   (return-type "none")
 )
 
-(define-method next_value
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_next_value")
-  (return-type "GVariant*")
-)
-
-(define-method next
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_next")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "format_string")
-  )
-  (varargs #t)
-)
-
-(define-method loop
-  (of-object "GVariantIter")
-  (c-name "g_variant_iter_loop")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "format_string")
-  )
-  (varargs #t)
-)
-
-(define-function g_variant_parser_get_error_quark
-  (c-name "g_variant_parser_get_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_variant_parse_error_quark
-  (c-name "g_variant_parse_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function g_variant_builder_new
+(define-function new
   (c-name "g_variant_builder_new")
-  (is-constructor-of "GVariantBuilder")
   (return-type "GVariantBuilder*")
   (parameters
     '("const-GVariantType*" "type")
   )
 )
 
-(define-method unref
-  (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_unref")
-  (return-type "none")
-)
-
-(define-method ref
-  (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_ref")
-  (return-type "GVariantBuilder*")
-)
-
-(define-method init
+(define-method add
   (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_init")
+  (c-name "g_variant_builder_add")
   (return-type "none")
   (parameters
-    '("const-GVariantType*" "type")
+    '("const-gchar*" "format_string")
   )
 )
 
-(define-method end
-  (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_end")
-  (return-type "GVariant*")
-)
-
-(define-method clear
-  (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_clear")
-  (return-type "none")
-)
-
-(define-method open
+(define-method add_parsed
   (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_open")
+  (c-name "g_variant_builder_add_parsed")
   (return-type "none")
   (parameters
-    '("const-GVariantType*" "type")
+    '("const-gchar*" "format")
   )
 )
 
-(define-method close
-  (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_close")
-  (return-type "none")
-)
-
 (define-method add_value
   (of-object "GVariantBuilder")
   (c-name "g_variant_builder_add_value")
@@ -14175,167 +6044,89 @@
   )
 )
 
-(define-method add
+(define-method clear
   (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_add")
+  (c-name "g_variant_builder_clear")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "format_string")
-  )
-  (varargs #t)
 )
 
-(define-method add_parsed
+(define-method close
   (of-object "GVariantBuilder")
-  (c-name "g_variant_builder_add_parsed")
+  (c-name "g_variant_builder_close")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "format")
-  )
-  (varargs #t)
 )
 
-(define-function g_variant_new
-  (c-name "g_variant_new")
-  (is-constructor-of "GVariant")
+(define-method end
+  (of-object "GVariantBuilder")
+  (c-name "g_variant_builder_end")
   (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "format_string")
-  )
-  (varargs #t)
 )
 
-(define-method get
-  (of-object "GVariant")
-  (c-name "g_variant_get")
+(define-method init
+  (of-object "GVariantBuilder")
+  (c-name "g_variant_builder_init")
   (return-type "none")
   (parameters
-    '("const-gchar*" "format_string")
-  )
-  (varargs #t)
-)
-
-(define-function g_variant_new_va
-  (c-name "g_variant_new_va")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "format_string")
-    '("const-gchar**" "endptr")
-    '("va_list*" "app")
+    '("const-GVariantType*" "type")
   )
 )
 
-(define-method get_va
-  (of-object "GVariant")
-  (c-name "g_variant_get_va")
+(define-method open
+  (of-object "GVariantBuilder")
+  (c-name "g_variant_builder_open")
   (return-type "none")
   (parameters
-    '("const-gchar*" "format_string")
-    '("const-gchar**" "endptr")
-    '("va_list*" "app")
-  )
-)
-
-(define-method check_format_string
-  (of-object "GVariant")
-  (c-name "g_variant_check_format_string")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "format_string")
-    '("gboolean" "copy_only")
-  )
-)
-
-(define-function g_variant_parse
-  (c-name "g_variant_parse")
-  (return-type "GVariant*")
-  (parameters
     '("const-GVariantType*" "type")
-    '("const-gchar*" "text")
-    '("const-gchar*" "limit")
-    '("const-gchar**" "endptr")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_variant_new_parsed
-  (c-name "g_variant_new_parsed")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "format")
   )
-  (varargs #t)
 )
 
-(define-function g_variant_new_parsed_va
-  (c-name "g_variant_new_parsed_va")
-  (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "format")
-    '("va_list*" "app")
-  )
-)
-
-(define-function g_variant_parse_error_print_context
-  (c-name "g_variant_parse_error_print_context")
-  (return-type "gchar*")
-  (parameters
-    '("GError*" "error")
-    '("const-gchar*" "source_str")
-  )
+(define-method ref
+  (of-object "GVariantBuilder")
+  (c-name "g_variant_builder_ref")
+  (return-type "GVariantBuilder*")
 )
 
-(define-function g_variant_compare
-  (c-name "g_variant_compare")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "one")
-    '("gconstpointer" "two")
-  )
+(define-method unref
+  (of-object "GVariantBuilder")
+  (c-name "g_variant_builder_unref")
+  (return-type "none")
 )
 
-(define-method dict_new
-  (of-object "GVariant")
+(define-function new
   (c-name "g_variant_dict_new")
   (return-type "GVariantDict*")
+  (parameters
+    '("GVariant*" "from_asv")
+  )
 )
 
-(define-method init
+(define-method clear
   (of-object "GVariantDict")
-  (c-name "g_variant_dict_init")
+  (c-name "g_variant_dict_clear")
   (return-type "none")
-  (parameters
-    '("GVariant*" "from_asv")
-  )
 )
 
-(define-method lookup
+(define-method contains
   (of-object "GVariantDict")
-  (c-name "g_variant_dict_lookup")
+  (c-name "g_variant_dict_contains")
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "key")
-    '("const-gchar*" "format_string")
   )
-  (varargs #t)
 )
 
-(define-method lookup_value
+(define-method end
   (of-object "GVariantDict")
-  (c-name "g_variant_dict_lookup_value")
+  (c-name "g_variant_dict_end")
   (return-type "GVariant*")
-  (parameters
-    '("const-gchar*" "key")
-    '("const-GVariantType*" "expected_type")
-  )
 )
 
-(define-method contains
+(define-method init
   (of-object "GVariantDict")
-  (c-name "g_variant_dict_contains")
-  (return-type "gboolean")
+  (c-name "g_variant_dict_init")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "key")
+    '("GVariant*" "from_asv")
   )
 )
 
@@ -14347,7 +6138,6 @@
     '("const-gchar*" "key")
     '("const-gchar*" "format_string")
   )
-  (varargs #t)
 )
 
 (define-method insert_value
@@ -14360,25 +6150,24 @@
   )
 )
 
-(define-method remove
+(define-method lookup
   (of-object "GVariantDict")
-  (c-name "g_variant_dict_remove")
+  (c-name "g_variant_dict_lookup")
   (return-type "gboolean")
   (parameters
     '("const-gchar*" "key")
+    '("const-gchar*" "format_string")
   )
 )
 
-(define-method clear
-  (of-object "GVariantDict")
-  (c-name "g_variant_dict_clear")
-  (return-type "none")
-)
-
-(define-method end
+(define-method lookup_value
   (of-object "GVariantDict")
-  (c-name "g_variant_dict_end")
+  (c-name "g_variant_dict_lookup_value")
   (return-type "GVariant*")
+  (parameters
+    '("const-gchar*" "key")
+    '("const-GVariantType*" "expected_type")
+  )
 )
 
 (define-method ref
@@ -14387,186 +6176,168 @@
   (return-type "GVariantDict*")
 )
 
+(define-method remove
+  (of-object "GVariantDict")
+  (c-name "g_variant_dict_remove")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "key")
+  )
+)
+
 (define-method unref
   (of-object "GVariantDict")
   (c-name "g_variant_dict_unref")
   (return-type "none")
 )
 
+(define-method copy
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_copy")
+  (return-type "GVariantIter*")
+)
 
+(define-method free
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_free")
+  (return-type "none")
+)
 
-;; From gvariant-internal.h
-
-(define-function g_variant_format_string_scan
-  (c-name "g_variant_format_string_scan")
-  (return-type "gboolean")
+(define-method init
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_init")
+  (return-type "gsize")
   (parameters
-    '("const-gchar*" "string")
-    '("const-gchar*" "limit")
-    '("const-gchar**" "endptr")
+    '("GVariant*" "value")
   )
 )
 
-(define-function g_variant_format_string_scan_type
-  (c-name "g_variant_format_string_scan_type")
-  (return-type "GVariantType*")
+(define-method loop
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_loop")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "string")
-    '("const-gchar*" "limit")
-    '("const-gchar**" "endptr")
+    '("const-gchar*" "format_string")
   )
 )
 
-
-
-;; From gvariant-serialiser.h
-
 (define-method n_children
-  (of-object "GVariantSerialised")
-  (c-name "g_variant_serialised_n_children")
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_n_children")
   (return-type "gsize")
 )
 
-(define-method get_child
-  (of-object "GVariantSerialised")
-  (c-name "g_variant_serialised_get_child")
-  (return-type "GVariantSerialised")
+(define-method next
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_next")
+  (return-type "gboolean")
   (parameters
-    '("gsize" "index")
+    '("const-gchar*" "format_string")
   )
 )
 
-(define-function g_variant_serialiser_needed_size
-  (c-name "g_variant_serialiser_needed_size")
-  (return-type "gsize")
-  (parameters
-    '("GVariantTypeInfo*" "info")
-    '("GVariantSerialisedFiller" "gsv_filler")
-    '("const-gpointer*" "children")
-    '("gsize" "n_children")
-  )
+(define-method next_value
+  (of-object "GVariantIter")
+  (c-name "g_variant_iter_next_value")
+  (return-type "GVariant*")
 )
 
-(define-function g_variant_serialiser_serialise
-  (c-name "g_variant_serialiser_serialise")
-  (return-type "none")
+(define-function new
+  (c-name "g_variant_type_new")
+  (return-type "GVariantType*")
   (parameters
-    '("GVariantSerialised" "container")
-    '("GVariantSerialisedFiller" "gsv_filler")
-    '("const-gpointer*" "children")
-    '("gsize" "n_children")
+    '("const-gchar*" "type_string")
   )
 )
 
-(define-method is_normal
-  (of-object "GVariantSerialised")
-  (c-name "g_variant_serialised_is_normal")
-  (return-type "gboolean")
-)
-
-(define-method byteswap
-  (of-object "GVariantSerialised")
-  (c-name "g_variant_serialised_byteswap")
-  (return-type "none")
-)
-
-(define-function g_variant_serialiser_is_string
-  (c-name "g_variant_serialiser_is_string")
-  (return-type "gboolean")
+(define-function new_array
+  (c-name "g_variant_type_new_array")
+  (return-type "GVariantType*")
   (parameters
-    '("gconstpointer" "data")
-    '("gsize" "size")
+    '("const-GVariantType*" "element")
   )
 )
 
-(define-function g_variant_serialiser_is_object_path
-  (c-name "g_variant_serialiser_is_object_path")
-  (return-type "gboolean")
+(define-function new_dict_entry
+  (c-name "g_variant_type_new_dict_entry")
+  (return-type "GVariantType*")
   (parameters
-    '("gconstpointer" "data")
-    '("gsize" "size")
+    '("const-GVariantType*" "key")
+    '("const-GVariantType*" "value")
   )
 )
 
-(define-function g_variant_serialiser_is_signature
-  (c-name "g_variant_serialiser_is_signature")
-  (return-type "gboolean")
+(define-function new_maybe
+  (c-name "g_variant_type_new_maybe")
+  (return-type "GVariantType*")
   (parameters
-    '("gconstpointer" "data")
-    '("gsize" "size")
+    '("const-GVariantType*" "element")
   )
 )
 
-
-
-;; From gvarianttype.h
-
-(define-function g_variant_type_string_is_valid
-  (c-name "g_variant_type_string_is_valid")
-  (return-type "gboolean")
+(define-function new_tuple
+  (c-name "g_variant_type_new_tuple")
+  (return-type "GVariantType*")
   (parameters
-    '("const-gchar*" "type_string")
+    '("const-GVariantType**" "items")
+    '("gint" "length")
   )
 )
 
-(define-function g_variant_type_string_scan
-  (c-name "g_variant_type_string_scan")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "string")
-    '("const-gchar*" "limit")
-    '("const-gchar**" "endptr")
-  )
+(define-method copy
+  (of-object "GVariantType")
+  (c-name "g_variant_type_copy")
+  (return-type "GVariantType*")
 )
 
-(define-method free
+(define-method dup_string
   (of-object "GVariantType")
-  (c-name "g_variant_type_free")
-  (return-type "none")
+  (c-name "g_variant_type_dup_string")
+  (return-type "gchar*")
 )
 
-(define-method copy
+(define-method element
   (of-object "GVariantType")
-  (c-name "g_variant_type_copy")
-  (return-type "GVariantType*")
+  (c-name "g_variant_type_element")
+  (return-type "const-GVariantType*")
 )
 
-(define-function g_variant_type_new
-  (c-name "g_variant_type_new")
-  (is-constructor-of "GVariantType")
-  (return-type "GVariantType*")
+(define-method equal
+  (of-object "GVariantType")
+  (c-name "g_variant_type_equal")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "type_string")
+    '("gconstpointer" "type2")
   )
 )
 
-(define-method get_string_length
+(define-method first
   (of-object "GVariantType")
-  (c-name "g_variant_type_get_string_length")
-  (return-type "gsize")
+  (c-name "g_variant_type_first")
+  (return-type "const-GVariantType*")
 )
 
-(define-method peek_string
+(define-method free
   (of-object "GVariantType")
-  (c-name "g_variant_type_peek_string")
-  (return-type "const-gchar*")
+  (c-name "g_variant_type_free")
+  (return-type "none")
 )
 
-(define-method dup_string
+(define-method get_string_length
   (of-object "GVariantType")
-  (c-name "g_variant_type_dup_string")
-  (return-type "gchar*")
+  (c-name "g_variant_type_get_string_length")
+  (return-type "gsize")
 )
 
-(define-method is_definite
+(define-method hash
   (of-object "GVariantType")
-  (c-name "g_variant_type_is_definite")
-  (return-type "gboolean")
+  (c-name "g_variant_type_hash")
+  (return-type "guint")
 )
 
-(define-method is_container
+(define-method is_array
   (of-object "GVariantType")
-  (c-name "g_variant_type_is_container")
+  (c-name "g_variant_type_is_array")
   (return-type "gboolean")
 )
 
@@ -14576,21 +6347,15 @@
   (return-type "gboolean")
 )
 
-(define-method is_maybe
-  (of-object "GVariantType")
-  (c-name "g_variant_type_is_maybe")
-  (return-type "gboolean")
-)
-
-(define-method is_array
+(define-method is_container
   (of-object "GVariantType")
-  (c-name "g_variant_type_is_array")
+  (c-name "g_variant_type_is_container")
   (return-type "gboolean")
 )
 
-(define-method is_tuple
+(define-method is_definite
   (of-object "GVariantType")
-  (c-name "g_variant_type_is_tuple")
+  (c-name "g_variant_type_is_definite")
   (return-type "gboolean")
 )
 
@@ -14600,27 +6365,10 @@
   (return-type "gboolean")
 )
 
-(define-method is_variant
+(define-method is_maybe
   (of-object "GVariantType")
-  (c-name "g_variant_type_is_variant")
-  (return-type "gboolean")
-)
-
-(define-function g_variant_type_hash
-  (c-name "g_variant_type_hash")
-  (return-type "guint")
-  (parameters
-    '("gconstpointer" "type")
-  )
-)
-
-(define-function g_variant_type_equal
-  (c-name "g_variant_type_equal")
+  (c-name "g_variant_type_is_maybe")
   (return-type "gboolean")
-  (parameters
-    '("gconstpointer" "type1")
-    '("gconstpointer" "type2")
-  )
 )
 
 (define-method is_subtype_of
@@ -14632,21 +6380,21 @@
   )
 )
 
-(define-method element
+(define-method is_tuple
   (of-object "GVariantType")
-  (c-name "g_variant_type_element")
-  (return-type "const-GVariantType*")
+  (c-name "g_variant_type_is_tuple")
+  (return-type "gboolean")
 )
 
-(define-method first
+(define-method is_variant
   (of-object "GVariantType")
-  (c-name "g_variant_type_first")
-  (return-type "const-GVariantType*")
+  (c-name "g_variant_type_is_variant")
+  (return-type "gboolean")
 )
 
-(define-method next
+(define-method key
   (of-object "GVariantType")
-  (c-name "g_variant_type_next")
+  (c-name "g_variant_type_key")
   (return-type "const-GVariantType*")
 )
 
@@ -14656,917 +6404,21 @@
   (return-type "gsize")
 )
 
-(define-method key
-  (of-object "GVariantType")
-  (c-name "g_variant_type_key")
-  (return-type "const-GVariantType*")
-)
-
-(define-method value
+(define-method next
   (of-object "GVariantType")
-  (c-name "g_variant_type_value")
+  (c-name "g_variant_type_next")
   (return-type "const-GVariantType*")
 )
 
-(define-method new_array
-  (of-object "GVariantType")
-  (c-name "g_variant_type_new_array")
-  (return-type "GVariantType*")
-)
-
-(define-method new_maybe
-  (of-object "GVariantType")
-  (c-name "g_variant_type_new_maybe")
-  (return-type "GVariantType*")
-)
-
-(define-function g_variant_type_new_tuple
-  (c-name "g_variant_type_new_tuple")
-  (return-type "GVariantType*")
-  (parameters
-    '("const-GVariantType*-const*" "items")
-    '("gint" "length")
-  )
-)
-
-(define-method new_dict_entry
+(define-method peek_string
   (of-object "GVariantType")
-  (c-name "g_variant_type_new_dict_entry")
-  (return-type "GVariantType*")
-  (parameters
-    '("const-GVariantType*" "value")
-  )
-)
-
-(define-function g_variant_type_checked_
-  (c-name "g_variant_type_checked_")
-  (return-type "const-GVariantType*")
-  (parameters
-    '("const-gchar" "*")
-  )
-)
-
-
-
-;; From gvarianttypeinfo.h
-
-(define-method get_type_string
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_get_type_string")
+  (c-name "g_variant_type_peek_string")
   (return-type "const-gchar*")
 )
 
-(define-method query
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_query")
-  (return-type "none")
-  (parameters
-    '("guint*" "alignment")
-    '("gsize*" "size")
-  )
-)
-
-(define-method element
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_element")
-  (return-type "GVariantTypeInfo*")
-)
-
-(define-method query_element
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_query_element")
-  (return-type "none")
-  (parameters
-    '("guint*" "alignment")
-    '("gsize*" "size")
-  )
-)
-
-(define-method n_members
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_n_members")
-  (return-type "gsize")
-)
-
-(define-method member_info
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_member_info")
-  (return-type "const-GVariantMemberInfo*")
-  (parameters
-    '("gsize" "index")
-  )
-)
-
-(define-method info_get
+(define-method value
   (of-object "GVariantType")
-  (c-name "g_variant_type_info_get")
-  (return-type "GVariantTypeInfo*")
-)
-
-(define-method ref
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_ref")
-  (return-type "GVariantTypeInfo*")
-)
-
-(define-method unref
-  (of-object "GVariantTypeInfo")
-  (c-name "g_variant_type_info_unref")
-  (return-type "none")
-)
-
-(define-function g_variant_type_info_assert_no_infos
-  (c-name "g_variant_type_info_assert_no_infos")
-  (return-type "none")
-)
-
-
-
-;; From gversion.h
-
-(define-function glib_check_version
-  (c-name "glib_check_version")
-  (return-type "const-gchar*")
-  (parameters
-    '("guint" "required_major")
-    '("guint" "required_minor")
-    '("guint" "required_micro")
-  )
-)
-
-
-
-;; From gversionmacros.h
-
-
-
-;; From gwakeup.h
-
-(define-function g_wakeup_new
-  (c-name "g_wakeup_new")
-  (is-constructor-of "GWakeup")
-  (return-type "GWakeup*")
-)
-
-(define-method free
-  (of-object "GWakeup")
-  (c-name "g_wakeup_free")
-  (return-type "none")
-)
-
-(define-method get_pollfd
-  (of-object "GWakeup")
-  (c-name "g_wakeup_get_pollfd")
-  (return-type "none")
-  (parameters
-    '("GPollFD*" "poll_fd")
-  )
-)
-
-(define-method signal
-  (of-object "GWakeup")
-  (c-name "g_wakeup_signal")
-  (return-type "none")
-)
-
-(define-method acknowledge
-  (of-object "GWakeup")
-  (c-name "g_wakeup_acknowledge")
-  (return-type "none")
-)
-
-
-
-;; From gwin32.h
-
-(define-function g_win32_ftruncate
-  (c-name "g_win32_ftruncate")
-  (return-type "gint")
-  (parameters
-    '("gint" "f")
-    '("guint" "size")
-  )
-)
-
-(define-function g_win32_getlocale
-  (c-name "g_win32_getlocale")
-  (return-type "gchar*")
-)
-
-(define-function g_win32_error_message
-  (c-name "g_win32_error_message")
-  (return-type "gchar*")
-  (parameters
-    '("gint" "error")
-  )
-)
-
-(define-function g_win32_get_package_installation_directory
-  (c-name "g_win32_get_package_installation_directory")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "package")
-    '("const-gchar*" "dll_name")
-  )
-)
-
-(define-function g_win32_get_package_installation_subdirectory
-  (c-name "g_win32_get_package_installation_subdirectory")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "package")
-    '("const-gchar*" "dll_name")
-    '("const-gchar*" "subdir")
-  )
-)
-
-(define-function g_win32_get_package_installation_directory_of_module
-  (c-name "g_win32_get_package_installation_directory_of_module")
-  (return-type "gchar*")
-  (parameters
-    '("gpointer" "hmodule")
-  )
-)
-
-(define-function g_win32_get_windows_version
-  (c-name "g_win32_get_windows_version")
-  (return-type "guint")
-)
-
-(define-function g_win32_locale_filename_from_utf8
-  (c-name "g_win32_locale_filename_from_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "utf8filename")
-  )
-)
-
-(define-function g_win32_get_command_line
-  (c-name "g_win32_get_command_line")
-  (return-type "gchar**")
-)
-
-(define-function g_win32_get_package_installation_subdirectory_utf8
-  (c-name "g_win32_get_package_installation_subdirectory_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "package")
-    '("const-gchar*" "dll_name")
-    '("const-gchar*" "subdir")
-  )
-)
-
-
-
-;; From valgrind.h
-
-(define-function VALGRIND_PRINTF
-  (c-name "VALGRIND_PRINTF")
-  (return-type "int")
-  (parameters
-    '("const-char*" "format")
-  )
-  (varargs #t)
-)
-
-(define-function VALGRIND_PRINTF_BACKTRACE
-  (c-name "VALGRIND_PRINTF_BACKTRACE")
-  (return-type "int")
-  (parameters
-    '("const-char*" "format")
-  )
-  (varargs #t)
-)
-
-
-
-;; From gallocator.h
-
-(define-function g_mem_chunk_new
-  (c-name "g_mem_chunk_new")
-  (is-constructor-of "GMemChunk")
-  (return-type "GMemChunk*")
-  (parameters
-    '("const-gchar*" "name")
-    '("gint" "atom_size")
-    '("gsize" "area_size")
-    '("gint" "type")
-  )
-)
-
-(define-method destroy
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_destroy")
-  (return-type "none")
-)
-
-(define-method alloc
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_alloc")
-  (return-type "gpointer")
-)
-
-(define-method alloc0
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_alloc0")
-  (return-type "gpointer")
-)
-
-(define-method free
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_free")
-  (return-type "none")
-  (parameters
-    '("gpointer" "mem")
-  )
-)
-
-(define-method clean
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_clean")
-  (return-type "none")
-)
-
-(define-method reset
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_reset")
-  (return-type "none")
-)
-
-(define-method print
-  (of-object "GMemChunk")
-  (c-name "g_mem_chunk_print")
-  (return-type "none")
-)
-
-(define-function g_mem_chunk_info
-  (c-name "g_mem_chunk_info")
-  (return-type "none")
-)
-
-(define-function g_blow_chunks
-  (c-name "g_blow_chunks")
-  (return-type "none")
-)
-
-(define-function g_allocator_new
-  (c-name "g_allocator_new")
-  (is-constructor-of "GAllocator")
-  (return-type "GAllocator*")
-  (parameters
-    '("const-gchar*" "name")
-    '("guint" "n_preallocs")
-  )
-)
-
-(define-method free
-  (of-object "GAllocator")
-  (c-name "g_allocator_free")
-  (return-type "none")
-)
-
-(define-function g_list_push_allocator
-  (c-name "g_list_push_allocator")
-  (return-type "none")
-  (parameters
-    '("GAllocator*" "allocator")
-  )
-)
-
-(define-function g_list_pop_allocator
-  (c-name "g_list_pop_allocator")
-  (return-type "none")
-)
-
-(define-function g_slist_push_allocator
-  (c-name "g_slist_push_allocator")
-  (return-type "none")
-  (parameters
-    '("GAllocator*" "allocator")
-  )
-)
-
-(define-function g_slist_pop_allocator
-  (c-name "g_slist_pop_allocator")
-  (return-type "none")
-)
-
-(define-function g_node_push_allocator
-  (c-name "g_node_push_allocator")
-  (return-type "none")
-  (parameters
-    '("GAllocator*" "allocator")
-  )
-)
-
-(define-function g_node_pop_allocator
-  (c-name "g_node_pop_allocator")
-  (return-type "none")
-)
-
-
-
-;; From gcache.h
-
-(define-function g_cache_new
-  (c-name "g_cache_new")
-  (is-constructor-of "GCache")
-  (return-type "GCache*")
-  (parameters
-    '("GCacheNewFunc" "value_new_func")
-    '("GCacheDestroyFunc" "value_destroy_func")
-    '("GCacheDupFunc" "key_dup_func")
-    '("GCacheDestroyFunc" "key_destroy_func")
-    '("GHashFunc" "hash_key_func")
-    '("GHashFunc" "hash_value_func")
-    '("GEqualFunc" "key_equal_func")
-  )
-)
-
-(define-method destroy
-  (of-object "GCache")
-  (c-name "g_cache_destroy")
-  (return-type "none")
-)
-
-(define-method insert
-  (of-object "GCache")
-  (c-name "g_cache_insert")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "key")
-  )
-)
-
-(define-method remove
-  (of-object "GCache")
-  (c-name "g_cache_remove")
-  (return-type "none")
-  (parameters
-    '("gconstpointer" "value")
-  )
-)
-
-(define-method key_foreach
-  (of-object "GCache")
-  (c-name "g_cache_key_foreach")
-  (return-type "none")
-  (parameters
-    '("GHFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method value_foreach
-  (of-object "GCache")
-  (c-name "g_cache_value_foreach")
-  (return-type "none")
-  (parameters
-    '("GHFunc" "func")
-    '("gpointer" "user_data")
-  )
-)
-
-
-
-;; From gcompletion.h
-
-(define-function g_completion_new
-  (c-name "g_completion_new")
-  (is-constructor-of "GCompletion")
-  (return-type "GCompletion*")
-  (parameters
-    '("GCompletionFunc" "func")
-  )
-)
-
-(define-method add_items
-  (of-object "GCompletion")
-  (c-name "g_completion_add_items")
-  (return-type "none")
-  (parameters
-    '("GList*" "items")
-  )
-)
-
-(define-method remove_items
-  (of-object "GCompletion")
-  (c-name "g_completion_remove_items")
-  (return-type "none")
-  (parameters
-    '("GList*" "items")
-  )
-)
-
-(define-method clear_items
-  (of-object "GCompletion")
-  (c-name "g_completion_clear_items")
-  (return-type "none")
-)
-
-(define-method complete
-  (of-object "GCompletion")
-  (c-name "g_completion_complete")
-  (return-type "GList*")
-  (parameters
-    '("const-gchar*" "prefix")
-    '("gchar**" "new_prefix")
-  )
-)
-
-(define-method complete_utf8
-  (of-object "GCompletion")
-  (c-name "g_completion_complete_utf8")
-  (return-type "GList*")
-  (parameters
-    '("const-gchar*" "prefix")
-    '("gchar**" "new_prefix")
-  )
-)
-
-(define-method set_compare
-  (of-object "GCompletion")
-  (c-name "g_completion_set_compare")
-  (return-type "none")
-  (parameters
-    '("GCompletionStrncmpFunc" "strncmp_func")
-  )
-)
-
-(define-method free
-  (of-object "GCompletion")
-  (c-name "g_completion_free")
-  (return-type "none")
-)
-
-
-
-;; From gmain.h
-
-
-
-;; From grel.h
-
-(define-function g_relation_new
-  (c-name "g_relation_new")
-  (is-constructor-of "GRelation")
-  (return-type "GRelation*")
-  (parameters
-    '("gint" "fields")
-  )
-)
-
-(define-method destroy
-  (of-object "GRelation")
-  (c-name "g_relation_destroy")
-  (return-type "none")
-)
-
-(define-method index
-  (of-object "GRelation")
-  (c-name "g_relation_index")
-  (return-type "none")
-  (parameters
-    '("gint" "field")
-    '("GHashFunc" "hash_func")
-    '("GEqualFunc" "key_equal_func")
-  )
-)
-
-(define-method insert
-  (of-object "GRelation")
-  (c-name "g_relation_insert")
-  (return-type "none")
-  (parameters
-  )
-  (varargs #t)
-)
-
-(define-method delete
-  (of-object "GRelation")
-  (c-name "g_relation_delete")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "key")
-    '("gint" "field")
-  )
-)
-
-(define-method select
-  (of-object "GRelation")
-  (c-name "g_relation_select")
-  (return-type "GTuples*")
-  (parameters
-    '("gconstpointer" "key")
-    '("gint" "field")
-  )
-)
-
-(define-method count
-  (of-object "GRelation")
-  (c-name "g_relation_count")
-  (return-type "gint")
-  (parameters
-    '("gconstpointer" "key")
-    '("gint" "field")
-  )
-)
-
-(define-method exists
-  (of-object "GRelation")
-  (c-name "g_relation_exists")
-  (return-type "gboolean")
-  (parameters
-  )
-  (varargs #t)
-)
-
-(define-method print
-  (of-object "GRelation")
-  (c-name "g_relation_print")
-  (return-type "none")
-)
-
-(define-method destroy
-  (of-object "GTuples")
-  (c-name "g_tuples_destroy")
-  (return-type "none")
-)
-
-(define-method index
-  (of-object "GTuples")
-  (c-name "g_tuples_index")
-  (return-type "gpointer")
-  (parameters
-    '("gint" "index_")
-    '("gint" "field")
-  )
-)
-
-
-
-;; From gthread.h
-
-(define-function guint64
-  (c-name "guint64")
-  (return-type "GLIB_VAR")
-  (parameters
-    '("*" "g_thread_gettime")
-  )
-)
-
-(define-function g_thread_create
-  (c-name "g_thread_create")
-  (return-type "GThread*")
-  (parameters
-    '("GThreadFunc" "func")
-    '("gpointer" "data")
-    '("gboolean" "joinable")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_thread_create_full
-  (c-name "g_thread_create_full")
-  (return-type "GThread*")
-  (parameters
-    '("GThreadFunc" "func")
-    '("gpointer" "data")
-    '("gulong" "stack_size")
-    '("gboolean" "joinable")
-    '("gboolean" "bound")
-    '("GThreadPriority" "priority")
-    '("GError**" "error")
-  )
-)
-
-(define-method set_priority
-  (of-object "GThread")
-  (c-name "g_thread_set_priority")
-  (return-type "none")
-  (parameters
-    '("GThreadPriority" "priority")
-  )
-)
-
-(define-function g_thread_foreach
-  (c-name "g_thread_foreach")
-  (return-type "none")
-  (parameters
-    '("GFunc" "thread_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method init
-  (of-object "GStaticMutex")
-  (c-name "g_static_mutex_init")
-  (return-type "none")
-)
-
-(define-method free
-  (of-object "GStaticMutex")
-  (c-name "g_static_mutex_free")
-  (return-type "none")
-)
-
-(define-method get_mutex_impl
-  (of-object "GStaticMutex")
-  (c-name "g_static_mutex_get_mutex_impl")
-  (return-type "GMutex*")
-)
-
-(define-method init
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_init")
-  (return-type "none")
-)
-
-(define-method lock
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_lock")
-  (return-type "none")
-)
-
-(define-method trylock
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_trylock")
-  (return-type "gboolean")
-)
-
-(define-method unlock
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_unlock")
-  (return-type "none")
-)
-
-(define-method lock_full
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_lock_full")
-  (return-type "none")
-  (parameters
-    '("guint" "depth")
-  )
-)
-
-(define-method unlock_full
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_unlock_full")
-  (return-type "guint")
-)
-
-(define-method free
-  (of-object "GStaticRecMutex")
-  (c-name "g_static_rec_mutex_free")
-  (return-type "none")
-)
-
-(define-method init
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_init")
-  (return-type "none")
-)
-
-(define-method reader_lock
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_reader_lock")
-  (return-type "none")
-)
-
-(define-method reader_trylock
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_reader_trylock")
-  (return-type "gboolean")
-)
-
-(define-method reader_unlock
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_reader_unlock")
-  (return-type "none")
-)
-
-(define-method writer_lock
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_writer_lock")
-  (return-type "none")
-)
-
-(define-method writer_trylock
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_writer_trylock")
-  (return-type "gboolean")
-)
-
-(define-method writer_unlock
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_writer_unlock")
-  (return-type "none")
-)
-
-(define-method free
-  (of-object "GStaticRWLock")
-  (c-name "g_static_rw_lock_free")
-  (return-type "none")
-)
-
-(define-function g_private_new
-  (c-name "g_private_new")
-  (is-constructor-of "GPrivate")
-  (return-type "GPrivate*")
-  (parameters
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-method init
-  (of-object "GStaticPrivate")
-  (c-name "g_static_private_init")
-  (return-type "none")
-)
-
-(define-method get
-  (of-object "GStaticPrivate")
-  (c-name "g_static_private_get")
-  (return-type "gpointer")
-)
-
-(define-method set
-  (of-object "GStaticPrivate")
-  (c-name "g_static_private_set")
-  (return-type "none")
-  (parameters
-    '("gpointer" "data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-method free
-  (of-object "GStaticPrivate")
-  (c-name "g_static_private_free")
-  (return-type "none")
-)
-
-(define-function g_once_init_enter_impl
-  (c-name "g_once_init_enter_impl")
-  (return-type "gboolean")
-  (parameters
-    '("volatile-gsize*" "location")
-  )
-)
-
-(define-function g_thread_init
-  (c-name "g_thread_init")
-  (return-type "none")
-  (parameters
-    '("gpointer" "vtable")
-  )
-)
-
-(define-function g_thread_init_with_errorcheck_mutexes
-  (c-name "g_thread_init_with_errorcheck_mutexes")
-  (return-type "none")
-  (parameters
-    '("gpointer" "vtable")
-  )
-)
-
-(define-function g_thread_get_initialized
-  (c-name "g_thread_get_initialized")
-  (return-type "gboolean")
-)
-
-(define-function g_mutex_new
-  (c-name "g_mutex_new")
-  (is-constructor-of "GMutex")
-  (return-type "GMutex*")
-)
-
-(define-method free
-  (of-object "GMutex")
-  (c-name "g_mutex_free")
-  (return-type "none")
-)
-
-(define-function g_cond_new
-  (c-name "g_cond_new")
-  (is-constructor-of "GCond")
-  (return-type "GCond*")
-)
-
-(define-method free
-  (of-object "GCond")
-  (c-name "g_cond_free")
-  (return-type "none")
-)
-
-(define-method timed_wait
-  (of-object "GCond")
-  (c-name "g_cond_timed_wait")
-  (return-type "gboolean")
-  (parameters
-    '("GMutex*" "mutex")
-    '("GTimeVal*" "timeval")
-  )
+  (c-name "g_variant_type_value")
+  (return-type "const-GVariantType*")
 )
 
-
diff --git a/glib/src/gmodule_functions.defs b/glib/src/gmodule_functions.defs
index 9d92ebe..14a17b4 100644
--- a/glib/src/gmodule_functions.defs
+++ b/glib/src/gmodule_functions.defs
@@ -1,39 +1,3 @@
-;; -*- scheme -*-
-; object definitions ...
-;; Enumerations and flags ...
-
-(define-flags Flags
-  (in-module "GModule")
-  (c-name "GModuleFlags")
-  (gtype-id "G_TYPE_MODULE_FLAGS")
-  (values
-    '("lazy" "G_MODULE_BIND_LAZY")
-    '("local" "G_MODULE_BIND_LOCAL")
-    '("mask" "G_MODULE_BIND_MASK")
-  )
-)
-
-
-;; From gmoduleconf.h
-
-
-
-;; From gmodule.h
-
-(define-function g_module_supported
-  (c-name "g_module_supported")
-  (return-type "gboolean")
-)
-
-(define-function g_module_open
-  (c-name "g_module_open")
-  (return-type "GModule*")
-  (parameters
-    '("const-gchar*" "file_name")
-    '("GModuleFlags" "flags")
-  )
-)
-
 (define-method close
   (of-object "GModule")
   (c-name "g_module_close")
@@ -46,8 +10,9 @@
   (return-type "none")
 )
 
-(define-function g_module_error
-  (c-name "g_module_error")
+(define-method name
+  (of-object "GModule")
+  (c-name "g_module_name")
   (return-type "const-gchar*")
 )
 
@@ -61,34 +26,3 @@
   )
 )
 
-(define-method name
-  (of-object "GModule")
-  (c-name "g_module_name")
-  (return-type "const-gchar*")
-)
-
-(define-function g_module_build_path
-  (c-name "g_module_build_path")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "directory")
-    '("const-gchar*" "module_name")
-  )
-)
-
-(define-function g_module_open_utf8
-  (c-name "g_module_open_utf8")
-  (return-type "GModule*")
-  (parameters
-    '("const-gchar*" "file_name")
-    '("GModuleFlags" "flags")
-  )
-)
-
-(define-method name_utf8
-  (of-object "GModule")
-  (c-name "g_module_name_utf8")
-  (return-type "const-gchar*")
-)
-
-
diff --git a/glib/src/gobject_functions.defs b/glib/src/gobject_functions.defs
index 31c500e..c813b90 100644
--- a/glib/src/gobject_functions.defs
+++ b/glib/src/gobject_functions.defs
@@ -1,366 +1,13 @@
-;; -*- scheme -*-
-; object definitions ...
-(define-object Module
-  (in-module "GType")
-  (parent "GObject")
-  (c-name "GTypeModule")
-  (gtype-id "G_TYPE_TYPE_MODULE")
-)
-
-(define-object Plugin
-  (in-module "GType")
-  (c-name "GTypePlugin")
-  (gtype-id "G_TYPE_TYPE_PLUGIN")
-)
-
-;; Enumerations and flags ...
-
-(define-flags Flags
-  (in-module "GBinding")
-  (c-name "GBindingFlags")
-  (gtype-id "G_TYPE_BINDING_FLAGS")
-  (values
-    '("default" "G_BINDING_DEFAULT")
-    '("bidirectional" "G_BINDING_BIDIRECTIONAL")
-    '("sync-create" "G_BINDING_SYNC_CREATE")
-    '("invert-boolean" "G_BINDING_INVERT_BOOLEAN")
-  )
-)
-
-(define-flags Flags
-  (in-module "GParam")
-  (c-name "GParamFlags")
-  (gtype-id "G_TYPE_PARAM_FLAGS")
-  (values
-    '("readable" "G_PARAM_READABLE")
-    '("writable" "G_PARAM_WRITABLE")
-    '("readwrite" "G_PARAM_READWRITE")
-    '("construct" "G_PARAM_CONSTRUCT")
-    '("construct-only" "G_PARAM_CONSTRUCT_ONLY")
-    '("lax-validation" "G_PARAM_LAX_VALIDATION")
-    '("static-name" "G_PARAM_STATIC_NAME")
-    '("private" "G_PARAM_PRIVATE")
-    '("static-nick" "G_PARAM_STATIC_NICK")
-    '("static-blurb" "G_PARAM_STATIC_BLURB")
-    '("explicit-notify" "G_PARAM_EXPLICIT_NOTIFY")
-    '("deprecated" "G_PARAM_DEPRECATED")
-  )
-)
-
-(define-flags Flags
-  (in-module "GSignal")
-  (c-name "GSignalFlags")
-  (gtype-id "G_TYPE_SIGNAL_FLAGS")
-  (values
-    '("run-first" "G_SIGNAL_RUN_FIRST")
-    '("run-last" "G_SIGNAL_RUN_LAST")
-    '("run-cleanup" "G_SIGNAL_RUN_CLEANUP")
-    '("no-recurse" "G_SIGNAL_NO_RECURSE")
-    '("detailed" "G_SIGNAL_DETAILED")
-    '("action" "G_SIGNAL_ACTION")
-    '("no-hooks" "G_SIGNAL_NO_HOOKS")
-    '("must-collect" "G_SIGNAL_MUST_COLLECT")
-    '("deprecated" "G_SIGNAL_DEPRECATED")
-  )
-)
-
-(define-flags Flags
-  (in-module "GConnect")
-  (c-name "GConnectFlags")
-  (gtype-id "G_TYPE_CONNECT_FLAGS")
-  (values
-    '("after" "G_CONNECT_AFTER")
-    '("swapped" "G_CONNECT_SWAPPED")
-  )
-)
-
-(define-flags MatchType
-  (in-module "GSignal")
-  (c-name "GSignalMatchType")
-  (gtype-id "G_TYPE_SIGNAL_MATCH_TYPE")
-  (values
-    '("id" "G_SIGNAL_MATCH_ID")
-    '("detail" "G_SIGNAL_MATCH_DETAIL")
-    '("closure" "G_SIGNAL_MATCH_CLOSURE")
-    '("func" "G_SIGNAL_MATCH_FUNC")
-    '("data" "G_SIGNAL_MATCH_DATA")
-    '("unblocked" "G_SIGNAL_MATCH_UNBLOCKED")
-  )
-)
-
-(define-flags DebugFlags
-  (in-module "GType")
-  (c-name "GTypeDebugFlags")
-  (gtype-id "G_TYPE_TYPE_DEBUG_FLAGS")
-  (values
-    '("none" "G_TYPE_DEBUG_NONE")
-    '("objects" "G_TYPE_DEBUG_OBJECTS")
-    '("signals" "G_TYPE_DEBUG_SIGNALS")
-    '("mask" "G_TYPE_DEBUG_MASK")
-  )
-)
-
-(define-flags FundamentalFlags
-  (in-module "GType")
-  (c-name "GTypeFundamentalFlags")
-  (gtype-id "G_TYPE_TYPE_FUNDAMENTAL_FLAGS")
-  (values
-    '("classed" "G_TYPE_FLAG_CLASSED")
-    '("instantiatable" "G_TYPE_FLAG_INSTANTIATABLE")
-    '("derivable" "G_TYPE_FLAG_DERIVABLE")
-    '("deep-derivable" "G_TYPE_FLAG_DEEP_DERIVABLE")
-  )
-)
-
-(define-flags Flags
-  (in-module "GType")
-  (c-name "GTypeFlags")
-  (gtype-id "G_TYPE_TYPE_FLAGS")
-  (values
-    '("abstract" "G_TYPE_FLAG_ABSTRACT")
-    '("value-abstract" "G_TYPE_FLAG_VALUE_ABSTRACT")
-  )
-)
-
-
-;; From gatomicarray.h
-
-
-
-;; From gbinding.h
-
-(define-function g_binding_flags_get_type
-  (c-name "g_binding_flags_get_type")
-  (return-type "GType")
-)
-
-(define-function g_binding_get_type
-  (c-name "g_binding_get_type")
-  (return-type "GType")
-)
-
-(define-method get_flags
-  (of-object "GBinding")
-  (c-name "g_binding_get_flags")
-  (return-type "GBindingFlags")
-)
-
-(define-method get_source
-  (of-object "GBinding")
-  (c-name "g_binding_get_source")
-  (return-type "GObject*")
-)
-
-(define-method get_target
-  (of-object "GBinding")
-  (c-name "g_binding_get_target")
-  (return-type "GObject*")
-)
-
-(define-method get_source_property
-  (of-object "GBinding")
-  (c-name "g_binding_get_source_property")
-  (return-type "const-gchar*")
-)
-
-(define-method get_target_property
-  (of-object "GBinding")
-  (c-name "g_binding_get_target_property")
-  (return-type "const-gchar*")
-)
-
-(define-method unbind
-  (of-object "GBinding")
-  (c-name "g_binding_unbind")
-  (return-type "none")
-)
-
-(define-function g_object_bind_property
-  (c-name "g_object_bind_property")
-  (return-type "GBinding*")
-  (parameters
-    '("gpointer" "source")
-    '("const-gchar*" "source_property")
-    '("gpointer" "target")
-    '("const-gchar*" "target_property")
-    '("GBindingFlags" "flags")
-  )
-)
-
-(define-function g_object_bind_property_full
-  (c-name "g_object_bind_property_full")
-  (return-type "GBinding*")
-  (parameters
-    '("gpointer" "source")
-    '("const-gchar*" "source_property")
-    '("gpointer" "target")
-    '("const-gchar*" "target_property")
-    '("GBindingFlags" "flags")
-    '("GBindingTransformFunc" "transform_to")
-    '("GBindingTransformFunc" "transform_from")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "notify")
-  )
-)
-
-(define-function g_object_bind_property_with_closures
-  (c-name "g_object_bind_property_with_closures")
-  (return-type "GBinding*")
-  (parameters
-    '("gpointer" "source")
-    '("const-gchar*" "source_property")
-    '("gpointer" "target")
-    '("const-gchar*" "target_property")
-    '("GBindingFlags" "flags")
-    '("GClosure*" "transform_to")
-    '("GClosure*" "transform_from")
-  )
-)
-
-
-
-;; From gboxed.h
-
-(define-function g_boxed_copy
-  (c-name "g_boxed_copy")
-  (return-type "gpointer")
-  (parameters
-    '("GType" "boxed_type")
-    '("gconstpointer" "src_boxed")
-  )
-)
-
-(define-function g_boxed_free
-  (c-name "g_boxed_free")
-  (return-type "none")
-  (parameters
-    '("GType" "boxed_type")
-    '("gpointer" "boxed")
-  )
-)
-
-(define-method set_boxed
-  (of-object "GValue")
-  (c-name "g_value_set_boxed")
-  (return-type "none")
-  (parameters
-    '("gconstpointer" "v_boxed")
-  )
-)
-
-(define-method set_static_boxed
-  (of-object "GValue")
-  (c-name "g_value_set_static_boxed")
-  (return-type "none")
-  (parameters
-    '("gconstpointer" "v_boxed")
-  )
-)
-
-(define-method take_boxed
-  (of-object "GValue")
-  (c-name "g_value_take_boxed")
-  (return-type "none")
-  (parameters
-    '("gconstpointer" "v_boxed")
-  )
-)
-
-(define-method set_boxed_take_ownership
-  (of-object "GValue")
-  (c-name "g_value_set_boxed_take_ownership")
-  (return-type "none")
-  (parameters
-    '("gconstpointer" "v_boxed")
-  )
-)
-
-(define-method get_boxed
-  (of-object "GValue")
-  (c-name "g_value_get_boxed")
-  (return-type "gpointer")
-)
-
-(define-method dup_boxed
-  (of-object "GValue")
-  (c-name "g_value_dup_boxed")
-  (return-type "gpointer")
-)
-
-(define-function g_boxed_type_register_static
-  (c-name "g_boxed_type_register_static")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "name")
-    '("GBoxedCopyFunc" "boxed_copy")
-    '("GBoxedFreeFunc" "boxed_free")
-  )
-)
-
-(define-function g_closure_get_type
-  (c-name "g_closure_get_type")
-  (return-type "GType")
-)
-
-(define-function g_value_get_type
-  (c-name "g_value_get_type")
-  (return-type "GType")
-)
-
-
-
-;; From gclosure.h
-
-(define-function g_cclosure_new
-  (c-name "g_cclosure_new")
-  (is-constructor-of "GCclosure")
-  (return-type "GClosure*")
-  (parameters
-    '("GCallback" "callback_func")
-    '("gpointer" "user_data")
-    '("GClosureNotify" "destroy_data")
-  )
-)
-
-(define-function g_cclosure_new_swap
-  (c-name "g_cclosure_new_swap")
-  (return-type "GClosure*")
-  (parameters
-    '("GCallback" "callback_func")
-    '("gpointer" "user_data")
-    '("GClosureNotify" "destroy_data")
-  )
-)
-
-(define-function g_signal_type_cclosure_new
-  (c-name "g_signal_type_cclosure_new")
-  (is-constructor-of "GSignalTypeCclosure")
+(define-function new_object
+  (c-name "g_closure_new_object")
   (return-type "GClosure*")
   (parameters
-    '("GType" "itype")
-    '("guint" "struct_offset")
+    '("guint" "sizeof_closure")
+    '("GObject*" "object")
   )
 )
 
-(define-method ref
-  (of-object "GClosure")
-  (c-name "g_closure_ref")
-  (return-type "GClosure*")
-)
-
-(define-method sink
-  (of-object "GClosure")
-  (c-name "g_closure_sink")
-  (return-type "none")
-)
-
-(define-method unref
-  (of-object "GClosure")
-  (c-name "g_closure_unref")
-  (return-type "none")
-)
-
-(define-function g_closure_new_simple
+(define-function new_simple
   (c-name "g_closure_new_simple")
   (return-type "GClosure*")
   (parameters
@@ -379,16 +26,6 @@
   )
 )
 
-(define-method remove_finalize_notifier
-  (of-object "GClosure")
-  (c-name "g_closure_remove_finalize_notifier")
-  (return-type "none")
-  (parameters
-    '("gpointer" "notify_data")
-    '("GClosureNotify" "notify_func")
-  )
-)
-
 (define-method add_invalidate_notifier
   (of-object "GClosure")
   (c-name "g_closure_add_invalidate_notifier")
@@ -399,16 +36,6 @@
   )
 )
 
-(define-method remove_invalidate_notifier
-  (of-object "GClosure")
-  (c-name "g_closure_remove_invalidate_notifier")
-  (return-type "none")
-  (parameters
-    '("gpointer" "notify_data")
-    '("GClosureNotify" "notify_func")
-  )
-)
-
 (define-method add_marshal_guards
   (of-object "GClosure")
   (c-name "g_closure_add_marshal_guards")
@@ -421,25 +48,6 @@
   )
 )
 
-(define-method set_marshal
-  (of-object "GClosure")
-  (c-name "g_closure_set_marshal")
-  (return-type "none")
-  (parameters
-    '("GClosureMarshal" "marshal")
-  )
-)
-
-(define-method set_meta_marshal
-  (of-object "GClosure")
-  (c-name "g_closure_set_meta_marshal")
-  (return-type "none")
-  (parameters
-    '("gpointer" "marshal_data")
-    '("GClosureMarshal" "meta_marshal")
-  )
-)
-
 (define-method invalidate
   (of-object "GClosure")
   (c-name "g_closure_invalidate")
@@ -458,906 +66,82 @@
   )
 )
 
-(define-function g_cclosure_marshal_generic
-  (c-name "g_cclosure_marshal_generic")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_gvalue")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_generic_va
-  (c-name "g_cclosure_marshal_generic_va")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args_list")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-
-
-;; From genums.h
-
-(define-function g_enum_get_value
-  (c-name "g_enum_get_value")
-  (return-type "GEnumValue*")
-  (parameters
-    '("GEnumClass*" "enum_class")
-    '("gint" "value")
-  )
-)
-
-(define-function g_enum_get_value_by_name
-  (c-name "g_enum_get_value_by_name")
-  (return-type "GEnumValue*")
-  (parameters
-    '("GEnumClass*" "enum_class")
-    '("const-gchar*" "name")
-  )
-)
-
-(define-function g_enum_get_value_by_nick
-  (c-name "g_enum_get_value_by_nick")
-  (return-type "GEnumValue*")
-  (parameters
-    '("GEnumClass*" "enum_class")
-    '("const-gchar*" "nick")
-  )
-)
-
-(define-function g_flags_get_first_value
-  (c-name "g_flags_get_first_value")
-  (return-type "GFlagsValue*")
-  (parameters
-    '("GFlagsClass*" "flags_class")
-    '("guint" "value")
-  )
-)
-
-(define-function g_flags_get_value_by_name
-  (c-name "g_flags_get_value_by_name")
-  (return-type "GFlagsValue*")
-  (parameters
-    '("GFlagsClass*" "flags_class")
-    '("const-gchar*" "name")
-  )
-)
-
-(define-function g_flags_get_value_by_nick
-  (c-name "g_flags_get_value_by_nick")
-  (return-type "GFlagsValue*")
-  (parameters
-    '("GFlagsClass*" "flags_class")
-    '("const-gchar*" "nick")
-  )
-)
-
-(define-method set_enum
-  (of-object "GValue")
-  (c-name "g_value_set_enum")
-  (return-type "none")
-  (parameters
-    '("gint" "v_enum")
-  )
-)
-
-(define-method get_enum
-  (of-object "GValue")
-  (c-name "g_value_get_enum")
-  (return-type "gint")
-)
-
-(define-method set_flags
-  (of-object "GValue")
-  (c-name "g_value_set_flags")
-  (return-type "none")
-  (parameters
-    '("guint" "v_flags")
-  )
-)
-
-(define-method get_flags
-  (of-object "GValue")
-  (c-name "g_value_get_flags")
-  (return-type "guint")
-)
-
-(define-function g_enum_register_static
-  (c-name "g_enum_register_static")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-function g_flags_register_static
-  (c-name "g_flags_register_static")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-function g_enum_complete_type_info
-  (c-name "g_enum_complete_type_info")
-  (return-type "none")
-  (parameters
-    '("GType" "g_enum_type")
-    '("GTypeInfo*" "info")
-  )
-)
-
-(define-function g_flags_complete_type_info
-  (c-name "g_flags_complete_type_info")
-  (return-type "none")
-  (parameters
-    '("GType" "g_flags_type")
-    '("GTypeInfo*" "info")
-  )
-)
-
-
-
-;; From glib-types.h
-
-(define-function g_date_get_type
-  (c-name "g_date_get_type")
-  (return-type "GType")
-)
-
-(define-function g_strv_get_type
-  (c-name "g_strv_get_type")
-  (return-type "GType")
-)
-
-(define-function g_gstring_get_type
-  (c-name "g_gstring_get_type")
-  (return-type "GType")
-)
-
-(define-function g_hash_table_get_type
-  (c-name "g_hash_table_get_type")
-  (return-type "GType")
-)
-
-(define-function g_array_get_type
-  (c-name "g_array_get_type")
-  (return-type "GType")
-)
-
-(define-function g_byte_array_get_type
-  (c-name "g_byte_array_get_type")
-  (return-type "GType")
-)
-
-(define-function g_ptr_array_get_type
-  (c-name "g_ptr_array_get_type")
-  (return-type "GType")
-)
-
-(define-function g_bytes_get_type
-  (c-name "g_bytes_get_type")
-  (return-type "GType")
-)
-
-(define-function g_variant_type_get_gtype
-  (c-name "g_variant_type_get_gtype")
-  (return-type "GType")
-)
-
-(define-function g_regex_get_type
-  (c-name "g_regex_get_type")
-  (return-type "GType")
-)
-
-(define-function g_match_info_get_type
-  (c-name "g_match_info_get_type")
-  (return-type "GType")
-)
-
-(define-function g_error_get_type
-  (c-name "g_error_get_type")
-  (return-type "GType")
-)
-
-(define-function g_date_time_get_type
-  (c-name "g_date_time_get_type")
-  (return-type "GType")
-)
-
-(define-function g_time_zone_get_type
-  (c-name "g_time_zone_get_type")
-  (return-type "GType")
-)
-
-(define-function g_io_channel_get_type
-  (c-name "g_io_channel_get_type")
-  (return-type "GType")
-)
-
-(define-function g_io_condition_get_type
-  (c-name "g_io_condition_get_type")
-  (return-type "GType")
-)
-
-(define-function g_variant_builder_get_type
-  (c-name "g_variant_builder_get_type")
-  (return-type "GType")
-)
-
-(define-function g_variant_dict_get_type
-  (c-name "g_variant_dict_get_type")
-  (return-type "GType")
-)
-
-(define-function g_key_file_get_type
-  (c-name "g_key_file_get_type")
-  (return-type "GType")
-)
-
-(define-function g_main_loop_get_type
-  (c-name "g_main_loop_get_type")
-  (return-type "GType")
-)
-
-(define-function g_main_context_get_type
-  (c-name "g_main_context_get_type")
-  (return-type "GType")
-)
-
-(define-function g_source_get_type
-  (c-name "g_source_get_type")
-  (return-type "GType")
-)
-
-(define-function g_pollfd_get_type
-  (c-name "g_pollfd_get_type")
-  (return-type "GType")
-)
-
-(define-function g_thread_get_type
-  (c-name "g_thread_get_type")
-  (return-type "GType")
-)
-
-(define-function g_checksum_get_type
-  (c-name "g_checksum_get_type")
-  (return-type "GType")
-)
-
-(define-function g_markup_parse_context_get_type
-  (c-name "g_markup_parse_context_get_type")
-  (return-type "GType")
-)
-
-(define-function g_mapped_file_get_type
-  (c-name "g_mapped_file_get_type")
-  (return-type "GType")
-)
-
-(define-function g_variant_get_gtype
-  (c-name "g_variant_get_gtype")
-  (return-type "GType")
-)
-
-
-
-;; From gmarshal.h
-
-(define-function g_cclosure_marshal_VOID__VOID
-  (c-name "g_cclosure_marshal_VOID__VOID")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__VOIDv
-  (c-name "g_cclosure_marshal_VOID__VOIDv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__BOOLEAN
-  (c-name "g_cclosure_marshal_VOID__BOOLEAN")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__BOOLEANv
-  (c-name "g_cclosure_marshal_VOID__BOOLEANv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__CHAR
-  (c-name "g_cclosure_marshal_VOID__CHAR")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__CHARv
-  (c-name "g_cclosure_marshal_VOID__CHARv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__UCHAR
-  (c-name "g_cclosure_marshal_VOID__UCHAR")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__UCHARv
-  (c-name "g_cclosure_marshal_VOID__UCHARv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__INT
-  (c-name "g_cclosure_marshal_VOID__INT")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__INTv
-  (c-name "g_cclosure_marshal_VOID__INTv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__UINT
-  (c-name "g_cclosure_marshal_VOID__UINT")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__UINTv
-  (c-name "g_cclosure_marshal_VOID__UINTv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__LONG
-  (c-name "g_cclosure_marshal_VOID__LONG")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__LONGv
-  (c-name "g_cclosure_marshal_VOID__LONGv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__ULONG
-  (c-name "g_cclosure_marshal_VOID__ULONG")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__ULONGv
-  (c-name "g_cclosure_marshal_VOID__ULONGv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__ENUM
-  (c-name "g_cclosure_marshal_VOID__ENUM")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__ENUMv
-  (c-name "g_cclosure_marshal_VOID__ENUMv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__FLAGS
-  (c-name "g_cclosure_marshal_VOID__FLAGS")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__FLAGSv
-  (c-name "g_cclosure_marshal_VOID__FLAGSv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__FLOAT
-  (c-name "g_cclosure_marshal_VOID__FLOAT")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__FLOATv
-  (c-name "g_cclosure_marshal_VOID__FLOATv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__DOUBLE
-  (c-name "g_cclosure_marshal_VOID__DOUBLE")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__DOUBLEv
-  (c-name "g_cclosure_marshal_VOID__DOUBLEv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__STRING
-  (c-name "g_cclosure_marshal_VOID__STRING")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__STRINGv
-  (c-name "g_cclosure_marshal_VOID__STRINGv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__PARAM
-  (c-name "g_cclosure_marshal_VOID__PARAM")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__PARAMv
-  (c-name "g_cclosure_marshal_VOID__PARAMv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__BOXED
-  (c-name "g_cclosure_marshal_VOID__BOXED")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__BOXEDv
-  (c-name "g_cclosure_marshal_VOID__BOXEDv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__POINTER
-  (c-name "g_cclosure_marshal_VOID__POINTER")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__POINTERv
-  (c-name "g_cclosure_marshal_VOID__POINTERv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__OBJECT
-  (c-name "g_cclosure_marshal_VOID__OBJECT")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__OBJECTv
-  (c-name "g_cclosure_marshal_VOID__OBJECTv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__VARIANT
-  (c-name "g_cclosure_marshal_VOID__VARIANT")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
-)
-
-(define-function g_cclosure_marshal_VOID__VARIANTv
-  (c-name "g_cclosure_marshal_VOID__VARIANTv")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
+(define-method ref
+  (of-object "GClosure")
+  (c-name "g_closure_ref")
+  (return-type "GClosure*")
 )
 
-(define-function g_cclosure_marshal_VOID__UINT_POINTER
-  (c-name "g_cclosure_marshal_VOID__UINT_POINTER")
+(define-method remove_finalize_notifier
+  (of-object "GClosure")
+  (c-name "g_closure_remove_finalize_notifier")
   (return-type "none")
   (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
+    '("gpointer" "notify_data")
+    '("GClosureNotify" "notify_func")
   )
 )
 
-(define-function g_cclosure_marshal_VOID__UINT_POINTERv
-  (c-name "g_cclosure_marshal_VOID__UINT_POINTERv")
+(define-method remove_invalidate_notifier
+  (of-object "GClosure")
+  (c-name "g_closure_remove_invalidate_notifier")
   (return-type "none")
   (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
+    '("gpointer" "notify_data")
+    '("GClosureNotify" "notify_func")
   )
 )
 
-(define-function g_cclosure_marshal_BOOLEAN__FLAGS
-  (c-name "g_cclosure_marshal_BOOLEAN__FLAGS")
+(define-method set_marshal
+  (of-object "GClosure")
+  (c-name "g_closure_set_marshal")
   (return-type "none")
   (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
+    '("GClosureMarshal" "marshal")
   )
 )
 
-(define-function g_cclosure_marshal_BOOLEAN__FLAGSv
-  (c-name "g_cclosure_marshal_BOOLEAN__FLAGSv")
+(define-method set_meta_marshal
+  (of-object "GClosure")
+  (c-name "g_closure_set_meta_marshal")
   (return-type "none")
   (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
     '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
+    '("GClosureMarshal" "meta_marshal")
   )
 )
 
-(define-function g_cclosure_marshal_STRING__OBJECT_POINTER
-  (c-name "g_cclosure_marshal_STRING__OBJECT_POINTER")
+(define-method sink
+  (of-object "GClosure")
+  (c-name "g_closure_sink")
   (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
-  )
 )
 
-(define-function g_cclosure_marshal_STRING__OBJECT_POINTERv
-  (c-name "g_cclosure_marshal_STRING__OBJECT_POINTERv")
+(define-method unref
+  (of-object "GClosure")
+  (c-name "g_closure_unref")
   (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
-  )
 )
 
-(define-function g_cclosure_marshal_BOOLEAN__BOXED_BOXED
-  (c-name "g_cclosure_marshal_BOOLEAN__BOXED_BOXED")
-  (return-type "none")
+(define-method find_property
+  (of-object "GObjectClass")
+  (c-name "g_object_class_find_property")
+  (return-type "GParamSpec*")
   (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("guint" "n_param_values")
-    '("const-GValue*" "param_values")
-    '("gpointer" "invocation_hint")
-    '("gpointer" "marshal_data")
+    '("const-gchar*" "property_name")
   )
 )
 
-(define-function g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv
-  (c-name "g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv")
+(define-method install_properties
+  (of-object "GObjectClass")
+  (c-name "g_object_class_install_properties")
   (return-type "none")
   (parameters
-    '("GClosure*" "closure")
-    '("GValue*" "return_value")
-    '("gpointer" "instance")
-    '("va_list" "args")
-    '("gpointer" "marshal_data")
-    '("int" "n_params")
-    '("GType*" "param_types")
+    '("guint" "n_pspecs")
+    '("const-GParamSpec**" "pspecs")
   )
 )
 
-
-
-;; From gobject.h
-
-(define-function g_initially_unowned_get_type
-  (c-name "g_initially_unowned_get_type")
-  (return-type "GType")
-)
-
 (define-method install_property
   (of-object "GObjectClass")
   (c-name "g_object_class_install_property")
@@ -1368,19 +152,10 @@
   )
 )
 
-(define-method find_property
-  (of-object "GObjectClass")
-  (c-name "g_object_class_find_property")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "property_name")
-  )
-)
-
 (define-method list_properties
   (of-object "GObjectClass")
   (c-name "g_object_class_list_properties")
-  (return-type "GParamSpec**")
+  (return-type "const-GParamSpec**")
   (parameters
     '("guint*" "n_properties")
   )
@@ -1396,452 +171,109 @@
   )
 )
 
-(define-method install_properties
-  (of-object "GObjectClass")
-  (c-name "g_object_class_install_properties")
-  (return-type "none")
-  (parameters
-    '("guint" "n_pspecs")
-    '("GParamSpec**" "pspecs")
-  )
-)
-
-(define-function g_object_interface_install_property
-  (c-name "g_object_interface_install_property")
+(define-method insert
+  (of-object "GParamSpecPool")
+  (c-name "g_param_spec_pool_insert")
   (return-type "none")
   (parameters
-    '("gpointer" "g_iface")
     '("GParamSpec*" "pspec")
+    '("GType" "owner_type")
   )
 )
 
-(define-function g_object_interface_find_property
-  (c-name "g_object_interface_find_property")
-  (return-type "GParamSpec*")
-  (parameters
-    '("gpointer" "g_iface")
-    '("const-gchar*" "property_name")
-  )
-)
-
-(define-function g_object_interface_list_properties
-  (c-name "g_object_interface_list_properties")
-  (return-type "GParamSpec**")
-  (parameters
-    '("gpointer" "g_iface")
-    '("guint*" "n_properties_p")
-  )
-)
-
-(define-function g_object_get_type
-  (c-name "g_object_get_type")
-  (return-type "GType")
-)
-
-(define-function g_object_new
-  (c-name "g_object_new")
-  (return-type "gpointer")
-  (parameters
-    '("GType" "object_type")
-    '("const-gchar*" "first_property_name")
-  )
-  (varargs #t)
-)
-
-(define-function g_object_newv
-  (c-name "g_object_newv")
-  (return-type "gpointer")
-  (parameters
-    '("GType" "object_type")
-    '("guint" "n_parameters")
-    '("GParameter*" "parameters")
-  )
-)
-
-(define-function g_object_new_valist
-  (c-name "g_object_new_valist")
-  (return-type "GObject*")
-  (parameters
-    '("GType" "object_type")
-    '("const-gchar*" "first_property_name")
-    '("va_list" "var_args")
-  )
-)
-
-(define-function g_object_set
-  (c-name "g_object_set")
-  (return-type "none")
-  (parameters
-    '("gpointer" "object")
-    '("const-gchar*" "first_property_name")
-  )
-  (varargs #t)
-)
-
-(define-function g_object_get
-  (c-name "g_object_get")
-  (return-type "none")
-  (parameters
-    '("gpointer" "object")
-    '("const-gchar*" "first_property_name")
-  )
-  (varargs #t)
-)
-
-(define-function g_object_connect
-  (c-name "g_object_connect")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "object")
-    '("const-gchar*" "signal_spec")
-  )
-  (varargs #t)
-)
-
-(define-function g_object_disconnect
-  (c-name "g_object_disconnect")
-  (return-type "none")
-  (parameters
-    '("gpointer" "object")
-    '("const-gchar*" "signal_spec")
-  )
-  (varargs #t)
-)
-
-(define-method set_valist
-  (of-object "GObject")
-  (c-name "g_object_set_valist")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "first_property_name")
-    '("va_list" "var_args")
-  )
-)
-
-(define-method get_valist
-  (of-object "GObject")
-  (c-name "g_object_get_valist")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "first_property_name")
-    '("va_list" "var_args")
-  )
-)
-
-(define-method set_property
-  (of-object "GObject")
-  (c-name "g_object_set_property")
-  (return-type "none")
+(define-method list
+  (of-object "GParamSpecPool")
+  (c-name "g_param_spec_pool_list")
+  (return-type "const-GParamSpec**")
   (parameters
-    '("const-gchar*" "property_name")
-    '("const-GValue*" "value")
+    '("GType" "owner_type")
+    '("guint*" "n_pspecs_p")
   )
 )
 
-(define-method get_property
-  (of-object "GObject")
-  (c-name "g_object_get_property")
-  (return-type "none")
+(define-method list_owned
+  (of-object "GParamSpecPool")
+  (c-name "g_param_spec_pool_list_owned")
+  (return-type "GList*")
   (parameters
-    '("const-gchar*" "property_name")
-    '("GValue*" "value")
+    '("GType" "owner_type")
   )
 )
 
-(define-method freeze_notify
-  (of-object "GObject")
-  (c-name "g_object_freeze_notify")
-  (return-type "none")
-)
-
-(define-method notify
-  (of-object "GObject")
-  (c-name "g_object_notify")
-  (return-type "none")
+(define-method lookup
+  (of-object "GParamSpecPool")
+  (c-name "g_param_spec_pool_lookup")
+  (return-type "GParamSpec*")
   (parameters
-    '("const-gchar*" "property_name")
+    '("const-gchar*" "param_name")
+    '("GType" "owner_type")
+    '("gboolean" "walk_ancestors")
   )
 )
 
-(define-method notify_by_pspec
-  (of-object "GObject")
-  (c-name "g_object_notify_by_pspec")
+(define-method remove
+  (of-object "GParamSpecPool")
+  (c-name "g_param_spec_pool_remove")
   (return-type "none")
   (parameters
     '("GParamSpec*" "pspec")
   )
 )
 
-(define-method thaw_notify
-  (of-object "GObject")
-  (c-name "g_object_thaw_notify")
-  (return-type "none")
-)
-
-(define-function g_object_is_floating
-  (c-name "g_object_is_floating")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "object")
-  )
-)
-
-(define-function g_object_ref_sink
-  (c-name "g_object_ref_sink")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "object")
-  )
-)
-
-(define-function g_object_ref
-  (c-name "g_object_ref")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "object")
-  )
-)
-
-(define-function g_object_unref
-  (c-name "g_object_unref")
-  (return-type "none")
-  (parameters
-    '("gpointer" "object")
-  )
-)
-
-(define-method weak_ref
-  (of-object "GObject")
-  (c-name "g_object_weak_ref")
-  (return-type "none")
-  (parameters
-    '("GWeakNotify" "notify")
-    '("gpointer" "data")
-  )
-)
-
-(define-method weak_unref
-  (of-object "GObject")
-  (c-name "g_object_weak_unref")
-  (return-type "none")
-  (parameters
-    '("GWeakNotify" "notify")
-    '("gpointer" "data")
-  )
-)
-
-(define-method add_weak_pointer
-  (of-object "GObject")
-  (c-name "g_object_add_weak_pointer")
-  (return-type "none")
-  (parameters
-    '("gpointer*" "weak_pointer_location")
-  )
-)
-
-(define-method remove_weak_pointer
-  (of-object "GObject")
-  (c-name "g_object_remove_weak_pointer")
-  (return-type "none")
-  (parameters
-    '("gpointer*" "weak_pointer_location")
-  )
-)
-
-(define-method add_toggle_ref
-  (of-object "GObject")
-  (c-name "g_object_add_toggle_ref")
-  (return-type "none")
-  (parameters
-    '("GToggleNotify" "notify")
-    '("gpointer" "data")
-  )
-)
-
-(define-method remove_toggle_ref
-  (of-object "GObject")
-  (c-name "g_object_remove_toggle_ref")
-  (return-type "none")
-  (parameters
-    '("GToggleNotify" "notify")
-    '("gpointer" "data")
-  )
-)
-
-(define-method get_qdata
-  (of-object "GObject")
-  (c-name "g_object_get_qdata")
-  (return-type "gpointer")
-  (parameters
-    '("GQuark" "quark")
-  )
-)
-
-(define-method set_qdata
-  (of-object "GObject")
-  (c-name "g_object_set_qdata")
-  (return-type "none")
-  (parameters
-    '("GQuark" "quark")
-    '("gpointer" "data")
-  )
-)
-
-(define-method set_qdata_full
-  (of-object "GObject")
-  (c-name "g_object_set_qdata_full")
-  (return-type "none")
-  (parameters
-    '("GQuark" "quark")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy")
-  )
-)
-
-(define-method steal_qdata
-  (of-object "GObject")
-  (c-name "g_object_steal_qdata")
-  (return-type "gpointer")
-  (parameters
-    '("GQuark" "quark")
-  )
-)
-
-(define-method dup_qdata
-  (of-object "GObject")
-  (c-name "g_object_dup_qdata")
+(define-method get_private
+  (of-object "GTypeClass")
+  (c-name "g_type_class_get_private")
   (return-type "gpointer")
   (parameters
-    '("GQuark" "quark")
-    '("GDuplicateFunc" "dup_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method replace_qdata
-  (of-object "GObject")
-  (c-name "g_object_replace_qdata")
-  (return-type "gboolean")
-  (parameters
-    '("GQuark" "quark")
-    '("gpointer" "oldval")
-    '("gpointer" "newval")
-    '("GDestroyNotify" "destroy")
-    '("GDestroyNotify*" "old_destroy")
+    '("GType" "private_type")
   )
 )
 
-(define-method get_data
-  (of-object "GObject")
-  (c-name "g_object_get_data")
+(define-method peek_parent
+  (of-object "GTypeClass")
+  (c-name "g_type_class_peek_parent")
   (return-type "gpointer")
-  (parameters
-    '("const-gchar*" "key")
-  )
 )
 
-(define-method set_data
-  (of-object "GObject")
-  (c-name "g_object_set_data")
+(define-method unref
+  (of-object "GTypeClass")
+  (c-name "g_type_class_unref")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "key")
-    '("gpointer" "data")
-  )
 )
 
-(define-method set_data_full
-  (of-object "GObject")
-  (c-name "g_object_set_data_full")
+(define-method unref_uncached
+  (of-object "GTypeClass")
+  (c-name "g_type_class_unref_uncached")
   (return-type "none")
-  (parameters
-    '("const-gchar*" "key")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy")
-  )
 )
 
-(define-method steal_data
-  (of-object "GObject")
-  (c-name "g_object_steal_data")
+(define-method get_private
+  (of-object "GTypeInstance")
+  (c-name "g_type_instance_get_private")
   (return-type "gpointer")
   (parameters
-    '("const-gchar*" "key")
+    '("GType" "private_type")
   )
 )
 
-(define-method dup_data
-  (of-object "GObject")
-  (c-name "g_object_dup_data")
+(define-method peek_parent
+  (of-object "GTypeInterface")
+  (c-name "g_type_interface_peek_parent")
   (return-type "gpointer")
-  (parameters
-    '("const-gchar*" "key")
-    '("GDuplicateFunc" "dup_func")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method replace_data
-  (of-object "GObject")
-  (c-name "g_object_replace_data")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "key")
-    '("gpointer" "oldval")
-    '("gpointer" "newval")
-    '("GDestroyNotify" "destroy")
-    '("GDestroyNotify*" "old_destroy")
-  )
-)
-
-(define-method watch_closure
-  (of-object "GObject")
-  (c-name "g_object_watch_closure")
-  (return-type "none")
-  (parameters
-    '("GClosure*" "closure")
-  )
-)
-
-(define-function g_cclosure_new_object
-  (c-name "g_cclosure_new_object")
-  (return-type "GClosure*")
-  (parameters
-    '("GCallback" "callback_func")
-    '("GObject*" "object")
-  )
-)
-
-(define-function g_cclosure_new_object_swap
-  (c-name "g_cclosure_new_object_swap")
-  (return-type "GClosure*")
-  (parameters
-    '("GCallback" "callback_func")
-    '("GObject*" "object")
-  )
-)
-
-(define-function g_closure_new_object
-  (c-name "g_closure_new_object")
-  (return-type "GClosure*")
-  (parameters
-    '("guint" "sizeof_closure")
-    '("GObject*" "object")
-  )
 )
 
-(define-method set_object
+(define-method copy
   (of-object "GValue")
-  (c-name "g_value_set_object")
+  (c-name "g_value_copy")
   (return-type "none")
   (parameters
-    '("gpointer" "v_object")
+    '("GValue*" "dest_value")
   )
 )
 
-(define-method get_object
+(define-method dup_boxed
   (of-object "GValue")
-  (c-name "g_value_get_object")
+  (c-name "g_value_dup_boxed")
   (return-type "gpointer")
 )
 
@@ -1851,245 +283,100 @@
   (return-type "gpointer")
 )
 
-(define-function g_signal_connect_object
-  (c-name "g_signal_connect_object")
-  (return-type "gulong")
-  (parameters
-    '("gpointer" "instance")
-    '("const-gchar*" "detailed_signal")
-    '("GCallback" "c_handler")
-    '("gpointer" "gobject")
-    '("GConnectFlags" "connect_flags")
-  )
-)
-
-(define-method force_floating
-  (of-object "GObject")
-  (c-name "g_object_force_floating")
-  (return-type "none")
-)
-
-(define-method run_dispose
-  (of-object "GObject")
-  (c-name "g_object_run_dispose")
-  (return-type "none")
-)
-
-(define-method take_object
+(define-method dup_param
   (of-object "GValue")
-  (c-name "g_value_take_object")
-  (return-type "none")
-  (parameters
-    '("gpointer" "v_object")
-  )
+  (c-name "g_value_dup_param")
+  (return-type "GParamSpec*")
 )
 
-(define-method set_object_take_ownership
+(define-method dup_string
   (of-object "GValue")
-  (c-name "g_value_set_object_take_ownership")
-  (return-type "none")
-  (parameters
-    '("gpointer" "v_object")
-  )
-)
-
-(define-function g_object_compat_control
-  (c-name "g_object_compat_control")
-  (return-type "gsize")
-  (parameters
-    '("gsize" "what")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_clear_object
-  (c-name "g_clear_object")
-  (return-type "none")
-  (parameters
-    '("volatile-GObject**" "object_ptr")
-  )
-)
-
-(define-method init
-  (of-object "GWeakRef")
-  (c-name "g_weak_ref_init")
-  (return-type "none")
-  (parameters
-    '("gpointer" "object")
-  )
-)
-
-(define-method clear
-  (of-object "GWeakRef")
-  (c-name "g_weak_ref_clear")
-  (return-type "none")
-)
-
-(define-method get
-  (of-object "GWeakRef")
-  (c-name "g_weak_ref_get")
-  (return-type "gpointer")
-)
-
-(define-method set
-  (of-object "GWeakRef")
-  (c-name "g_weak_ref_set")
-  (return-type "none")
-  (parameters
-    '("gpointer" "object")
-  )
-)
-
-
-
-;; From gobject_trace.h
-
-
-
-;; From gparam.h
-
-(define-method ref
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_ref")
-  (return-type "GParamSpec*")
+  (c-name "g_value_dup_string")
+  (return-type "gchar*")
 )
 
-(define-method unref
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_unref")
-  (return-type "none")
+(define-method dup_variant
+  (of-object "GValue")
+  (c-name "g_value_dup_variant")
+  (return-type "GVariant*")
 )
 
-(define-method sink
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_sink")
-  (return-type "none")
+(define-method fits_pointer
+  (of-object "GValue")
+  (c-name "g_value_fits_pointer")
+  (return-type "gboolean")
 )
 
-(define-method ref_sink
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_ref_sink")
-  (return-type "GParamSpec*")
+(define-method get_boolean
+  (of-object "GValue")
+  (c-name "g_value_get_boolean")
+  (return-type "gboolean")
 )
 
-(define-method get_qdata
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_get_qdata")
+(define-method get_boxed
+  (of-object "GValue")
+  (c-name "g_value_get_boxed")
   (return-type "gpointer")
-  (parameters
-    '("GQuark" "quark")
-  )
-)
-
-(define-method set_qdata
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_set_qdata")
-  (return-type "none")
-  (parameters
-    '("GQuark" "quark")
-    '("gpointer" "data")
-  )
 )
 
-(define-method set_qdata_full
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_set_qdata_full")
-  (return-type "none")
-  (parameters
-    '("GQuark" "quark")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy")
-  )
-)
-
-(define-method steal_qdata
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_steal_qdata")
-  (return-type "gpointer")
-  (parameters
-    '("GQuark" "quark")
-  )
+(define-method get_char
+  (of-object "GValue")
+  (c-name "g_value_get_char")
+  (return-type "gchar")
 )
 
-(define-method get_redirect_target
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_get_redirect_target")
-  (return-type "GParamSpec*")
+(define-method get_double
+  (of-object "GValue")
+  (c-name "g_value_get_double")
+  (return-type "gdouble")
 )
 
-(define-function g_param_value_set_default
-  (c-name "g_param_value_set_default")
-  (return-type "none")
-  (parameters
-    '("GParamSpec*" "pspec")
-    '("GValue*" "value")
-  )
+(define-method get_enum
+  (of-object "GValue")
+  (c-name "g_value_get_enum")
+  (return-type "gint")
 )
 
-(define-function g_param_value_defaults
-  (c-name "g_param_value_defaults")
-  (return-type "gboolean")
-  (parameters
-    '("GParamSpec*" "pspec")
-    '("GValue*" "value")
-  )
+(define-method get_flags
+  (of-object "GValue")
+  (c-name "g_value_get_flags")
+  (return-type "guint")
 )
 
-(define-function g_param_value_validate
-  (c-name "g_param_value_validate")
-  (return-type "gboolean")
-  (parameters
-    '("GParamSpec*" "pspec")
-    '("GValue*" "value")
-  )
+(define-method get_float
+  (of-object "GValue")
+  (c-name "g_value_get_float")
+  (return-type "gfloat")
 )
 
-(define-function g_param_value_convert
-  (c-name "g_param_value_convert")
-  (return-type "gboolean")
-  (parameters
-    '("GParamSpec*" "pspec")
-    '("const-GValue*" "src_value")
-    '("GValue*" "dest_value")
-    '("gboolean" "strict_validation")
-  )
+(define-method get_gtype
+  (of-object "GValue")
+  (c-name "g_value_get_gtype")
+  (return-type "GType")
 )
 
-(define-function g_param_values_cmp
-  (c-name "g_param_values_cmp")
+(define-method get_int
+  (of-object "GValue")
+  (c-name "g_value_get_int")
   (return-type "gint")
-  (parameters
-    '("GParamSpec*" "pspec")
-    '("const-GValue*" "value1")
-    '("const-GValue*" "value2")
-  )
 )
 
-(define-method get_name
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_get_name")
-  (return-type "const-gchar*")
-)
-
-(define-method get_nick
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_get_nick")
-  (return-type "const-gchar*")
+(define-method get_int64
+  (of-object "GValue")
+  (c-name "g_value_get_int64")
+  (return-type "gint64")
 )
 
-(define-method get_blurb
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_get_blurb")
-  (return-type "const-gchar*")
+(define-method get_long
+  (of-object "GValue")
+  (c-name "g_value_get_long")
+  (return-type "glong")
 )
 
-(define-method set_param
+(define-method get_object
   (of-object "GValue")
-  (c-name "g_value_set_param")
-  (return-type "none")
-  (parameters
-    '("GParamSpec*" "param")
-  )
+  (c-name "g_value_get_object")
+  (return-type "gpointer")
 )
 
 (define-method get_param
@@ -2098,1537 +385,417 @@
   (return-type "GParamSpec*")
 )
 
-(define-method dup_param
+(define-method get_pointer
   (of-object "GValue")
-  (c-name "g_value_dup_param")
-  (return-type "GParamSpec*")
+  (c-name "g_value_get_pointer")
+  (return-type "gpointer")
 )
 
-(define-method take_param
+(define-method get_schar
   (of-object "GValue")
-  (c-name "g_value_take_param")
-  (return-type "none")
-  (parameters
-    '("GParamSpec*" "param")
-  )
+  (c-name "g_value_get_schar")
+  (return-type "gint8")
 )
 
-(define-method set_param_take_ownership
+(define-method get_string
   (of-object "GValue")
-  (c-name "g_value_set_param_take_ownership")
-  (return-type "none")
-  (parameters
-    '("GParamSpec*" "param")
-  )
-)
-
-(define-method get_default_value
-  (of-object "GParamSpec")
-  (c-name "g_param_spec_get_default_value")
-  (return-type "const-GValue*")
-)
-
-(define-function g_param_type_register_static
-  (c-name "g_param_type_register_static")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-GParamSpecTypeInfo*" "pspec_info")
-  )
-)
-
-(define-function g_param_spec_internal
-  (c-name "g_param_spec_internal")
-  (return-type "gpointer")
-  (parameters
-    '("GType" "param_type")
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_pool_new
-  (c-name "g_param_spec_pool_new")
-  (is-constructor-of "GParamSpecPool")
-  (return-type "GParamSpecPool*")
-  (parameters
-    '("gboolean" "type_prefixing")
-  )
-)
-
-(define-method insert
-  (of-object "GParamSpecPool")
-  (c-name "g_param_spec_pool_insert")
-  (return-type "none")
-  (parameters
-    '("GParamSpec*" "pspec")
-    '("GType" "owner_type")
-  )
-)
-
-(define-method remove
-  (of-object "GParamSpecPool")
-  (c-name "g_param_spec_pool_remove")
-  (return-type "none")
-  (parameters
-    '("GParamSpec*" "pspec")
-  )
-)
-
-(define-method lookup
-  (of-object "GParamSpecPool")
-  (c-name "g_param_spec_pool_lookup")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "param_name")
-    '("GType" "owner_type")
-    '("gboolean" "walk_ancestors")
-  )
-)
-
-(define-method list_owned
-  (of-object "GParamSpecPool")
-  (c-name "g_param_spec_pool_list_owned")
-  (return-type "GList*")
-  (parameters
-    '("GType" "owner_type")
-  )
-)
-
-(define-method list
-  (of-object "GParamSpecPool")
-  (c-name "g_param_spec_pool_list")
-  (return-type "GParamSpec**")
-  (parameters
-    '("GType" "owner_type")
-    '("guint*" "n_pspecs_p")
-  )
-)
-
-
-
-;; From gparamspecs.h
-
-(define-function g_param_spec_char
-  (c-name "g_param_spec_char")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gint8" "minimum")
-    '("gint8" "maximum")
-    '("gint8" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_uchar
-  (c-name "g_param_spec_uchar")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("guint8" "minimum")
-    '("guint8" "maximum")
-    '("guint8" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_boolean
-  (c-name "g_param_spec_boolean")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gboolean" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_int
-  (c-name "g_param_spec_int")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gint" "minimum")
-    '("gint" "maximum")
-    '("gint" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_uint
-  (c-name "g_param_spec_uint")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("guint" "minimum")
-    '("guint" "maximum")
-    '("guint" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_long
-  (c-name "g_param_spec_long")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("glong" "minimum")
-    '("glong" "maximum")
-    '("glong" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_ulong
-  (c-name "g_param_spec_ulong")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gulong" "minimum")
-    '("gulong" "maximum")
-    '("gulong" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_int64
-  (c-name "g_param_spec_int64")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gint64" "minimum")
-    '("gint64" "maximum")
-    '("gint64" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_uint64
-  (c-name "g_param_spec_uint64")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("guint64" "minimum")
-    '("guint64" "maximum")
-    '("guint64" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_unichar
-  (c-name "g_param_spec_unichar")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gunichar" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_enum
-  (c-name "g_param_spec_enum")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GType" "enum_type")
-    '("gint" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_flags
-  (c-name "g_param_spec_flags")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GType" "flags_type")
-    '("guint" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_float
-  (c-name "g_param_spec_float")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gfloat" "minimum")
-    '("gfloat" "maximum")
-    '("gfloat" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_double
-  (c-name "g_param_spec_double")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("gdouble" "minimum")
-    '("gdouble" "maximum")
-    '("gdouble" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_string
-  (c-name "g_param_spec_string")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("const-gchar*" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_param
-  (c-name "g_param_spec_param")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GType" "param_type")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_boxed
-  (c-name "g_param_spec_boxed")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GType" "boxed_type")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_pointer
-  (c-name "g_param_spec_pointer")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_value_array
-  (c-name "g_param_spec_value_array")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GParamSpec*" "element_spec")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_object
-  (c-name "g_param_spec_object")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GType" "object_type")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_override
-  (c-name "g_param_spec_override")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("GParamSpec*" "overridden")
-  )
-)
-
-(define-function g_param_spec_gtype
-  (c-name "g_param_spec_gtype")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("GType" "is_a_type")
-    '("GParamFlags" "flags")
-  )
-)
-
-(define-function g_param_spec_variant
-  (c-name "g_param_spec_variant")
-  (return-type "GParamSpec*")
-  (parameters
-    '("const-gchar*" "name")
-    '("const-gchar*" "nick")
-    '("const-gchar*" "blurb")
-    '("const-GVariantType*" "type")
-    '("GVariant*" "default_value")
-    '("GParamFlags" "flags")
-  )
-)
-
-
-
-;; From gsignal.h
-
-(define-function g_signal_newv
-  (c-name "g_signal_newv")
-  (return-type "guint")
-  (parameters
-    '("const-gchar*" "signal_name")
-    '("GType" "itype")
-    '("GSignalFlags" "signal_flags")
-    '("GClosure*" "class_closure")
-    '("GSignalAccumulator" "accumulator")
-    '("gpointer" "accu_data")
-    '("GSignalCMarshaller" "c_marshaller")
-    '("GType" "return_type")
-    '("guint" "n_params")
-    '("GType*" "param_types")
-  )
-)
-
-(define-function g_signal_new_valist
-  (c-name "g_signal_new_valist")
-  (return-type "guint")
-  (parameters
-    '("const-gchar*" "signal_name")
-    '("GType" "itype")
-    '("GSignalFlags" "signal_flags")
-    '("GClosure*" "class_closure")
-    '("GSignalAccumulator" "accumulator")
-    '("gpointer" "accu_data")
-    '("GSignalCMarshaller" "c_marshaller")
-    '("GType" "return_type")
-    '("guint" "n_params")
-    '("va_list" "args")
-  )
+  (c-name "g_value_get_string")
+  (return-type "const-gchar*")
 )
 
-(define-function g_signal_new
-  (c-name "g_signal_new")
-  (return-type "guint")
-  (parameters
-    '("const-gchar*" "signal_name")
-    '("GType" "itype")
-    '("GSignalFlags" "signal_flags")
-    '("guint" "class_offset")
-    '("GSignalAccumulator" "accumulator")
-    '("gpointer" "accu_data")
-    '("GSignalCMarshaller" "c_marshaller")
-    '("GType" "return_type")
-    '("guint" "n_params")
-  )
-  (varargs #t)
+(define-method get_uchar
+  (of-object "GValue")
+  (c-name "g_value_get_uchar")
+  (return-type "guchar")
 )
 
-(define-function g_signal_new_class_handler
-  (c-name "g_signal_new_class_handler")
+(define-method get_uint
+  (of-object "GValue")
+  (c-name "g_value_get_uint")
   (return-type "guint")
-  (parameters
-    '("const-gchar*" "signal_name")
-    '("GType" "itype")
-    '("GSignalFlags" "signal_flags")
-    '("GCallback" "class_handler")
-    '("GSignalAccumulator" "accumulator")
-    '("gpointer" "accu_data")
-    '("GSignalCMarshaller" "c_marshaller")
-    '("GType" "return_type")
-    '("guint" "n_params")
-  )
-  (varargs #t)
 )
 
-(define-function g_signal_set_va_marshaller
-  (c-name "g_signal_set_va_marshaller")
-  (return-type "none")
-  (parameters
-    '("guint" "signal_id")
-    '("GType" "instance_type")
-    '("GSignalCVaMarshaller" "va_marshaller")
-  )
+(define-method get_uint64
+  (of-object "GValue")
+  (c-name "g_value_get_uint64")
+  (return-type "guint64")
 )
 
-(define-function g_signal_emitv
-  (c-name "g_signal_emitv")
-  (return-type "none")
-  (parameters
-    '("const-GValue*" "instance_and_params")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GValue*" "return_value")
-  )
+(define-method get_ulong
+  (of-object "GValue")
+  (c-name "g_value_get_ulong")
+  (return-type "gulong")
 )
 
-(define-function g_signal_emit_valist
-  (c-name "g_signal_emit_valist")
-  (return-type "none")
-  (parameters
-    '("gpointer" "instance")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("va_list" "var_args")
-  )
+(define-method get_variant
+  (of-object "GValue")
+  (c-name "g_value_get_variant")
+  (return-type "GVariant*")
 )
 
-(define-function g_signal_emit
-  (c-name "g_signal_emit")
-  (return-type "none")
+(define-method init
+  (of-object "GValue")
+  (c-name "g_value_init")
+  (return-type "GValue*")
   (parameters
-    '("gpointer" "instance")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
+    '("GType" "g_type")
   )
-  (varargs #t)
 )
 
-(define-function g_signal_emit_by_name
-  (c-name "g_signal_emit_by_name")
+(define-method init_from_instance
+  (of-object "GValue")
+  (c-name "g_value_init_from_instance")
   (return-type "none")
   (parameters
     '("gpointer" "instance")
-    '("const-gchar*" "detailed_signal")
-  )
-  (varargs #t)
-)
-
-(define-function g_signal_lookup
-  (c-name "g_signal_lookup")
-  (return-type "guint")
-  (parameters
-    '("const-gchar*" "name")
-    '("GType" "itype")
-  )
-)
-
-(define-function g_signal_name
-  (c-name "g_signal_name")
-  (return-type "const-gchar*")
-  (parameters
-    '("guint" "signal_id")
-  )
-)
-
-(define-function g_signal_query
-  (c-name "g_signal_query")
-  (return-type "none")
-  (parameters
-    '("guint" "signal_id")
-    '("GSignalQuery*" "query")
-  )
-)
-
-(define-function g_signal_list_ids
-  (c-name "g_signal_list_ids")
-  (return-type "guint*")
-  (parameters
-    '("GType" "itype")
-    '("guint*" "n_ids")
   )
 )
 
-(define-function g_signal_parse_name
-  (c-name "g_signal_parse_name")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "detailed_signal")
-    '("GType" "itype")
-    '("guint*" "signal_id_p")
-    '("GQuark*" "detail_p")
-    '("gboolean" "force_detail_quark")
-  )
+(define-method peek_pointer
+  (of-object "GValue")
+  (c-name "g_value_peek_pointer")
+  (return-type "gpointer")
 )
 
-(define-function g_signal_get_invocation_hint
-  (c-name "g_signal_get_invocation_hint")
-  (return-type "GSignalInvocationHint*")
-  (parameters
-    '("gpointer" "instance")
-  )
+(define-method reset
+  (of-object "GValue")
+  (c-name "g_value_reset")
+  (return-type "GValue*")
 )
 
-(define-function g_signal_stop_emission
-  (c-name "g_signal_stop_emission")
+(define-method set_boolean
+  (of-object "GValue")
+  (c-name "g_value_set_boolean")
   (return-type "none")
   (parameters
-    '("gpointer" "instance")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
+    '("gboolean" "v_boolean")
   )
 )
 
-(define-function g_signal_stop_emission_by_name
-  (c-name "g_signal_stop_emission_by_name")
+(define-method set_boxed
+  (of-object "GValue")
+  (c-name "g_value_set_boxed")
   (return-type "none")
   (parameters
-    '("gpointer" "instance")
-    '("const-gchar*" "detailed_signal")
-  )
-)
-
-(define-function g_signal_add_emission_hook
-  (c-name "g_signal_add_emission_hook")
-  (return-type "gulong")
-  (parameters
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GSignalEmissionHook" "hook_func")
-    '("gpointer" "hook_data")
-    '("GDestroyNotify" "data_destroy")
+    '("gconstpointer" "v_boxed")
   )
 )
 
-(define-function g_signal_remove_emission_hook
-  (c-name "g_signal_remove_emission_hook")
+(define-method set_boxed_take_ownership
+  (of-object "GValue")
+  (c-name "g_value_set_boxed_take_ownership")
   (return-type "none")
   (parameters
-    '("guint" "signal_id")
-    '("gulong" "hook_id")
-  )
-)
-
-(define-function g_signal_has_handler_pending
-  (c-name "g_signal_has_handler_pending")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "instance")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("gboolean" "may_be_blocked")
-  )
-)
-
-(define-function g_signal_connect_closure_by_id
-  (c-name "g_signal_connect_closure_by_id")
-  (return-type "gulong")
-  (parameters
-    '("gpointer" "instance")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GClosure*" "closure")
-    '("gboolean" "after")
-  )
-)
-
-(define-function g_signal_connect_closure
-  (c-name "g_signal_connect_closure")
-  (return-type "gulong")
-  (parameters
-    '("gpointer" "instance")
-    '("const-gchar*" "detailed_signal")
-    '("GClosure*" "closure")
-    '("gboolean" "after")
-  )
-)
-
-(define-function g_signal_connect_data
-  (c-name "g_signal_connect_data")
-  (return-type "gulong")
-  (parameters
-    '("gpointer" "instance")
-    '("const-gchar*" "detailed_signal")
-    '("GCallback" "c_handler")
-    '("gpointer" "data")
-    '("GClosureNotify" "destroy_data")
-    '("GConnectFlags" "connect_flags")
+    '("gconstpointer" "v_boxed")
   )
 )
 
-(define-function g_signal_handler_block
-  (c-name "g_signal_handler_block")
+(define-method set_char
+  (of-object "GValue")
+  (c-name "g_value_set_char")
   (return-type "none")
   (parameters
-    '("gpointer" "instance")
-    '("gulong" "handler_id")
+    '("gchar" "v_char")
   )
 )
 
-(define-function g_signal_handler_unblock
-  (c-name "g_signal_handler_unblock")
+(define-method set_double
+  (of-object "GValue")
+  (c-name "g_value_set_double")
   (return-type "none")
   (parameters
-    '("gpointer" "instance")
-    '("gulong" "handler_id")
+    '("gdouble" "v_double")
   )
 )
 
-(define-function g_signal_handler_disconnect
-  (c-name "g_signal_handler_disconnect")
+(define-method set_enum
+  (of-object "GValue")
+  (c-name "g_value_set_enum")
   (return-type "none")
   (parameters
-    '("gpointer" "instance")
-    '("gulong" "handler_id")
-  )
-)
-
-(define-function g_signal_handler_is_connected
-  (c-name "g_signal_handler_is_connected")
-  (return-type "gboolean")
-  (parameters
-    '("gpointer" "instance")
-    '("gulong" "handler_id")
-  )
-)
-
-(define-function g_signal_handler_find
-  (c-name "g_signal_handler_find")
-  (return-type "gulong")
-  (parameters
-    '("gpointer" "instance")
-    '("GSignalMatchType" "mask")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GClosure*" "closure")
-    '("gpointer" "func")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_signal_handlers_block_matched
-  (c-name "g_signal_handlers_block_matched")
-  (return-type "guint")
-  (parameters
-    '("gpointer" "instance")
-    '("GSignalMatchType" "mask")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GClosure*" "closure")
-    '("gpointer" "func")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_signal_handlers_unblock_matched
-  (c-name "g_signal_handlers_unblock_matched")
-  (return-type "guint")
-  (parameters
-    '("gpointer" "instance")
-    '("GSignalMatchType" "mask")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GClosure*" "closure")
-    '("gpointer" "func")
-    '("gpointer" "data")
-  )
-)
-
-(define-function g_signal_handlers_disconnect_matched
-  (c-name "g_signal_handlers_disconnect_matched")
-  (return-type "guint")
-  (parameters
-    '("gpointer" "instance")
-    '("GSignalMatchType" "mask")
-    '("guint" "signal_id")
-    '("GQuark" "detail")
-    '("GClosure*" "closure")
-    '("gpointer" "func")
-    '("gpointer" "data")
+    '("gint" "v_enum")
   )
 )
 
-(define-function g_signal_override_class_closure
-  (c-name "g_signal_override_class_closure")
+(define-method set_flags
+  (of-object "GValue")
+  (c-name "g_value_set_flags")
   (return-type "none")
   (parameters
-    '("guint" "signal_id")
-    '("GType" "instance_type")
-    '("GClosure*" "class_closure")
+    '("guint" "v_flags")
   )
 )
 
-(define-function g_signal_override_class_handler
-  (c-name "g_signal_override_class_handler")
+(define-method set_float
+  (of-object "GValue")
+  (c-name "g_value_set_float")
   (return-type "none")
   (parameters
-    '("const-gchar*" "signal_name")
-    '("GType" "instance_type")
-    '("GCallback" "class_handler")
+    '("gfloat" "v_float")
   )
 )
 
-(define-function g_signal_chain_from_overridden
-  (c-name "g_signal_chain_from_overridden")
+(define-method set_gtype
+  (of-object "GValue")
+  (c-name "g_value_set_gtype")
   (return-type "none")
   (parameters
-    '("const-GValue*" "instance_and_params")
-    '("GValue*" "return_value")
+    '("GType" "v_gtype")
   )
 )
 
-(define-function g_signal_chain_from_overridden_handler
-  (c-name "g_signal_chain_from_overridden_handler")
+(define-method set_instance
+  (of-object "GValue")
+  (c-name "g_value_set_instance")
   (return-type "none")
   (parameters
     '("gpointer" "instance")
   )
-  (varargs #t)
-)
-
-(define-function g_signal_accumulator_true_handled
-  (c-name "g_signal_accumulator_true_handled")
-  (return-type "gboolean")
-  (parameters
-    '("GSignalInvocationHint*" "ihint")
-    '("GValue*" "return_accu")
-    '("const-GValue*" "handler_return")
-    '("gpointer" "dummy")
-  )
 )
 
-(define-function g_signal_accumulator_first_wins
-  (c-name "g_signal_accumulator_first_wins")
-  (return-type "gboolean")
-  (parameters
-    '("GSignalInvocationHint*" "ihint")
-    '("GValue*" "return_accu")
-    '("const-GValue*" "handler_return")
-    '("gpointer" "dummy")
-  )
-)
-
-(define-function g_signal_handlers_destroy
-  (c-name "g_signal_handlers_destroy")
+(define-method set_int
+  (of-object "GValue")
+  (c-name "g_value_set_int")
   (return-type "none")
   (parameters
-    '("gpointer" "instance")
+    '("gint" "v_int")
   )
 )
 
-
-
-;; From gsourceclosure.h
-
-(define-method set_closure
-  (of-object "GSource")
-  (c-name "g_source_set_closure")
+(define-method set_int64
+  (of-object "GValue")
+  (c-name "g_value_set_int64")
   (return-type "none")
   (parameters
-    '("GClosure*" "closure")
+    '("gint64" "v_int64")
   )
 )
 
-(define-method set_dummy_callback
-  (of-object "GSource")
-  (c-name "g_source_set_dummy_callback")
-  (return-type "none")
-)
-
-
-
-;; From gtype.h
-
-(define-function g_type_init
-  (c-name "g_type_init")
-  (return-type "none")
-)
-
-(define-function g_type_init_with_debug_flags
-  (c-name "g_type_init_with_debug_flags")
+(define-method set_long
+  (of-object "GValue")
+  (c-name "g_value_set_long")
   (return-type "none")
   (parameters
-    '("GTypeDebugFlags" "debug_flags")
-  )
-)
-
-(define-method name
-  (of-object "GType")
-  (c-name "g_type_name")
-  (return-type "const-gchar*")
-)
-
-(define-method qname
-  (of-object "GType")
-  (c-name "g_type_qname")
-  (return-type "GQuark")
-)
-
-(define-function g_type_from_name
-  (c-name "g_type_from_name")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-method parent
-  (of-object "GType")
-  (c-name "g_type_parent")
-  (return-type "GType")
-)
-
-(define-method depth
-  (of-object "GType")
-  (c-name "g_type_depth")
-  (return-type "guint")
-)
-
-(define-method next_base
-  (of-object "GType")
-  (c-name "g_type_next_base")
-  (return-type "GType")
-  (parameters
-    '("GType" "root_type")
-  )
-)
-
-(define-method is_a
-  (of-object "GType")
-  (c-name "g_type_is_a")
-  (return-type "gboolean")
-  (parameters
-    '("GType" "is_a_type")
+    '("glong" "v_long")
   )
 )
 
-(define-method class_ref
-  (of-object "GType")
-  (c-name "g_type_class_ref")
-  (return-type "gpointer")
-)
-
-(define-method class_peek
-  (of-object "GType")
-  (c-name "g_type_class_peek")
-  (return-type "gpointer")
-)
-
-(define-method class_peek_static
-  (of-object "GType")
-  (c-name "g_type_class_peek_static")
-  (return-type "gpointer")
-)
-
-(define-function g_type_class_unref
-  (c-name "g_type_class_unref")
+(define-method set_object
+  (of-object "GValue")
+  (c-name "g_value_set_object")
   (return-type "none")
   (parameters
-    '("gpointer" "g_class")
-  )
-)
-
-(define-function g_type_class_peek_parent
-  (c-name "g_type_class_peek_parent")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "g_class")
-  )
-)
-
-(define-function g_type_interface_peek
-  (c-name "g_type_interface_peek")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "instance_class")
-    '("GType" "iface_type")
-  )
-)
-
-(define-function g_type_interface_peek_parent
-  (c-name "g_type_interface_peek_parent")
-  (return-type "gpointer")
-  (parameters
-    '("gpointer" "g_iface")
+    '("gpointer" "v_object")
   )
 )
 
-(define-method default_interface_ref
-  (of-object "GType")
-  (c-name "g_type_default_interface_ref")
-  (return-type "gpointer")
-)
-
-(define-method default_interface_peek
-  (of-object "GType")
-  (c-name "g_type_default_interface_peek")
-  (return-type "gpointer")
-)
-
-(define-function g_type_default_interface_unref
-  (c-name "g_type_default_interface_unref")
+(define-method set_object_take_ownership
+  (of-object "GValue")
+  (c-name "g_value_set_object_take_ownership")
   (return-type "none")
   (parameters
-    '("gpointer" "g_iface")
-  )
-)
-
-(define-method children
-  (of-object "GType")
-  (c-name "g_type_children")
-  (return-type "GType*")
-  (parameters
-    '("guint*" "n_children")
-  )
-)
-
-(define-method interfaces
-  (of-object "GType")
-  (c-name "g_type_interfaces")
-  (return-type "GType*")
-  (parameters
-    '("guint*" "n_interfaces")
+    '("gpointer" "v_object")
   )
 )
 
-(define-method set_qdata
-  (of-object "GType")
-  (c-name "g_type_set_qdata")
+(define-method set_param
+  (of-object "GValue")
+  (c-name "g_value_set_param")
   (return-type "none")
   (parameters
-    '("GQuark" "quark")
-    '("gpointer" "data")
-  )
-)
-
-(define-method get_qdata
-  (of-object "GType")
-  (c-name "g_type_get_qdata")
-  (return-type "gpointer")
-  (parameters
-    '("GQuark" "quark")
+    '("GParamSpec*" "param")
   )
 )
 
-(define-method query
-  (of-object "GType")
-  (c-name "g_type_query")
+(define-method set_param_take_ownership
+  (of-object "GValue")
+  (c-name "g_value_set_param_take_ownership")
   (return-type "none")
   (parameters
-    '("GTypeQuery*" "query")
-  )
-)
-
-(define-method register_static
-  (of-object "GType")
-  (c-name "g_type_register_static")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "type_name")
-    '("const-GTypeInfo*" "info")
-    '("GTypeFlags" "flags")
-  )
-)
-
-(define-method register_static_simple
-  (of-object "GType")
-  (c-name "g_type_register_static_simple")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "type_name")
-    '("guint" "class_size")
-    '("GClassInitFunc" "class_init")
-    '("guint" "instance_size")
-    '("GInstanceInitFunc" "instance_init")
-    '("GTypeFlags" "flags")
-  )
-)
-
-(define-method register_dynamic
-  (of-object "GType")
-  (c-name "g_type_register_dynamic")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "type_name")
-    '("GTypePlugin*" "plugin")
-    '("GTypeFlags" "flags")
-  )
-)
-
-(define-method register_fundamental
-  (of-object "GType")
-  (c-name "g_type_register_fundamental")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "type_name")
-    '("const-GTypeInfo*" "info")
-    '("const-GTypeFundamentalInfo*" "finfo")
-    '("GTypeFlags" "flags")
+    '("GParamSpec*" "param")
   )
 )
 
-(define-method add_interface_static
-  (of-object "GType")
-  (c-name "g_type_add_interface_static")
+(define-method set_pointer
+  (of-object "GValue")
+  (c-name "g_value_set_pointer")
   (return-type "none")
   (parameters
-    '("GType" "interface_type")
-    '("const-GInterfaceInfo*" "info")
+    '("gpointer" "v_pointer")
   )
 )
 
-(define-method add_interface_dynamic
-  (of-object "GType")
-  (c-name "g_type_add_interface_dynamic")
+(define-method set_schar
+  (of-object "GValue")
+  (c-name "g_value_set_schar")
   (return-type "none")
   (parameters
-    '("GType" "interface_type")
-    '("GTypePlugin*" "plugin")
+    '("gint8" "v_char")
   )
 )
 
-(define-method interface_add_prerequisite
-  (of-object "GType")
-  (c-name "g_type_interface_add_prerequisite")
+(define-method set_static_boxed
+  (of-object "GValue")
+  (c-name "g_value_set_static_boxed")
   (return-type "none")
   (parameters
-    '("GType" "prerequisite_type")
-  )
-)
-
-(define-method interface_prerequisites
-  (of-object "GType")
-  (c-name "g_type_interface_prerequisites")
-  (return-type "GType*")
-  (parameters
-    '("guint*" "n_prerequisites")
+    '("gconstpointer" "v_boxed")
   )
 )
 
-(define-function g_type_class_add_private
-  (c-name "g_type_class_add_private")
+(define-method set_static_string
+  (of-object "GValue")
+  (c-name "g_value_set_static_string")
   (return-type "none")
   (parameters
-    '("gpointer" "g_class")
-    '("gsize" "private_size")
-  )
-)
-
-(define-method add_instance_private
-  (of-object "GType")
-  (c-name "g_type_add_instance_private")
-  (return-type "gint")
-  (parameters
-    '("gsize" "private_size")
-  )
-)
-
-(define-method get_private
-  (of-object "GTypeInstance")
-  (c-name "g_type_instance_get_private")
-  (return-type "gpointer")
-  (parameters
-    '("GType" "private_type")
+    '("const-gchar*" "v_string")
   )
 )
 
-(define-function g_type_class_adjust_private_offset
-  (c-name "g_type_class_adjust_private_offset")
+(define-method set_string
+  (of-object "GValue")
+  (c-name "g_value_set_string")
   (return-type "none")
   (parameters
-    '("gpointer" "g_class")
-    '("gint*" "private_size_or_offset")
+    '("const-gchar*" "v_string")
   )
 )
 
-(define-method add_class_private
-  (of-object "GType")
-  (c-name "g_type_add_class_private")
+(define-method set_string_take_ownership
+  (of-object "GValue")
+  (c-name "g_value_set_string_take_ownership")
   (return-type "none")
   (parameters
-    '("gsize" "private_size")
-  )
-)
-
-(define-method get_private
-  (of-object "GTypeClass")
-  (c-name "g_type_class_get_private")
-  (return-type "gpointer")
-  (parameters
-    '("GType" "private_type")
-  )
-)
-
-(define-function g_type_class_get_instance_private_offset
-  (c-name "g_type_class_get_instance_private_offset")
-  (return-type "gint")
-  (parameters
-    '("gpointer" "g_class")
+    '("gchar*" "v_string")
   )
 )
 
-(define-method ensure
-  (of-object "GType")
-  (c-name "g_type_ensure")
+(define-method set_uchar
+  (of-object "GValue")
+  (c-name "g_value_set_uchar")
   (return-type "none")
-)
-
-(define-function g_type_get_type_registration_serial
-  (c-name "g_type_get_type_registration_serial")
-  (return-type "guint")
-)
-
-(define-method get_plugin
-  (of-object "GType")
-  (c-name "g_type_get_plugin")
-  (return-type "GTypePlugin*")
-)
-
-(define-method interface_get_plugin
-  (of-object "GType")
-  (c-name "g_type_interface_get_plugin")
-  (return-type "GTypePlugin*")
   (parameters
-    '("GType" "interface_type")
+    '("guchar" "v_uchar")
   )
 )
 
-(define-function g_type_fundamental_next
-  (c-name "g_type_fundamental_next")
-  (return-type "GType")
-)
-
-(define-method fundamental
-  (of-object "GType")
-  (c-name "g_type_fundamental")
-  (return-type "GType")
-)
-
-(define-method create_instance
-  (of-object "GType")
-  (c-name "g_type_create_instance")
-  (return-type "GTypeInstance*")
-)
-
-(define-function g_type_free_instance
-  (c-name "g_type_free_instance")
+(define-method set_uint
+  (of-object "GValue")
+  (c-name "g_value_set_uint")
   (return-type "none")
   (parameters
-    '("GTypeInstance*" "instance")
+    '("guint" "v_uint")
   )
 )
 
-(define-function g_type_add_class_cache_func
-  (c-name "g_type_add_class_cache_func")
+(define-method set_uint64
+  (of-object "GValue")
+  (c-name "g_value_set_uint64")
   (return-type "none")
   (parameters
-    '("gpointer" "cache_data")
-    '("GTypeClassCacheFunc" "cache_func")
+    '("guint64" "v_uint64")
   )
 )
 
-(define-function g_type_remove_class_cache_func
-  (c-name "g_type_remove_class_cache_func")
+(define-method set_ulong
+  (of-object "GValue")
+  (c-name "g_value_set_ulong")
   (return-type "none")
   (parameters
-    '("gpointer" "cache_data")
-    '("GTypeClassCacheFunc" "cache_func")
+    '("gulong" "v_ulong")
   )
 )
 
-(define-function g_type_class_unref_uncached
-  (c-name "g_type_class_unref_uncached")
+(define-method set_variant
+  (of-object "GValue")
+  (c-name "g_value_set_variant")
   (return-type "none")
   (parameters
-    '("gpointer" "g_class")
+    '("GVariant*" "variant")
   )
 )
 
-(define-function g_type_add_interface_check
-  (c-name "g_type_add_interface_check")
+(define-method take_boxed
+  (of-object "GValue")
+  (c-name "g_value_take_boxed")
   (return-type "none")
   (parameters
-    '("gpointer" "check_data")
-    '("GTypeInterfaceCheckFunc" "check_func")
+    '("gconstpointer" "v_boxed")
   )
 )
 
-(define-function g_type_remove_interface_check
-  (c-name "g_type_remove_interface_check")
+(define-method take_object
+  (of-object "GValue")
+  (c-name "g_value_take_object")
   (return-type "none")
   (parameters
-    '("gpointer" "check_data")
-    '("GTypeInterfaceCheckFunc" "check_func")
-  )
-)
-
-(define-method value_table_peek
-  (of-object "GType")
-  (c-name "g_type_value_table_peek")
-  (return-type "GTypeValueTable*")
-)
-
-(define-function g_type_check_instance
-  (c-name "g_type_check_instance")
-  (return-type "gboolean")
-  (parameters
-    '("GTypeInstance*" "instance")
-  )
-)
-
-(define-function g_type_check_instance_cast
-  (c-name "g_type_check_instance_cast")
-  (return-type "GTypeInstance*")
-  (parameters
-    '("GTypeInstance*" "instance")
-    '("GType" "iface_type")
-  )
-)
-
-(define-function g_type_check_instance_is_a
-  (c-name "g_type_check_instance_is_a")
-  (return-type "gboolean")
-  (parameters
-    '("GTypeInstance*" "instance")
-    '("GType" "iface_type")
-  )
-)
-
-(define-function g_type_check_instance_is_fundamentally_a
-  (c-name "g_type_check_instance_is_fundamentally_a")
-  (return-type "gboolean")
-  (parameters
-    '("GTypeInstance*" "instance")
-    '("GType" "fundamental_type")
-  )
-)
-
-(define-function g_type_check_class_cast
-  (c-name "g_type_check_class_cast")
-  (return-type "GTypeClass*")
-  (parameters
-    '("GTypeClass*" "g_class")
-    '("GType" "is_a_type")
-  )
-)
-
-(define-function g_type_check_class_is_a
-  (c-name "g_type_check_class_is_a")
-  (return-type "gboolean")
-  (parameters
-    '("GTypeClass*" "g_class")
-    '("GType" "is_a_type")
-  )
-)
-
-(define-method check_is_value_type
-  (of-object "GType")
-  (c-name "g_type_check_is_value_type")
-  (return-type "gboolean")
-)
-
-(define-function g_type_check_value
-  (c-name "g_type_check_value")
-  (return-type "gboolean")
-  (parameters
-    '("GValue*" "value")
-  )
-)
-
-(define-function g_type_check_value_holds
-  (c-name "g_type_check_value_holds")
-  (return-type "gboolean")
-  (parameters
-    '("GValue*" "value")
-    '("GType" "type")
-  )
-)
-
-(define-method test_flags
-  (of-object "GType")
-  (c-name "g_type_test_flags")
-  (return-type "gboolean")
-  (parameters
-    '("guint" "flags")
-  )
-)
-
-(define-function g_type_name_from_instance
-  (c-name "g_type_name_from_instance")
-  (return-type "const-gchar*")
-  (parameters
-    '("GTypeInstance*" "instance")
-  )
-)
-
-(define-function g_type_name_from_class
-  (c-name "g_type_name_from_class")
-  (return-type "const-gchar*")
-  (parameters
-    '("GTypeClass*" "g_class")
+    '("gpointer" "v_object")
   )
 )
 
-
-
-;; From gtypemodule.h
-
-(define-function g_type_module_get_type
-  (c-name "g_type_module_get_type")
-  (return-type "GType")
-)
-
-(define-method use
-  (of-object "GTypeModule")
-  (c-name "g_type_module_use")
-  (return-type "gboolean")
-)
-
-(define-method unuse
-  (of-object "GTypeModule")
-  (c-name "g_type_module_unuse")
-  (return-type "none")
-)
-
-(define-method set_name
-  (of-object "GTypeModule")
-  (c-name "g_type_module_set_name")
+(define-method take_param
+  (of-object "GValue")
+  (c-name "g_value_take_param")
   (return-type "none")
   (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-method register_type
-  (of-object "GTypeModule")
-  (c-name "g_type_module_register_type")
-  (return-type "GType")
-  (parameters
-    '("GType" "parent_type")
-    '("const-gchar*" "type_name")
-    '("const-GTypeInfo*" "type_info")
-    '("GTypeFlags" "flags")
+    '("GParamSpec*" "param")
   )
 )
 
-(define-method add_interface
-  (of-object "GTypeModule")
-  (c-name "g_type_module_add_interface")
+(define-method take_string
+  (of-object "GValue")
+  (c-name "g_value_take_string")
   (return-type "none")
   (parameters
-    '("GType" "instance_type")
-    '("GType" "interface_type")
-    '("const-GInterfaceInfo*" "interface_info")
+    '("gchar*" "v_string")
   )
 )
 
-(define-method register_enum
-  (of-object "GTypeModule")
-  (c-name "g_type_module_register_enum")
-  (return-type "GType")
+(define-method take_variant
+  (of-object "GValue")
+  (c-name "g_value_take_variant")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "name")
+    '("GVariant*" "variant")
   )
 )
 
-(define-method register_flags
-  (of-object "GTypeModule")
-  (c-name "g_type_module_register_flags")
-  (return-type "GType")
+(define-method transform
+  (of-object "GValue")
+  (c-name "g_value_transform")
+  (return-type "gboolean")
   (parameters
-    '("const-gchar*" "name")
+    '("GValue*" "dest_value")
   )
 )
 
-
-
-;; From gtypeplugin.h
-
-(define-function g_type_plugin_get_type
-  (c-name "g_type_plugin_get_type")
-  (return-type "GType")
-)
-
-(define-method use
-  (of-object "GTypePlugin")
-  (c-name "g_type_plugin_use")
-  (return-type "none")
-)
-
-(define-method unuse
-  (of-object "GTypePlugin")
-  (c-name "g_type_plugin_unuse")
+(define-method unset
+  (of-object "GValue")
+  (c-name "g_value_unset")
   (return-type "none")
 )
 
-(define-method complete_type_info
-  (of-object "GTypePlugin")
-  (c-name "g_type_plugin_complete_type_info")
-  (return-type "none")
-  (parameters
-    '("GType" "g_type")
-    '("GTypeInfo*" "info")
-    '("GTypeValueTable*" "value_table")
-  )
-)
-
-(define-method complete_interface_info
-  (of-object "GTypePlugin")
-  (c-name "g_type_plugin_complete_interface_info")
-  (return-type "none")
+(define-function new
+  (c-name "g_value_array_new")
+  (return-type "GValueArray*")
   (parameters
-    '("GType" "instance_type")
-    '("GType" "interface_type")
-    '("GInterfaceInfo*" "info")
+    '("guint" "n_prealloced")
   )
 )
 
-
-
-;; From gtype-private.h
-
-
-
-;; From gvaluearray.h
-
-(define-function g_value_array_get_type
-  (c-name "g_value_array_get_type")
-  (return-type "GType")
-)
-
-(define-method get_nth
+(define-method append
   (of-object "GValueArray")
-  (c-name "g_value_array_get_nth")
-  (return-type "GValue*")
+  (c-name "g_value_array_append")
+  (return-type "GValueArray*")
   (parameters
-    '("guint" "index_")
+    '("const-GValue*" "value")
   )
 )
 
-(define-function g_value_array_new
-  (c-name "g_value_array_new")
-  (is-constructor-of "GValueArray")
+(define-method copy
+  (of-object "GValueArray")
+  (c-name "g_value_array_copy")
   (return-type "GValueArray*")
-  (parameters
-    '("guint" "n_prealloced")
-  )
 )
 
 (define-method free
@@ -3637,36 +804,30 @@
   (return-type "none")
 )
 
-(define-method copy
-  (of-object "GValueArray")
-  (c-name "g_value_array_copy")
-  (return-type "GValueArray*")
-)
-
-(define-method prepend
+(define-method get_nth
   (of-object "GValueArray")
-  (c-name "g_value_array_prepend")
-  (return-type "GValueArray*")
+  (c-name "g_value_array_get_nth")
+  (return-type "GValue*")
   (parameters
-    '("const-GValue*" "value")
+    '("guint" "index_")
   )
 )
 
-(define-method append
+(define-method insert
   (of-object "GValueArray")
-  (c-name "g_value_array_append")
+  (c-name "g_value_array_insert")
   (return-type "GValueArray*")
   (parameters
+    '("guint" "index_")
     '("const-GValue*" "value")
   )
 )
 
-(define-method insert
+(define-method prepend
   (of-object "GValueArray")
-  (c-name "g_value_array_insert")
+  (c-name "g_value_array_prepend")
   (return-type "GValueArray*")
   (parameters
-    '("guint" "index_")
     '("const-GValue*" "value")
   )
 )
@@ -3699,422 +860,33 @@
   )
 )
 
-
-
-;; From gvaluecollector.h
-
-
-
-;; From gvalue.h
-
-(define-method init
-  (of-object "GValue")
-  (c-name "g_value_init")
-  (return-type "GValue*")
-  (parameters
-    '("GType" "g_type")
-  )
-)
-
-(define-method copy
-  (of-object "GValue")
-  (c-name "g_value_copy")
-  (return-type "none")
-  (parameters
-    '("GValue*" "dest_value")
-  )
-)
-
-(define-method reset
-  (of-object "GValue")
-  (c-name "g_value_reset")
-  (return-type "GValue*")
-)
-
-(define-method unset
-  (of-object "GValue")
-  (c-name "g_value_unset")
-  (return-type "none")
-)
-
-(define-method set_instance
-  (of-object "GValue")
-  (c-name "g_value_set_instance")
-  (return-type "none")
-  (parameters
-    '("gpointer" "instance")
-  )
-)
-
-(define-method init_from_instance
-  (of-object "GValue")
-  (c-name "g_value_init_from_instance")
-  (return-type "none")
-  (parameters
-    '("gpointer" "instance")
-  )
-)
-
-(define-method fits_pointer
-  (of-object "GValue")
-  (c-name "g_value_fits_pointer")
-  (return-type "gboolean")
-)
-
-(define-method peek_pointer
-  (of-object "GValue")
-  (c-name "g_value_peek_pointer")
-  (return-type "gpointer")
-)
-
-(define-function g_value_type_compatible
-  (c-name "g_value_type_compatible")
-  (return-type "gboolean")
-  (parameters
-    '("GType" "src_type")
-    '("GType" "dest_type")
-  )
-)
-
-(define-function g_value_type_transformable
-  (c-name "g_value_type_transformable")
-  (return-type "gboolean")
-  (parameters
-    '("GType" "src_type")
-    '("GType" "dest_type")
-  )
-)
-
-(define-method transform
-  (of-object "GValue")
-  (c-name "g_value_transform")
-  (return-type "gboolean")
-  (parameters
-    '("GValue*" "dest_value")
-  )
-)
-
-(define-function g_value_register_transform_func
-  (c-name "g_value_register_transform_func")
-  (return-type "none")
-  (parameters
-    '("GType" "src_type")
-    '("GType" "dest_type")
-    '("GValueTransform" "transform_func")
-  )
-)
-
-
-
-;; From gvaluetypes.h
-
-(define-method set_char
-  (of-object "GValue")
-  (c-name "g_value_set_char")
-  (return-type "none")
-  (parameters
-    '("gchar" "v_char")
-  )
-)
-
-(define-method get_char
-  (of-object "GValue")
-  (c-name "g_value_get_char")
-  (return-type "gchar")
-)
-
-(define-method set_schar
-  (of-object "GValue")
-  (c-name "g_value_set_schar")
-  (return-type "none")
-  (parameters
-    '("gint8" "v_char")
-  )
-)
-
-(define-method get_schar
-  (of-object "GValue")
-  (c-name "g_value_get_schar")
-  (return-type "gint8")
-)
-
-(define-method set_uchar
-  (of-object "GValue")
-  (c-name "g_value_set_uchar")
-  (return-type "none")
-  (parameters
-    '("guchar" "v_uchar")
-  )
-)
-
-(define-method get_uchar
-  (of-object "GValue")
-  (c-name "g_value_get_uchar")
-  (return-type "guchar")
-)
-
-(define-method set_boolean
-  (of-object "GValue")
-  (c-name "g_value_set_boolean")
-  (return-type "none")
-  (parameters
-    '("gboolean" "v_boolean")
-  )
-)
-
-(define-method get_boolean
-  (of-object "GValue")
-  (c-name "g_value_get_boolean")
-  (return-type "gboolean")
-)
-
-(define-method set_int
-  (of-object "GValue")
-  (c-name "g_value_set_int")
-  (return-type "none")
-  (parameters
-    '("gint" "v_int")
-  )
-)
-
-(define-method get_int
-  (of-object "GValue")
-  (c-name "g_value_get_int")
-  (return-type "gint")
-)
-
-(define-method set_uint
-  (of-object "GValue")
-  (c-name "g_value_set_uint")
-  (return-type "none")
-  (parameters
-    '("guint" "v_uint")
-  )
-)
-
-(define-method get_uint
-  (of-object "GValue")
-  (c-name "g_value_get_uint")
-  (return-type "guint")
-)
-
-(define-method set_long
-  (of-object "GValue")
-  (c-name "g_value_set_long")
-  (return-type "none")
-  (parameters
-    '("glong" "v_long")
-  )
-)
-
-(define-method get_long
-  (of-object "GValue")
-  (c-name "g_value_get_long")
-  (return-type "glong")
-)
-
-(define-method set_ulong
-  (of-object "GValue")
-  (c-name "g_value_set_ulong")
-  (return-type "none")
-  (parameters
-    '("gulong" "v_ulong")
-  )
-)
-
-(define-method get_ulong
-  (of-object "GValue")
-  (c-name "g_value_get_ulong")
-  (return-type "gulong")
-)
-
-(define-method set_int64
-  (of-object "GValue")
-  (c-name "g_value_set_int64")
-  (return-type "none")
-  (parameters
-    '("gint64" "v_int64")
-  )
-)
-
-(define-method get_int64
-  (of-object "GValue")
-  (c-name "g_value_get_int64")
-  (return-type "gint64")
-)
-
-(define-method set_uint64
-  (of-object "GValue")
-  (c-name "g_value_set_uint64")
-  (return-type "none")
-  (parameters
-    '("guint64" "v_uint64")
-  )
-)
-
-(define-method get_uint64
-  (of-object "GValue")
-  (c-name "g_value_get_uint64")
-  (return-type "guint64")
-)
-
-(define-method set_float
-  (of-object "GValue")
-  (c-name "g_value_set_float")
-  (return-type "none")
-  (parameters
-    '("gfloat" "v_float")
-  )
-)
-
-(define-method get_float
-  (of-object "GValue")
-  (c-name "g_value_get_float")
-  (return-type "gfloat")
-)
-
-(define-method set_double
-  (of-object "GValue")
-  (c-name "g_value_set_double")
-  (return-type "none")
-  (parameters
-    '("gdouble" "v_double")
-  )
-)
-
-(define-method get_double
-  (of-object "GValue")
-  (c-name "g_value_get_double")
-  (return-type "gdouble")
-)
-
-(define-method set_string
-  (of-object "GValue")
-  (c-name "g_value_set_string")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "v_string")
-  )
-)
-
-(define-method set_static_string
-  (of-object "GValue")
-  (c-name "g_value_set_static_string")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "v_string")
-  )
-)
-
-(define-method get_string
-  (of-object "GValue")
-  (c-name "g_value_get_string")
-  (return-type "const-gchar*")
-)
-
-(define-method dup_string
-  (of-object "GValue")
-  (c-name "g_value_dup_string")
-  (return-type "gchar*")
-)
-
-(define-method set_pointer
-  (of-object "GValue")
-  (c-name "g_value_set_pointer")
+(define-method clear
+  (of-object "GWeakRef")
+  (c-name "g_weak_ref_clear")
   (return-type "none")
-  (parameters
-    '("gpointer" "v_pointer")
-  )
 )
 
-(define-method get_pointer
-  (of-object "GValue")
-  (c-name "g_value_get_pointer")
+(define-method get
+  (of-object "GWeakRef")
+  (c-name "g_weak_ref_get")
   (return-type "gpointer")
 )
 
-(define-function g_gtype_get_type
-  (c-name "g_gtype_get_type")
-  (return-type "GType")
-)
-
-(define-method set_gtype
-  (of-object "GValue")
-  (c-name "g_value_set_gtype")
-  (return-type "none")
-  (parameters
-    '("GType" "v_gtype")
-  )
-)
-
-(define-method get_gtype
-  (of-object "GValue")
-  (c-name "g_value_get_gtype")
-  (return-type "GType")
-)
-
-(define-method set_variant
-  (of-object "GValue")
-  (c-name "g_value_set_variant")
-  (return-type "none")
-  (parameters
-    '("GVariant*" "variant")
-  )
-)
-
-(define-method take_variant
-  (of-object "GValue")
-  (c-name "g_value_take_variant")
-  (return-type "none")
-  (parameters
-    '("GVariant*" "variant")
-  )
-)
-
-(define-method get_variant
-  (of-object "GValue")
-  (c-name "g_value_get_variant")
-  (return-type "GVariant*")
-)
-
-(define-method dup_variant
-  (of-object "GValue")
-  (c-name "g_value_dup_variant")
-  (return-type "GVariant*")
-)
-
-(define-function g_pointer_type_register_static
-  (c-name "g_pointer_type_register_static")
-  (return-type "GType")
-  (parameters
-    '("const-gchar*" "name")
-  )
-)
-
-(define-function g_strdup_value_contents
-  (c-name "g_strdup_value_contents")
-  (return-type "gchar*")
-  (parameters
-    '("const-GValue*" "value")
-  )
-)
-
-(define-method take_string
-  (of-object "GValue")
-  (c-name "g_value_take_string")
+(define-method init
+  (of-object "GWeakRef")
+  (c-name "g_weak_ref_init")
   (return-type "none")
   (parameters
-    '("gchar*" "v_string")
+    '("gpointer" "object")
   )
 )
 
-(define-method set_string_take_ownership
-  (of-object "GValue")
-  (c-name "g_value_set_string_take_ownership")
+(define-method set
+  (of-object "GWeakRef")
+  (c-name "g_weak_ref_set")
   (return-type "none")
   (parameters
-    '("gchar*" "v_string")
+    '("gpointer" "object")
   )
 )
 
-
diff --git a/glib/src/regex.hg b/glib/src/regex.hg
index 1b0d5e8..b6ae1f1 100644
--- a/glib/src/regex.hg
+++ b/glib/src/regex.hg
@@ -188,6 +188,7 @@ public:
   bool match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags 
match_options);
 
 #m4 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
+#m4 _CONVERSION(`const gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, 
Glib::OWNERSHIP_DEEP)')
 
   _WRAP_METHOD(static Glib::StringArrayHandle split_simple(const Glib::ustring& pattern, const 
Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags 
match_options = static_cast<RegexMatchFlags>(0)), g_regex_split_simple)
   _WRAP_METHOD(Glib::StringArrayHandle split(const Glib::ustring& string, RegexMatchFlags match_options = 
static_cast<RegexMatchFlags>(0)), g_regex_split)
diff --git a/tools/defs_gen/gir-defs-generator.py b/tools/defs_gen/gir-defs-generator.py
index 7203b47..49d4729 100755
--- a/tools/defs_gen/gir-defs-generator.py
+++ b/tools/defs_gen/gir-defs-generator.py
@@ -27,7 +27,8 @@ def main(args):
     parser.parse_file(args[1])
     printer = GirPrinter(parser)
 
-    printer.print_enumerations()
+   # printer.print_enumerations()
+    printer.print_methods()
 
 
 if __name__ == '__main__':
diff --git a/tools/defs_gen/girparser.py b/tools/defs_gen/girparser.py
index cfcbb46..d18d212 100644
--- a/tools/defs_gen/girparser.py
+++ b/tools/defs_gen/girparser.py
@@ -1,6 +1,11 @@
 import xml.dom.minidom
 
 
+def is_attribute_set(xml_node, attribute_name, expected_value):
+    return True if xml_node.hasAttribute(attribute_name) and xml_node.getAttribute(
+        attribute_name) == expected_value else False
+
+
 class ObjectInfo:
     def __init__(self, type_name, c_type_name):
         self.name = type_name
@@ -29,49 +34,167 @@ class EnumObjectInfo(ObjectInfo):
                         value.getAttribute("value")))
 
 
-class ReturnValueInfo(ObjectInfo):
-    def __init__(self, type_name, c_type_name):
-        ObjectInfo.__init__(type_name, c_type_name)
+class Documentation:
+    def __init__(self, xml_root):
+        self.content = xml_root  # .data todo
+
+
+class InterfaceObjectInfo(ObjectInfo):
+    def __init__(self, xml_root, module):
+        self.module = module
+
+
+class ClassObjectInfo(ObjectInfo):
+    def __init__(self, xml_root, module):
+        ObjectInfo.__init__(self, xml_root.getAttribute("name"), xml_root.getAttribute("c:type"))
+        self.module = module
+        self.parent = xml_root.getAttribute("parent") if xml_root.hasAttribute("parent") else None
+        self.interfaces = []
+
+        for value in xml_root.childNodes:
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "doc":
+                    self._doc = Documentation(value)
+                elif value.tagName == "implements":
+                    self.interfaces.append(InterfaceObjectInfo(value, module))
+                elif value.tagName == "constructor":
+                    0  # todo
+                elif value.tagName == "method":
+                    0  # todo
+                elif value.tagName == "property":
+                    0  # todo
+                elif value.tagName == "field":
+                    0  # todo
+
+
+class RecordInfo(ObjectInfo):
+    def __init__(self, xml_root, module):
+        ObjectInfo.__init__(self, xml_root.getAttribute("name"), xml_root.getAttribute("c:type"))
+        self.module = module
+        self.deprecated = is_attribute_set(xml_root, "deprecated", 1)
+        self.fields = []
+        self.functions = []
+
+        for value in xml_root.childNodes:
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "field":
+                    self.fields.append(FieldInfo(value))
+                elif value.tagName == "constructor" or value.tagName == "function" or value.tagName == 
"method":
+                    self.functions.append(FunctionInfo(value))
 
 
-class MethodParameterInfo(ObjectInfo):
+class FunctionInfo(ObjectInfo):
     def __init__(self, xml_root):
+        ObjectInfo.__init__(self, xml_root.getAttribute("name"), xml_root.getAttribute("c:identifier"))
+        self.returnValue = None
+        self.type = xml_root.getAttribute("type") if xml_root.hasAttribute("type") else None
+        self.is_deprecated = is_attribute_set(xml_root, "deprecated", 1)
+        self.is_throwable = is_attribute_set(xml_root, "throws", "1")
+        self.parameters = []
+        self.has_instance_parameter = False
+        self.is_constructor = xml_root.tagName == "constructor"
+        i = 0
+        for value in xml_root.childNodes:
+            i += 1
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "return-value":
+                    self.returnValue = ReturnValueInfo(value)
+                elif value.tagName == "parameters":
+                    for param in value.childNodes:
+                        if param.nodeType == xml.dom.Node.ELEMENT_NODE:
+                            if param.tagName == "parameter":
+                                self.parameters.append(FunctionParameterInfo(param))
+                            elif param.tagName == "instance-parameter":
+                                self.has_instance_parameter = True
+
+
+class FunctionParameterInfo():
+    def __init__(self, xml_root):
+        self.transfer_ownership = xml_root.getAttribute("transfer-ownership") if xml_root.hasAttribute(
+            "transfer-ownership") else None
         self.name = xml_root.getAttribute("name")
-        for type_info in xml_root.getElementsByTagName("type"):
-            ObjectInfo.__init__(self, type_info.getAttribute("name"), type_info.getAttribute("c:type"))
-            break
+        self.type = None
+        self.doc = None
+
+        for value in xml_root.childNodes:
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "type" or value.tagName == "array":
+                    self.type = TypeInfo(value)
+                elif value.tagName == "doc":
+                    self.doc = Documentation(value)
 
 
-class MethodObjectInfo:
+class ReturnValueInfo():
+    def __init__(self, xml_root):
+        self.is_allow_none = is_attribute_set(xml_root, "allow-none", 1)
+        self.is_skip = is_attribute_set(xml_root, "skip", 1)
+        self.transfer_ownership = xml_root.getAttribute("transfer-ownership") if xml_root.hasAttribute(
+            "transfer-ownership") else None
+        self.returnType = None
+        self.doc = None
+
+        for value in xml_root.childNodes:
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "type" or value.tagName == "array":
+                    self.returnType = TypeInfo(value)
+                    if self.returnType.c_name == "void":
+                        self.returnType.c_name = "none"
+                elif value.tagName == "doc":
+                    self.doc = Documentation(value)
+
+
+class FieldInfo():
     def __init__(self, xml_root):
         self.name = xml_root.getAttribute("name")
-        self.c_name = xml_root.getAttribute("c:identifier")
-        self.parameters = []
+        self.is_writable = is_attribute_set(xml_root, "writable", 1)
+        self.is_readable = is_attribute_set(xml_root, "readable", 1)
+        self.is_private = is_attribute_set(xml_root, "private", 1)
 
-        for return_xml in xml_root.getElementsByTagName("return-value"):
-            self.return_type = return_xml.get_name
-            break
+        self.type = None
+        self.documentation = None
 
+        for value in xml_root.childNodes:
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "type":
+                    self.type = TypeInfo(value)
+                elif value.tagName == "doc":
+                    self.documentation = Documentation(value)
 
-class ClassObject:
-    def __init__(self, xml_root, module):
-        self.type_name = xml_root.getAttribute("name")
-        self.c_type_name = xml_root.getAttribute("c:type")
-        self.module = module
+
+class TypeInfo(ObjectInfo):
+    def __init__(self, xml_root):
+        ctpe = xml_root.getAttribute("c:type").replace(" ", "-")
+        if xml_root.tagName == "array" and\
+                not ctpe.startswith("gconst") and not ctpe.startswith("const") \
+                and not is_attribute_set(xml_root.parentNode, "direction", "out")\
+                and not is_attribute_set(xml_root.parentNode, "direction", "inout"):
+            ctpe = "const-" + ctpe
+        ObjectInfo.__init__(self, xml_root.getAttribute("type"), ctpe)
+        self.subtypes = []
+        for value in xml_root.childNodes:
+            if value.nodeType == xml.dom.Node.ELEMENT_NODE:
+                if value.tagName == "type":
+                    self.subtypes.append(TypeInfo(value))
 
 
 class GirParser:
     def __init__(self):
         self._enums = []
+        self._records = []
 
     def parse_file(self, gir_file):
         document = xml.dom.minidom.parse(gir_file)
         for namespace in document.documentElement.getElementsByTagName('namespace'):
             module = namespace.getAttribute("c:identifier-prefixes")
             for element in namespace.childNodes:
-                if element.nodeType == xml.dom.Node.ELEMENT_NODE and \
-                        (element.tagName == "enumeration" or element.tagName == "bitfield"):
-                    self._enums.append(EnumObjectInfo(element, module))
+                if element.nodeType == xml.dom.Node.ELEMENT_NODE:
+                    if element.tagName in ["enumeration", "bitfield"]:
+                        self._enums.append(EnumObjectInfo(element, module))
+                    elif element.tagName == "record":
+                        self._records.append(RecordInfo(element, module))
 
     def get_enumerations(self):
         return self._enums
+
+    def get_records(self):
+        return self._records
diff --git a/tools/defs_gen/girprinter.py b/tools/defs_gen/girprinter.py
index 3b061ba..f49ddfd 100644
--- a/tools/defs_gen/girprinter.py
+++ b/tools/defs_gen/girprinter.py
@@ -3,6 +3,38 @@ class GirPrinter:
         self._parser = parser
 
     @staticmethod
+    def _print_single_method(method_object, parent, nam):
+        # todo do it better, move it to method's class maybe..
+        is_static = False
+        if len(method_object.parameters) + method_object.is_throwable > 0:
+            i = 0
+            for param in method_object.parameters:
+                if param.type is not None and nam == param.type.name and i == 0:
+                    is_static = True
+                i += 1
+
+        if is_static or method_object.has_instance_parameter:
+            print("(define-method " + method_object.name)
+            print("  (of-object \"" + parent + "\")")
+        else:
+            print("(define-function " + method_object.name)
+        print("  (c-name \"" + method_object.c_name + "\")")
+        ret = method_object.returnValue.returnType.c_name if method_object.returnValue.returnType is not 
None else "void"
+        print("  (return-type \"" + ret + "\")")
+
+        if len(method_object.parameters) + method_object.is_throwable > 0:
+            print("  (parameters")
+            i = 0
+            for param in method_object.parameters:
+                if param.type is not None:
+                    print("    '(\"" + param.type.c_name + "\" \"" + param.name + "\")")
+            if method_object.is_throwable == 1:
+                print("    '(\"GError**\" \"error\")")
+            print("  )")
+        print(")")
+        print("")
+
+    @staticmethod
     def _print_single_enumeration(enum_object):
         if enum_object.is_flag:
             enum_type = "flags"
@@ -24,3 +56,9 @@ class GirPrinter:
     def print_enumerations(self):
         for enumeration in self._parser.get_enumerations():
             GirPrinter._print_single_enumeration(enumeration)
+
+    def print_methods(self):
+        for record in self._parser.get_records():
+            for method in record.functions:
+                if method.has_instance_parameter or method.is_constructor:
+                    GirPrinter._print_single_method(method, record.c_name, record.name)
diff --git a/tools/gen_scripts/gio_generate_methods.sh b/tools/gen_scripts/gio_generate_methods.sh
index 1616037..8e007c0 100755
--- a/tools/gen_scripts/gio_generate_methods.sh
+++ b/tools/gen_scripts/gio_generate_methods.sh
@@ -12,7 +12,8 @@ fi
 PREFIX="$JHBUILD_SOURCES/glib"
 ROOT_DIR="$(dirname "$0")/../.."
 OUT_DIR="$ROOT_DIR/gio/src"
+GIR_DIR="$ROOT_DIR/gir"
 
-H2DEF_PY="$JHBUILD_SOURCES/glibmm/tools/defs_gen/h2def.py"
-$H2DEF_PY "$PREFIX"/gio/*.h > "$OUT_DIR"/gio_methods.defs
+GENERATOR_PY="$JHBUILD_SOURCES/glibmm/tools/defs_gen/gir-defs-generator.py"
+$GENERATOR_PY "$GIR_DIR"/Gio-2.0.gir > "$OUT_DIR"/gio_methods.defs
 #patch "$OUT_DIR"/gio_methods.defs "$OUT_DIR"/gio_methods.defs.patch
diff --git a/tools/gen_scripts/glib_generate_methods.sh b/tools/gen_scripts/glib_generate_methods.sh
index 9813db0..b117850 100755
--- a/tools/gen_scripts/glib_generate_methods.sh
+++ b/tools/gen_scripts/glib_generate_methods.sh
@@ -12,10 +12,9 @@ fi
 PREFIX="$JHBUILD_SOURCES/glib"
 ROOT_DIR="$(dirname "$0")/../.."
 OUT_DIR="$ROOT_DIR/glib/src"
+GIR_DIR="$ROOT_DIR/gir"
 
-H2DEF_PY="$JHBUILD_SOURCES/glibmm/tools/defs_gen/h2def.py"
-$H2DEF_PY "$PREFIX"/glib/*.h "$PREFIX"/glib/deprecated/*.h > "$OUT_DIR"/glib_functions.defs
-patch "$OUT_DIR"/glib_functions.defs "$OUT_DIR"/glib_functions.defs.patch
-
-$H2DEF_PY "$PREFIX"/gmodule/*.h > "$OUT_DIR"/gmodule_functions.defs
-$H2DEF_PY "$PREFIX"/gobject/*.h > "$OUT_DIR"/gobject_functions.defs
+GENERATOR_PY="$JHBUILD_SOURCES/glibmm/tools/defs_gen/gir-defs-generator.py"
+$GENERATOR_PY "$GIR_DIR"/GLib-2.0.gir > "$OUT_DIR"/glib_functions.defs
+$GENERATOR_PY "$GIR_DIR"/GModule-2.0.gir > "$OUT_DIR"/gmodule_functions.defs
+$GENERATOR_PY "$GIR_DIR"/GObject-2.0.gir > "$OUT_DIR"/gobject_functions.defs
diff --git a/tools/m4/convert_glib.m4 b/tools/m4/convert_glib.m4
index 0c70cdf..50a6ba6 100644
--- a/tools/m4/convert_glib.m4
+++ b/tools/m4/convert_glib.m4
@@ -128,6 +128,7 @@ _CONVERSION(`Glib::OptionGroup&',`GOptionGroup*',`($3).gobj()')
 dnl Bytes
 _CONVERSION(`GBytes*',`Glib::RefPtr<Glib::Bytes>',`Glib::wrap($3)')
 _CONVERSION(`GBytes*',`Glib::RefPtr<const Glib::Bytes>',`Glib::wrap($3)')
+_CONVERSION(`gconstpointer',`GBytes*',`(GBytes*)$3')
 _CONVERSION(`const Glib::RefPtr<const Glib::Bytes>&',`GBytes*',__CONVERT_CONST_REFPTR_TO_P_SUN(Glib::Bytes)))
 
 dnl ByteArray


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]