# Module Hal_device

    module Hal_device: sig .. end

Hal devices

    include OBus_proxy.Private

    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