obus

Pure Ocaml implementation of the D-Bus protocol
Library obus.internals
Module OBus_value
Types
module T : sig ... end

D-Bus types

Signatures
type signature = T.sequence
exception Invalid_signature of string * string

Invalid_signature(signature, message) is raised when a signature is invalid. signature is a string representation of the signature (using D-Bus type codes) and message is an error message.

val string_of_signature : signature -> string

Returns a string representation of a signature using D-Bus type codes. If the signature is not valid (for example it is too long), it raises Invalid_signature.

val signature_of_string : string -> signature

Parses a signature. Raises Invalid_signature if the signature is not correct

val validate_signature : signature -> string option

Not all signatures are valid. validate returns None if the given signature is a valid one, or Some reason if it is not.

Values
module V : sig ... end

D-Bus values

Type converters
module C : sig ... end

Type converters

Methods/signals arguments
type 'a arguments = private {
arg_types : 'a C.sequence;(*

Types of the arguments

*)
arg_names : string option list;(*

Names of the arguments

*)
}

Type of a list of arguments used by methods and signals. It is ensured that the number of single types contained in arg_types is equal to the number of names.

val arguments : arg_types:'a C.sequence -> arg_names:string option list -> 'a arguments

arguments ~arg_types ~arg_names creates a list of arguments. It raises Invalid_arg if the number of single types contained in arg_types is not equal to the number of names.

val arg_types : 'a arguments -> 'a C.sequence

Returns the underlying sequence converter of a list of arguments.

val arg_names : 'a arguments -> string option list

Returns the names of a list of arguments

Constructors
val arg_cons : (string option * 'a C.single) -> 'b arguments -> ('a * 'b) arguments

arg_cons (name, typ) arguments adds the argument (name, type) to the beginning of arguments

val arg0 : unit arguments
val arg1 : (string option * 'a1 C.single) -> 'a1 arguments
val arg2 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> ('a1 * 'a2) arguments
val arg3 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> ('a1 * 'a2 * 'a3) arguments
val arg4 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> ('a1 * 'a2 * 'a3 * 'a4) arguments
val arg5 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5) arguments
val arg6 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6) arguments
val arg7 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7) arguments
val arg8 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8) arguments
val arg9 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9) arguments
val arg10 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10) arguments
val arg11 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> (string option * 'a11 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11) arguments
val arg12 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> (string option * 'a11 C.single) -> (string option * 'a12 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 * 'a12) arguments
val arg13 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> (string option * 'a11 C.single) -> (string option * 'a12 C.single) -> (string option * 'a13 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 * 'a12 * 'a13) arguments
val arg14 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> (string option * 'a11 C.single) -> (string option * 'a12 C.single) -> (string option * 'a13 C.single) -> (string option * 'a14 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 * 'a12 * 'a13 * 'a14) arguments
val arg15 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> (string option * 'a11 C.single) -> (string option * 'a12 C.single) -> (string option * 'a13 C.single) -> (string option * 'a14 C.single) -> (string option * 'a15 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 * 'a12 * 'a13 * 'a14 * 'a15) arguments
val arg16 : (string option * 'a1 C.single) -> (string option * 'a2 C.single) -> (string option * 'a3 C.single) -> (string option * 'a4 C.single) -> (string option * 'a5 C.single) -> (string option * 'a6 C.single) -> (string option * 'a7 C.single) -> (string option * 'a8 C.single) -> (string option * 'a9 C.single) -> (string option * 'a10 C.single) -> (string option * 'a11 C.single) -> (string option * 'a12 C.single) -> (string option * 'a13 C.single) -> (string option * 'a14 C.single) -> (string option * 'a15 C.single) -> (string option * 'a16 C.single) -> ('a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 * 'a11 * 'a12 * 'a13 * 'a14 * 'a15 * 'a16) arguments