`sig
type 'a t
type 'a interface
type 'a method_info
type 'a signal_info
type 'a property_info
val attach : 'a OBus_object.t -> 'a -> unit
val get : 'a OBus_object.t -> 'a
val make :
?owner:OBus_peer.t ->
?common:bool ->
?interfaces:'a OBus_object.interface list ->
OBus_path.t -> 'a OBus_object.t
val path : 'a OBus_object.t -> OBus_path.t
val owner : 'a OBus_object.t -> OBus_peer.t option
val exports : 'a OBus_object.t -> Set.Make(OBus_connection).t React.signal
val introspect : 'a OBus_object.t -> OBus_introspect.interface list
val on_properties_changed :
'a OBus_object.t ->
(OBus_name.interface ->
(OBus_name.member * OBus_value.V.single option) list -> unit Lwt.t)
Pervasives.ref
val export : OBus_connection.t -> 'a OBus_object.t -> unit
val remove : OBus_connection.t -> 'a OBus_object.t -> unit
val remove_by_path : OBus_connection.t -> OBus_path.t -> unit
val destroy : 'a OBus_object.t -> unit
val dynamic :
connection:OBus_connection.t ->
prefix:OBus_path.t ->
handler:(OBus_context.t -> OBus_path.t -> 'a OBus_object.t Lwt.t) -> unit
val make_interface :
name:OBus_name.interface ->
?annotations:OBus_introspect.annotation list ->
?methods:'a OBus_object.method_info list ->
?signals:'a OBus_object.signal_info list ->
?properties:'a OBus_object.property_info list ->
unit -> 'a OBus_object.interface
val make_interface_unsafe :
OBus_name.interface ->
OBus_introspect.annotation list ->
'a OBus_object.method_info array ->
'a OBus_object.signal_info array ->
'a OBus_object.property_info array -> 'a OBus_object.interface
val add_interfaces :
'a OBus_object.t -> 'a OBus_object.interface list -> unit
val remove_interfaces :
'a OBus_object.t -> 'a OBus_object.interface list -> unit
val remove_interfaces_by_names :
'a OBus_object.t -> OBus_name.interface list -> unit
val introspectable : unit -> 'a OBus_object.interface
val properties : unit -> 'a OBus_object.interface
val method_info :
('a, 'b) OBus_member.Method.t ->
('c OBus_object.t -> 'a -> 'b Lwt.t) -> 'c OBus_object.method_info
val signal_info : 'a OBus_member.Signal.t -> 'b OBus_object.signal_info
val property_r_info :
('a, [ `readable ]) OBus_member.Property.t ->
('b OBus_object.t -> 'a React.signal) -> 'b OBus_object.property_info
val property_w_info :
('a, [ `writable ]) OBus_member.Property.t ->
('b OBus_object.t -> 'a -> unit Lwt.t) -> 'b OBus_object.property_info
val property_rw_info :
('a, [ `readable | `writable ]) OBus_member.Property.t ->
('b OBus_object.t -> 'a React.signal) ->
('b OBus_object.t -> 'a -> unit Lwt.t) -> 'b OBus_object.property_info
val emit :
'a OBus_object.t ->
interface:OBus_name.interface ->
member:OBus_name.member ->
?peer:OBus_peer.t -> 'b OBus_value.C.sequence -> 'b -> unit Lwt.t
end`