;; Namespace GObject

;; Enums


;; Flags

(define-flags-extended BindingFlags
  (in-module "GObject")
  (c-name "GBindingFlags")
  (values
    '("default" "G_BINDING_DEFAULT" "0x0")
    '("bidirectional" "G_BINDING_BIDIRECTIONAL" "1 << 0")
    '("sync_create" "G_BINDING_SYNC_CREATE" "1 << 1")
    '("invert_boolean" "G_BINDING_INVERT_BOOLEAN" "1 << 2")
  )
)

(define-flags-extended ConnectFlags
  (in-module "GObject")
  (c-name "GConnectFlags")
  (values
    '("default" "G_CONNECT_DEFAULT" "0x0")
    '("after" "G_CONNECT_AFTER" "1 << 0")
    '("swapped" "G_CONNECT_SWAPPED" "1 << 1")
  )
)

(define-flags-extended IOCondition
  (in-module "GObject")
  (c-name "GIOCondition")
  (values
    '("in" "G_IO_IN" "1 << 0")
    '("out" "G_IO_OUT" "1 << 2")
    '("pri" "G_IO_PRI" "1 << 1")
    '("err" "G_IO_ERR" "1 << 3")
    '("hup" "G_IO_HUP" "1 << 4")
    '("nval" "G_IO_NVAL" "1 << 5")
  )
)

(define-flags-extended ParamFlags
  (in-module "GObject")
  (c-name "GParamFlags")
  (values
    '("readable" "G_PARAM_READABLE" "1 << 0")
    '("writable" "G_PARAM_WRITABLE" "1 << 1")
    '("readwrite" "G_PARAM_READWRITE" "0x3")
    '("construct" "G_PARAM_CONSTRUCT" "1 << 2")
    '("construct-only" "G_PARAM_CONSTRUCT_ONLY" "1 << 3")
    '("lax-validation" "G_PARAM_LAX_VALIDATION" "1 << 4")
    '("static-name" "G_PARAM_STATIC_NAME" "1 << 5")
    '("private" "G_PARAM_PRIVATE" "1 << 5")
    '("static-nick" "G_PARAM_STATIC_NICK" "1 << 6")
    '("static-blurb" "G_PARAM_STATIC_BLURB" "1 << 7")
    '("explicit-notify" "G_PARAM_EXPLICIT_NOTIFY" "1 << 30")
    '("deprecated" "G_PARAM_DEPRECATED" "1 << 31")
  )
)

(define-flags-extended SignalFlags
  (in-module "GObject")
  (c-name "GSignalFlags")
  (values
    '("run-first" "G_SIGNAL_RUN_FIRST" "1 << 0")
    '("run-last" "G_SIGNAL_RUN_LAST" "1 << 1")
    '("run-cleanup" "G_SIGNAL_RUN_CLEANUP" "1 << 2")
    '("no-recurse" "G_SIGNAL_NO_RECURSE" "1 << 3")
    '("detailed" "G_SIGNAL_DETAILED" "1 << 4")
    '("action" "G_SIGNAL_ACTION" "1 << 5")
    '("no-hooks" "G_SIGNAL_NO_HOOKS" "1 << 6")
    '("must-collect" "G_SIGNAL_MUST_COLLECT" "1 << 7")
    '("deprecated" "G_SIGNAL_DEPRECATED" "1 << 8")
    '("accumulator-first-run" "G_SIGNAL_ACCUMULATOR_FIRST_RUN" "1 << 17")
  )
)

(define-flags-extended SignalMatchType
  (in-module "GObject")
  (c-name "GSignalMatchType")
  (values
    '("id" "G_SIGNAL_MATCH_ID" "1 << 0")
    '("detail" "G_SIGNAL_MATCH_DETAIL" "1 << 1")
    '("closure" "G_SIGNAL_MATCH_CLOSURE" "1 << 2")
    '("func" "G_SIGNAL_MATCH_FUNC" "1 << 3")
    '("data" "G_SIGNAL_MATCH_DATA" "1 << 4")
    '("unblocked" "G_SIGNAL_MATCH_UNBLOCKED" "1 << 5")
  )
)

(define-flags-extended TypeDebugFlags
  (in-module "GObject")
  (c-name "GTypeDebugFlags")
  (values
    '("none" "G_TYPE_DEBUG_NONE" "0x0")
    '("objects" "G_TYPE_DEBUG_OBJECTS" "1 << 0")
    '("signals" "G_TYPE_DEBUG_SIGNALS" "1 << 1")
    '("instance-count" "G_TYPE_DEBUG_INSTANCE_COUNT" "1 << 2")
    '("mask" "G_TYPE_DEBUG_MASK" "0x7")
  )
)

(define-flags-extended TypeFlags
  (in-module "GObject")
  (c-name "GTypeFlags")
  (values
    '("none" "G_TYPE_FLAG_NONE" "0x0")
    '("abstract" "G_TYPE_FLAG_ABSTRACT" "1 << 4")
    '("value-abstract" "G_TYPE_FLAG_VALUE_ABSTRACT" "1 << 5")
    '("final" "G_TYPE_FLAG_FINAL" "1 << 6")
    '("deprecated" "G_TYPE_FLAG_DEPRECATED" "1 << 7")
  )
)

(define-flags-extended TypeFundamentalFlags
  (in-module "GObject")
  (c-name "GTypeFundamentalFlags")
  (values
    '("classed" "G_TYPE_FLAG_CLASSED" "1 << 0")
    '("instantiatable" "G_TYPE_FLAG_INSTANTIATABLE" "1 << 1")
    '("derivable" "G_TYPE_FLAG_DERIVABLE" "1 << 2")
    '("deep-derivable" "G_TYPE_FLAG_DEEP_DERIVABLE" "1 << 3")
  )
)

