module OBus_introspect_ext:sig..end
This module implement an extended introspection format, which can
be encoded into standard introspection documents by using
annotations.
val obus_enum : stringorg.ocamlcore.forge.obus.Enum annotationval obus_flag : stringorg.ocamlcore.forge.obus.Flag annotationval obus_type : stringorg.ocamlcore.forge.obus.Type annotationval obus_itype : stringorg.ocamlcore.forge.obus.IType annotationval obus_otype : stringorg.ocamlcore.forge.obus.OType annotationtype basic = private
| |
Byte |
|||
| |
Boolean |
|||
| |
Int16 |
|||
| |
Int32 |
|||
| |
Int64 |
|||
| |
Uint16 |
|||
| |
Uint32 |
|||
| |
Uint64 |
|||
| |
Double |
|||
| |
String |
|||
| |
Signature |
|||
| |
Object_path |
|||
| |
Unix_fd |
|||
| |
Enum of |
(* | An enumeration. The first argument is the real D-Bus type and
the second is a list of (constant, keyword).
For example:
Note that the real D-Bus type must be | *) |
| |
Flag of |
(* | A flag. The first argument is the real type and the second
is a list of (bits, keyword).
For example:
Note that the real D-Bus type must be | *) |
type single =
| |
Basic of |
| |
Structure of |
| |
Array of |
| |
Dict of |
| |
Variant |
typesequence =single list
val byte : basic
val boolean : basic
val int16 : basic
val int32 : basic
val int64 : basic
val uint16 : basic
val uint32 : basic
val uint64 : basic
val double : basic
val string : basic
val signature : basic
val object_path : basic
val unix_fd : basic
val enum : OBus_value.T.basic ->
(OBus_value.V.basic * string) list -> basic
val flag : OBus_value.T.basic ->
(OBus_value.V.basic * string) list -> basic
val basic : basic -> single
val structure : single list -> single
val array : single -> single
val dict : basic ->
single -> single
val variant : singletype term = private
| |
Term of |
(* | A term. Arguments are
| *) |
| |
Tuple of |
(* | A list of terms, packed into a tuple. Tuple are always
mapped to D-Bus structure. Moreover it is ensured that there
is never type of the form Tuple[t]. | *) |
val term : string -> term list -> termval tuple : term list -> termtype symbol = private
| |
Sym_enum of |
| |
Sym_flag of |
val sym_enum : OBus_value.T.basic ->
(OBus_value.V.basic * string) list -> symbolval sym_flag : OBus_value.T.basic ->
(OBus_value.V.basic * string) list -> symbolval strip_basic : basic -> OBus_value.T.basic
val strip_single : single -> OBus_value.T.single
val strip_sequence : sequence -> OBus_value.T.sequenceval project_basic : OBus_value.T.basic -> basic
val project_single : OBus_value.T.single -> single
val project_sequence : OBus_value.T.sequence -> sequenceval term_of_basic : OBus_value.T.basic -> term
val term_of_single : OBus_value.T.single -> term
val term_of_sequence : OBus_value.T.sequence -> termtypeenv =(string * symbol) list
exception Resolve_error of string
val resolve : env ->
term -> singleresolve env term resolves symbols of term using env, and
returns the extended type it denotes. It raises OBus_introspect_ext.Resolve_error
if a symbol of term is not found in env.typename =string
typeannotation =name * string
typeargument =name option * term
typeaccess =OBus_introspect.access=
| |
Read |
| |
Write |
| |
Read_write |
type member =
| |
Method of |
| |
Signal of |
| |
Property of |
typeinterface =name * member list *
(string * symbol) list *
annotation list
val encode : interface -> OBus_introspect.interfaceval decode : OBus_introspect.interface -> interface