sig
  val interface : OBus_name.interface
  val m_AcquireInterfaceLock : (string * bool, unit) OBus_member.Method.t
  val m_AddCapability : (string, unit) OBus_member.Method.t
  val m_AddonIsReady : (unit, bool) OBus_member.Method.t
  val m_ClaimInterface : (string * string, bool) OBus_member.Method.t
  val m_EmitCondition : (string * string, bool) OBus_member.Method.t
  val m_GetAllProperties :
    (unit, (string * OBus_value.V.single) list) OBus_member.Method.t
  val m_GetProperty : (string, OBus_value.V.single) OBus_member.Method.t
  val m_GetPropertyBoolean : (string, bool) OBus_member.Method.t
  val m_GetPropertyDouble : (string, float) OBus_member.Method.t
  val m_GetPropertyInteger : (string, int32) OBus_member.Method.t
  val m_GetPropertyString : (string, string) OBus_member.Method.t
  val m_GetPropertyStringList : (string, string list) OBus_member.Method.t
  val m_GetPropertyType : (string, int32) OBus_member.Method.t
  val m_IsCallerLockedOut : (string * string, bool) OBus_member.Method.t
  val m_IsCallerPrivileged : (string * string, string) OBus_member.Method.t
  val m_IsLockedByOthers : (string, bool) OBus_member.Method.t
  val m_Lock : (string, bool) OBus_member.Method.t
  val m_PropertyExists : (string, bool) OBus_member.Method.t
  val m_QueryCapability : (string, bool) OBus_member.Method.t
  val m_ReleaseInterfaceLock : (string, unit) OBus_member.Method.t
  val m_RemoveProperty : (string, unit) OBus_member.Method.t
  val m_Reprobe : (unit, bool) OBus_member.Method.t
  val m_Rescan : (unit, bool) OBus_member.Method.t
  val m_SetMultipleProperties :
    ((string * OBus_value.V.single) list, unit) OBus_member.Method.t
  val m_SetProperty :
    (string * OBus_value.V.single, unit) OBus_member.Method.t
  val m_SetPropertyBoolean : (string * bool, unit) OBus_member.Method.t
  val m_SetPropertyDouble : (string * float, unit) OBus_member.Method.t
  val m_SetPropertyInteger : (string * int32, unit) OBus_member.Method.t
  val m_SetPropertyString : (string * string, unit) OBus_member.Method.t
  val m_SetPropertyStringList :
    (string * string list, unit) OBus_member.Method.t
  val m_StringListAppend : (string * string, unit) OBus_member.Method.t
  val m_StringListPrepend : (string * string, unit) OBus_member.Method.t
  val m_StringListRemove : (string * string, unit) OBus_member.Method.t
  val m_Unlock : (unit, bool) OBus_member.Method.t
  val s_Condition : (string * string) OBus_member.Signal.t
  val s_InterfaceLockAcquired :
    (string * string * int32) OBus_member.Signal.t
  val s_InterfaceLockReleased :
    (string * string * int32) OBus_member.Signal.t
  val s_PropertyModified :
    (int32 * (string * bool * bool) list) OBus_member.Signal.t
  type 'a members = {
    m_AcquireInterfaceLock : 'OBus_object.t -> string * bool -> unit Lwt.t;
    m_AddCapability : 'OBus_object.t -> string -> unit Lwt.t;
    m_AddonIsReady : 'OBus_object.t -> unit -> bool Lwt.t;
    m_ClaimInterface : 'OBus_object.t -> string * string -> bool Lwt.t;
    m_EmitCondition : 'OBus_object.t -> string * string -> bool Lwt.t;
    m_GetAllProperties :
      'OBus_object.t -> unit -> (string * OBus_value.V.single) list Lwt.t;
    m_GetProperty : 'OBus_object.t -> string -> OBus_value.V.single Lwt.t;
    m_GetPropertyBoolean : 'OBus_object.t -> string -> bool Lwt.t;
    m_GetPropertyDouble : 'OBus_object.t -> string -> float Lwt.t;
    m_GetPropertyInteger : 'OBus_object.t -> string -> int32 Lwt.t;
    m_GetPropertyString : 'OBus_object.t -> string -> string Lwt.t;
    m_GetPropertyStringList : 'OBus_object.t -> string -> string list Lwt.t;
    m_GetPropertyType : 'OBus_object.t -> string -> int32 Lwt.t;
    m_IsCallerLockedOut : 'OBus_object.t -> string * string -> bool Lwt.t;
    m_IsCallerPrivileged :
      'OBus_object.t -> string * string -> string Lwt.t;
    m_IsLockedByOthers : 'OBus_object.t -> string -> bool Lwt.t;
    m_Lock : 'OBus_object.t -> string -> bool Lwt.t;
    m_PropertyExists : 'OBus_object.t -> string -> bool Lwt.t;
    m_QueryCapability : 'OBus_object.t -> string -> bool Lwt.t;
    m_ReleaseInterfaceLock : 'OBus_object.t -> string -> unit Lwt.t;
    m_RemoveProperty : 'OBus_object.t -> string -> unit Lwt.t;
    m_Reprobe : 'OBus_object.t -> unit -> bool Lwt.t;
    m_Rescan : 'OBus_object.t -> unit -> bool Lwt.t;
    m_SetMultipleProperties :
      'OBus_object.t -> (string * OBus_value.V.single) list -> unit Lwt.t;
    m_SetProperty :
      'OBus_object.t -> string * OBus_value.V.single -> unit Lwt.t;
    m_SetPropertyBoolean : 'OBus_object.t -> string * bool -> unit Lwt.t;
    m_SetPropertyDouble : 'OBus_object.t -> string * float -> unit Lwt.t;
    m_SetPropertyInteger : 'OBus_object.t -> string * int32 -> unit Lwt.t;
    m_SetPropertyString : 'OBus_object.t -> string * string -> unit Lwt.t;
    m_SetPropertyStringList :
      'OBus_object.t -> string * string list -> unit Lwt.t;
    m_StringListAppend : 'OBus_object.t -> string * string -> unit Lwt.t;
    m_StringListPrepend : 'OBus_object.t -> string * string -> unit Lwt.t;
    m_StringListRemove : 'OBus_object.t -> string * string -> unit Lwt.t;
    m_Unlock : 'OBus_object.t -> unit -> bool Lwt.t;
  }
  val make :
    'Hal_interfaces.Org_freedesktop_Hal_Device.members ->
    'OBus_object.interface
end