Module OBus_error

module OBus_error: sig .. end
D-Bus errors management


This module integrates D-Bus errors into OCaml exceptions, and OCaml exceptions into D-Bus errors.

To do this, an OCaml exception that maps a D-Bus error should be registered with OBus_error.Register.

type name = OBus_name.error 
An error name. For example: "org.foo.bar.Error.Failed"
type message = string 
An error message
exception DBus of name * message
General exception for D-Bus errors. When the reply to a method call is a D-Bus error that have not been registered, this exception is raised.

Arguments are:


val ocaml : name
The name of the D-Bus error which is generated for uncaught ocaml exceptions that have not been registered

D-Bus errors creating/casting

val name : exn -> name
name exn returns the D-Bus error name under which this exception is registered. If the exception is not registered, then ocaml is returned.
val make : name -> message -> exn
make exn message creates an exception from an error name and an error message. If the name is not registered, then DBus(name, message) is returned.
val cast : exn -> name * message
cast exn returns the D-Bus name and message of the given exception. If the exception is not registered, (ocaml, Printexc.to_string exn) is returned.

Errors registration

module type Error = sig .. end
Signature for D-Bus error
module Register: 
functor (Error : Error) -> sig .. end
Register an error.

Well-known dbus exception


The following errors can be raised by any service. You can also raise them in a method your service implement.

Note that the error message will normally be shown to the user so they must be explicative.

exception Failed of message
The org.freedesktop.DBus.Error.Failed error
exception Invalid_args of message
The org.freedesktop.DBus.Error.InvalidArgs error
exception Unknown_method of message
The org.freedesktop.DBus.Error.UnknownMethod error
exception Unknown_object of message
The org.freedesktop.DBus.Error.UnknownObject error
exception Unknown_interface of message
The org.freedesktop.DBus.Error.UnknownInterface error
exception Unknown_property of message
The org.freedesktop.DBus.Error.UnknownProperty error
exception Property_read_only of message
The org.freedesktop.DBus.Error.PropertyReadOnly error
exception No_memory of message
The org.freedesktop.DBus.Error.NoMemory error
exception No_reply of message
"org.freedesktop.DBus.Error.NoReply"