summaryrefslogtreecommitdiff
path: root/bindings/hal/hal_device.mli
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/hal/hal_device.mli')
-rw-r--r--bindings/hal/hal_device.mli135
1 files changed, 135 insertions, 0 deletions
diff --git a/bindings/hal/hal_device.mli b/bindings/hal/hal_device.mli
new file mode 100644
index 0000000..b02a382
--- /dev/null
+++ b/bindings/hal/hal_device.mli
@@ -0,0 +1,135 @@
+(*
+ * hal_device.mli
+ * --------------
+ * Copyright : (c) 2009, Jeremie Dimino <jeremie@dimino.org>
+ * Licence : BSD3
+ *
+ * This file is a part of obus, an ocaml implementation of D-Bus.
+ *)
+
+(** 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 =
+ (** A device 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 *)
+
+(** {6 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
+
+(** {6 Specifics interfaces} *)
+
+module Volume : sig
+ val mount : t -> string -> string -> string list -> int Lwt.t
+ val unmount : t -> string list -> int Lwt.t
+ val eject : t -> string list -> int Lwt.t
+end
+
+module Storage : sig
+ val eject : t -> string list -> int Lwt.t
+ val close_tray : t -> string list -> int Lwt.t
+end
+
+module Storage_removable : sig
+ val check_for_media : t -> bool Lwt.t
+end
+
+module Wake_on_lan : sig
+ val get_supported : t -> int Lwt.t
+ val get_enabled : t -> int Lwt.t
+ val set_enabled : t -> bool -> int Lwt.t
+end
+
+module System_power_management : sig
+ val suspend : t -> int -> int Lwt.t
+ val suspend_hybrid : t -> int -> int Lwt.t
+ val hibernate : t -> int Lwt.t
+ val shutdown : t -> int Lwt.t
+ val reboot : t -> int Lwt.t
+ val set_power_save : t -> bool -> int Lwt.t
+end
+
+module Cpufreq : sig
+ val set_cpufreq_governor : t -> string -> unit Lwt.t
+ val set_cpufreq_performance : t -> int -> unit Lwt.t
+ val set_cpufreq_consider_nice : t -> bool -> unit Lwt.t
+ val get_cpufreq_governor : t -> string Lwt.t
+ val get_cpufreq_performance : t -> int Lwt.t
+ val get_cpufreq_consider_nice : t -> bool Lwt.t
+ val get_cpufreq_available_governors : t -> string list Lwt.t
+end
+
+module Laptop_panel : sig
+ val set_brightness : t -> int -> int Lwt.t
+ val get_brightness : t -> int Lwt.t
+end
+
+module Kill_switch : sig
+ val set_power : t -> bool -> int Lwt.t
+ val get_power : t -> int Lwt.t
+end