module OBus_introspect_ext:OBus extended introspectionsig..end
This module implement an extended introspection format, which can
be encoded into standard introspection documents by using
annotations.
Annotations
The following annotations are used to encode additionnal
informations into D-Bus introspection documents
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:
Enum(OBus_value.T.Uint32,
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:
Flag(OBus_value.T.Uint32,
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 : basicval boolean : basicval int16 : basicval int32 : basicval int64 : basicval uint16 : basicval uint32 : basicval uint64 : basicval double : basicval string : basicval signature : basicval object_path : basicval unix_fd : basicval enum : OBus_value.T.basic ->
(OBus_value.V.basic * string) list -> basicval flag : OBus_value.T.basic ->
(OBus_value.V.basic * string) list -> basicval basic : basic -> singleval structure : single list -> singleval array : single -> singleval dict : basic ->
single -> singleval 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.basicval strip_single : single -> OBus_value.T.singleval strip_sequence : sequence -> OBus_value.T.sequenceval project_basic : OBus_value.T.basic -> basicval project_single : OBus_value.T.single -> singleval project_sequence : OBus_value.T.sequence -> sequenceval term_of_basic : OBus_value.T.basic -> termval term_of_single : OBus_value.T.single -> termval 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