`sig
type -'a obj
type g_type
type g_class
type g_value
type g_closure
type basic =
[ `BOOL of bool
| `CAML of Stdlib.Obj.t
| `CHAR of char
| `FLOAT of float
| `INT of int
| `INT64 of int64
| `POINTER of Gpointer.boxed option
| `STRING of string option ]
type data_get =
[ `BOOL of bool
| `CAML of Stdlib.Obj.t
| `CHAR of char
| `FLOAT of float
| `INT of int
| `INT64 of int64
| `NONE
| `OBJECT of unit Gobject.obj option
| `POINTER of Gpointer.boxed option
| `STRING of string option ]
type 'a data_set =
[ `BOOL of bool
| `CAML of Stdlib.Obj.t
| `CHAR of char
| `FLOAT of float
| `INT of int
| `INT32 of int32
| `INT64 of int64
| `LONG of nativeint
| `OBJECT of 'a Gobject.obj option
| `POINTER of Gpointer.boxed option
| `STRING of string option ]
type base_data =
[ `BOOLEAN
| `BOXED
| `CHAR
| `DOUBLE
| `ENUM
| `FLAGS
| `FLOAT
| `INT
| `INT64
| `LONG
| `OBJECT
| `POINTER
| `STRING
| `UCHAR
| `UINT
| `UINT64
| `ULONG ]
type data_kind =
[ `BOOLEAN
| `BOXED
| `CHAR
| `DOUBLE
| `ENUM
| `FLAGS
| `FLOAT
| `INT
| `INT32
| `INT64
| `LONG
| `OBJECT
| `OTHER of Gobject.g_type
| `POINTER
| `STRING
| `UCHAR
| `UINT
| `UINT32
| `UINT64
| `ULONG ]
type data_conv_get =
[ `BOOL of bool
| `CAML of Stdlib.Obj.t
| `CHAR of char
| `FLOAT of float
| `INT of int
| `INT32 of int32
| `INT64 of int64
| `NONE
| `OBJECT of unit Gobject.obj option
| `POINTER of Gpointer.boxed option
| `STRING of string option ]
type 'a data_conv = {
kind : Gobject.data_kind;
proj : Gobject.data_conv_get -> 'a;
inj : 'a -> unit Gobject.data_set;
}
type ('a, 'b) property = { name : string; conv : 'b Gobject.data_conv; }
type fundamental_type =
[ `BOOLEAN
| `BOXED
| `CHAR
| `DOUBLE
| `ENUM
| `FLAGS
| `FLOAT
| `INT
| `INT64
| `INTERFACE
| `INVALID
| `LONG
| `NONE
| `OBJECT
| `PARAM
| `POINTER
| `STRING
| `UCHAR
| `UINT
| `UINT64
| `ULONG ]
type signal_type =
[ `ACTION | `NO_HOOKS | `NO_RECURSE | `RUN_FIRST | `RUN_LAST ]
exception Cannot_cast of string * string
val get_type : 'a Gobject.obj -> Gobject.g_type
val is_a : 'a Gobject.obj -> string -> bool
val try_cast : 'a Gobject.obj -> string -> 'b Gobject.obj
val get_oid : 'a Gobject.obj -> int
external unsafe_cast : 'a Gobject.obj -> 'b Gobject.obj = "%identity"
external coerce : 'a Gobject.obj -> unit Gobject.obj = "%identity"
external coerce_option : 'a Gobject.obj option -> unit Gobject.obj option
= "%identity"
type +'a param
val dyn_param : string -> 'a Gobject.data_set -> 'b Gobject.param
val param : ('a, 'b) Gobject.property -> 'b -> 'a Gobject.param
val unsafe_create :
classe:string -> 'a Gobject.param list -> 'a Gobject.obj
val unsafe_unref : 'a Gobject.obj -> unit
val get_ref_count : 'a Gobject.obj -> int
val set : ('a, 'b) Gobject.property -> 'a Gobject.obj -> 'b -> unit
val get : ('a, 'b) Gobject.property -> 'a Gobject.obj -> 'b
val set_params : 'a Gobject.obj -> 'a Gobject.param list -> unit
module Type :
sig
val init : unit -> unit
val name : Gobject.g_type -> string
val from_name : string -> Gobject.g_type
val parent : Gobject.g_type -> Gobject.g_type
val depth : Gobject.g_type -> int
val is_a : Gobject.g_type -> Gobject.g_type -> bool
val fundamental : Gobject.g_type -> Gobject.fundamental_type
val of_fundamental : Gobject.fundamental_type -> Gobject.g_type
val interface_prerequisites : Gobject.g_type -> Gobject.g_type list
val register_static :
parent:Gobject.g_type -> name:string -> Gobject.g_type
val caml : Gobject.g_type
end
module Value :
sig
val create_empty : unit -> Gobject.g_value
val init : Gobject.g_value -> Gobject.g_type -> unit
val create : Gobject.g_type -> Gobject.g_value
val release : Gobject.g_value -> unit
val get_type : Gobject.g_value -> Gobject.g_type
val copy : Gobject.g_value -> Gobject.g_value -> unit
val reset : Gobject.g_value -> unit
val type_compatible : Gobject.g_type -> Gobject.g_type -> bool
val type_transformable : Gobject.g_type -> Gobject.g_type -> bool
val transform : Gobject.g_value -> Gobject.g_value -> bool
val get : Gobject.g_value -> Gobject.data_get
val set : Gobject.g_value -> 'a Gobject.data_set -> unit
val get_pointer : Gobject.g_value -> Gpointer.boxed
val get_nativeint : Gobject.g_value -> nativeint
val get_int32 : Gobject.g_value -> int32
val get_conv :
Gobject.data_kind -> Gobject.g_value -> Gobject.data_conv_get
end
module Closure :
sig
type args
type argv = {
result : Gobject.g_value;
nargs : int;
args : Gobject.Closure.args;
}
val create : (Gobject.Closure.argv -> unit) -> Gobject.g_closure
val nth : Gobject.Closure.argv -> pos:int -> Gobject.g_value
val result : Gobject.Closure.argv -> Gobject.g_value
val get_result_type : Gobject.Closure.argv -> Gobject.g_type
val get_type : Gobject.Closure.argv -> pos:int -> Gobject.g_type
val get : Gobject.Closure.argv -> pos:int -> Gobject.data_get
val set_result : Gobject.Closure.argv -> 'a Gobject.data_set -> unit
val get_args : Gobject.Closure.argv -> Gobject.data_get list
val get_pointer : Gobject.Closure.argv -> pos:int -> Gpointer.boxed
val get_nativeint : Gobject.Closure.argv -> pos:int -> nativeint
val get_int32 : Gobject.Closure.argv -> pos:int -> int32
end
module Data :
sig
val boolean : bool Gobject.data_conv
val char : char Gobject.data_conv
val uchar : char Gobject.data_conv
val int : int Gobject.data_conv
val uint : int Gobject.data_conv
val long : int Gobject.data_conv
val ulong : int Gobject.data_conv
val flags :
([> ] as 'a) Gpointer.variant_table -> 'a list Gobject.data_conv
val enum : ([> ] as 'a) Gpointer.variant_table -> 'a Gobject.data_conv
val int32 : int32 Gobject.data_conv
val uint32 : int32 Gobject.data_conv
val int64 : int64 Gobject.data_conv
val uint64 : int64 Gobject.data_conv
val float : float Gobject.data_conv
val double : float Gobject.data_conv
val string : string Gobject.data_conv
val string_option : string option Gobject.data_conv
val pointer : Gpointer.boxed option Gobject.data_conv
val unsafe_pointer : 'a Gobject.data_conv
val unsafe_pointer_option : 'a option Gobject.data_conv
val boxed : Gobject.g_type -> Gpointer.boxed option Gobject.data_conv
val unsafe_boxed : Gobject.g_type -> 'a Gobject.data_conv
val unsafe_boxed_option : Gobject.g_type -> 'a option Gobject.data_conv
val gobject : 'a Gobject.obj Gobject.data_conv
val gobject_option : 'a Gobject.obj option Gobject.data_conv
val gobject_by_name : string -> 'a Gobject.obj Gobject.data_conv
val caml : 'a Gobject.data_conv
val caml_option : 'a option Gobject.data_conv
val wrap :
inj:('a -> 'b) ->
proj:('b -> 'a) -> 'b Gobject.data_conv -> 'a Gobject.data_conv
val of_value : 'a Gobject.data_conv -> Gobject.g_value -> 'a
val to_value : 'a Gobject.data_conv -> 'a -> Gobject.g_value
val get_type : 'a Gobject.data_conv -> Gobject.g_type
end
module Property :
sig
val freeze_notify : 'a Gobject.obj -> unit
val thaw_notify : 'a Gobject.obj -> unit
val notify : 'a Gobject.obj -> string -> unit
val set_value : 'a Gobject.obj -> string -> Gobject.g_value -> unit
val get_value : 'a Gobject.obj -> string -> Gobject.g_value -> unit
val get_type : 'a Gobject.obj -> string -> Gobject.g_type
val set_dyn : 'a Gobject.obj -> string -> 'b Gobject.data_set -> unit
val get_dyn : 'a Gobject.obj -> string -> Gobject.data_get
val set : 'a Gobject.obj -> ('a, 'b) Gobject.property -> 'b -> unit
val get : 'a Gobject.obj -> ('a, 'b) Gobject.property -> 'b
val get_some : 'a Gobject.obj -> ('a, 'b option) Gobject.property -> 'b
val check : 'a Gobject.obj -> ('a, 'b) Gobject.property -> unit
val may_cons :
('a, 'b) Gobject.property ->
'b option -> 'a Gobject.param list -> 'a Gobject.param list
val may_cons_opt :
('a, 'b option) Gobject.property ->
'b option -> 'a Gobject.param list -> 'a Gobject.param list
end
end`