# Module UPower_interfaces.Org_freedesktop_UPower_Device

    module Org_freedesktop_UPower_Device: sig .. end

    val interface : OBus_name.interface

    val m_GetHistory : (string * int32 * int32, (int32 * float * int32) list) OBus_member.Method.t

    val m_GetStatistics : (string, (float * float) list) OBus_member.Method.t

    val m_Refresh : (unit, unit) OBus_member.Method.t

    val s_Changed : unit OBus_member.Signal.t

    val p_Capacity : (float, [ `readable ]) OBus_member.Property.t

    val p_Energy : (float, [ `readable ]) OBus_member.Property.t

    val p_EnergyEmpty : (float, [ `readable ]) OBus_member.Property.t

    val p_EnergyFull : (float, [ `readable ]) OBus_member.Property.t

    val p_EnergyFullDesign : (float, [ `readable ]) OBus_member.Property.t

    val p_EnergyRate : (float, [ `readable ]) OBus_member.Property.t

    val p_HasHistory : (bool, [ `readable ]) OBus_member.Property.t

    val p_HasStatistics : (bool, [ `readable ]) OBus_member.Property.t

    val p_IsPresent : (bool, [ `readable ]) OBus_member.Property.t

    val p_IsRechargeable : (bool, [ `readable ]) OBus_member.Property.t

    val p_Model : (string, [ `readable ]) OBus_member.Property.t

    val p_NativePath : (string, [ `readable ]) OBus_member.Property.t

    val p_Online : (bool, [ `readable ]) OBus_member.Property.t

    val p_Percentage : (float, [ `readable ]) OBus_member.Property.t

    val p_PowerSupply : (bool, [ `readable ]) OBus_member.Property.t

    val p_RecallNotice : (bool, [ `readable ]) OBus_member.Property.t

    val p_RecallUrl : (string, [ `readable ]) OBus_member.Property.t

    val p_RecallVendor : (string, [ `readable ]) OBus_member.Property.t

    val p_Serial : (string, [ `readable ]) OBus_member.Property.t

    val p_State : (int32, [ `readable ]) OBus_member.Property.t

    val p_Technology : (int32, [ `readable ]) OBus_member.Property.t

    val p_TimeToEmpty : (int64, [ `readable ]) OBus_member.Property.t

    val p_TimeToFull : (int64, [ `readable ]) OBus_member.Property.t

    val p_Type : (int32, [ `readable ]) OBus_member.Property.t

    val p_UpdateTime : (int64, [ `readable ]) OBus_member.Property.t

    val p_Vendor : (string, [ `readable ]) OBus_member.Property.t

    val p_Voltage : (float, [ `readable ]) OBus_member.Property.t

    type 'a members = {

`` | `m_GetHistory : `'a OBus_object.t -> string * int32 * int32 -> (int32 * float * int32) list Lwt.t`;`
`` | `m_GetStatistics : `'a OBus_object.t -> string -> (float * float) list Lwt.t`;`
`` | `m_Refresh : `'a OBus_object.t -> unit -> unit Lwt.t`;`
`` | `p_Capacity : `'a OBus_object.t -> float React.signal`;`
`` | `p_Energy : `'a OBus_object.t -> float React.signal`;`
`` | `p_EnergyEmpty : `'a OBus_object.t -> float React.signal`;`
`` | `p_EnergyFull : `'a OBus_object.t -> float React.signal`;`
`` | `p_EnergyFullDesign : `'a OBus_object.t -> float React.signal`;`
`` | `p_EnergyRate : `'a OBus_object.t -> float React.signal`;`
`` | `p_HasHistory : `'a OBus_object.t -> bool React.signal`;`
`` | `p_HasStatistics : `'a OBus_object.t -> bool React.signal`;`
`` | `p_IsPresent : `'a OBus_object.t -> bool React.signal`;`
`` | `p_IsRechargeable : `'a OBus_object.t -> bool React.signal`;`
`` | `p_Model : `'a OBus_object.t -> string React.signal`;`
`` | `p_NativePath : `'a OBus_object.t -> string React.signal`;`
`` | `p_Online : `'a OBus_object.t -> bool React.signal`;`
`` | `p_Percentage : `'a OBus_object.t -> float React.signal`;`
`` | `p_PowerSupply : `'a OBus_object.t -> bool React.signal`;`
`` | `p_RecallNotice : `'a OBus_object.t -> bool React.signal`;`
`` | `p_RecallUrl : `'a OBus_object.t -> string React.signal`;`
`` | `p_RecallVendor : `'a OBus_object.t -> string React.signal`;`
`` | `p_Serial : `'a OBus_object.t -> string React.signal`;`
`` | `p_State : `'a OBus_object.t -> int32 React.signal`;`
`` | `p_Technology : `'a OBus_object.t -> int32 React.signal`;`
`` | `p_TimeToEmpty : `'a OBus_object.t -> int64 React.signal`;`
`` | `p_TimeToFull : `'a OBus_object.t -> int64 React.signal`;`
`` | `p_Type : `'a OBus_object.t -> int32 React.signal`;`
`` | `p_UpdateTime : `'a OBus_object.t -> int64 React.signal`;`
`` | `p_Vendor : `'a OBus_object.t -> string React.signal`;`
`` | `p_Voltage : `'a OBus_object.t -> float React.signal`;`

}

    val make : 'a members ->
           'a OBus_object.interface