obus

Pure Ocaml implementation of the D-Bus protocol
Library obus.hal
Module Hal_device
include OBus_proxy.Private
type t = private OBus_proxy.proxy
val of_proxy : OBus_proxy.proxy -> t
val to_proxy : t -> OBus_proxy.proxy
type udi = OBus_path.t

Unique Device Identifier

val udi : t -> udi

Return the udi of a device

val computer : unit -> t Lwt.t

The computer device

type property =
| Pstring of string(*

An UTF8 string

*)
| Pstrlist of string list(*

List of UTF8 strings

*)
| Pint of int32(*

32-bit signed integer

*)
| Puint64 of int64(*

64-bit unsigned integer

*)
| Pbool of bool
| Pdouble of float(*

IEEE754 double precision floating point number

*)
val property_of_variant : OBus_value.V.single -> property

Tries to convert the given variant into a property

val variant_of_property : property -> OBus_value.V.single

Converts the gievn property into a D-Bus variant

Common device interface
val get_all_properties : t -> (string * property) list Lwt.t
val set_multiple_properties : t -> (string * property) list -> unit Lwt.t
val get_property : t -> string -> property Lwt.t
val get_property_string : t -> string -> string Lwt.t
val get_property_string_list : t -> string -> string list Lwt.t
val get_property_integer : t -> string -> int Lwt.t
val get_property_boolean : t -> string -> bool Lwt.t
val get_property_double : t -> string -> float Lwt.t
val set_property : t -> string -> property -> unit Lwt.t
val set_property_string : t -> string -> string -> unit Lwt.t
val set_property_string_list : t -> string -> string list -> unit Lwt.t
val set_property_integer : t -> string -> int -> unit Lwt.t
val set_property_boolean : t -> string -> bool -> unit Lwt.t
val set_property_double : t -> string -> float -> unit Lwt.t
val remove_property : t -> string -> unit Lwt.t
val get_property_type : t -> string -> int Lwt.t
val property_exists : t -> string -> bool Lwt.t
val add_capability : t -> string -> unit Lwt.t
val query_capability : t -> string -> bool Lwt.t
val lock : t -> string -> bool Lwt.t
val unlock : t -> bool Lwt.t
val acquire_interface_lock : t -> string -> bool -> unit Lwt.t
val release_interface_lock : t -> string -> unit Lwt.t
val is_caller_locked_out : t -> string -> string -> bool Lwt.t
val is_caller_privileged : t -> string -> string -> string Lwt.t
val is_locked_by_others : t -> string -> bool Lwt.t
val string_list_append : t -> string -> string -> unit Lwt.t
val string_list_prepend : t -> string -> string -> unit Lwt.t
val string_list_remove : t -> string -> string -> unit Lwt.t
val emit_condition : t -> string -> string -> bool Lwt.t
val rescan : t -> bool Lwt.t
val reprobe : t -> bool Lwt.t
val claim_interface : t -> string -> string -> bool Lwt.t
val addon_is_ready : t -> bool Lwt.t
val property_modified : t -> (int * (string * bool * bool) list) OBus_signal.t
val condition : t -> (string * string) OBus_signal.t
val interface_lock_acquired : t -> (string * string * int) OBus_signal.t
val interface_lock_released : t -> (string * string * int) OBus_signal.t
Specifics interfaces
module Volume : sig ... end
module Storage : sig ... end
module Storage_removable : sig ... end
module Wake_on_lan : sig ... end
module System_power_management : sig ... end
module Cpufreq : sig ... end
module Laptop_panel : sig ... end
module Kill_switch : sig ... end