;; -*- scheme -*-

; object definitions ...

(define-object Object
  (in-module "MateComponent")
  (parent "GObject")
  (c-name "MateComponentObject")
  (gtype-id "MATECOMPONENT_TYPE_OBJECT")
)

(define-object GenericFactory
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentGenericFactory")
  (gtype-id "MATECOMPONENT_TYPE_GENERIC_FACTORY")
)

(define-object ItemHandler
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentItemHandler")
  (gtype-id "MATECOMPONENT_TYPE_ITEM_HANDLER")
)

(define-object ForeignObject
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentForeignObject")
  (gtype-id "MATECOMPONENT_TYPE_FOREIGN_OBJECT")
)

(define-object Listener
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentListener")
  (gtype-id "MATECOMPONENT_TYPE_LISTENER")
)

(define-object Moniker
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentMoniker")
  (gtype-id "MATECOMPONENT_TYPE_MONIKER")
)

(define-object MonikerSimple
  (in-module "MateComponent")
  (parent "MateComponentMoniker")
  (c-name "MateComponentMonikerSimple")
  (gtype-id "MATECOMPONENT_TYPE_MONIKER_SIMPLE")
)

(define-object Persist
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentPersist")
  (gtype-id "MATECOMPONENT_TYPE_PERSIST")
)

(define-object PersistFile
  (in-module "MateComponent")
  (parent "MateComponentPersist")
  (c-name "MateComponentPersistFile")
  (gtype-id "MATECOMPONENT_TYPE_PERSIST_FILE")
)

(define-object PersistStream
  (in-module "MateComponent")
  (parent "MateComponentPersist")
  (c-name "MateComponentPersistStream")
  (gtype-id "MATECOMPONENT_TYPE_PERSIST_STREAM")
)

(define-object PropertyBag
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentPropertyBag")
  (gtype-id "MATECOMPONENT_TYPE_PROPERTY_BAG")
)

(define-object StreamMem
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentStreamMem")
  (gtype-id "MATECOMPONENT_TYPE_STREAM_MEM")
)

(define-object EventSource
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentEventSource")
  (gtype-id "MATECOMPONENT_TYPE_EVENT_SOURCE")
)

(define-object Application
  (in-module "MateComponent")
  (parent "MateComponentObject")
  (c-name "MateComponentApplication")
  (gtype-id "MATECOMPONENT_TYPE_APPLICATION")
)

(define-object AppClient
  (in-module "MateComponent")
  (parent "GObject")
  (c-name "MateComponentAppClient")
  (gtype-id "MATECOMPONENT_TYPE_APP_CLIENT")
)

;; Enumerations and flags ...
