`sig
type argument_filter =
AF_string of string
| AF_string_path of string
| AF_namespace of string
type arguments = private (int * OBus_match.argument_filter) list
val make_arguments :
(int * OBus_match.argument_filter) list -> OBus_match.arguments
external cast_arguments :
OBus_match.arguments -> (int * OBus_match.argument_filter) list
= "%identity"
type rule = {
typ : [ `Error | `Method_call | `Method_return | `Signal ] option;
sender : OBus_name.bus;
interface : OBus_name.interface;
member : OBus_name.member;
path : OBus_path.t option;
destination : OBus_name.bus;
arguments : OBus_match.arguments;
eavesdrop : bool option;
}
val typ :
OBus_match.rule ->
[ `Error | `Method_call | `Method_return | `Signal ] option
val sender : OBus_match.rule -> OBus_name.bus
val interface : OBus_match.rule -> OBus_name.interface
val member : OBus_match.rule -> OBus_name.member
val path : OBus_match.rule -> OBus_path.t option
val destination : OBus_match.rule -> OBus_name.bus
val arguments : OBus_match.rule -> OBus_match.arguments
val eavesdrop : OBus_match.rule -> bool option
val rule :
?typ:[ `Error | `Method_call | `Method_return | `Signal ] ->
?sender:OBus_name.bus ->
?interface:OBus_name.interface ->
?member:OBus_name.member ->
?path:OBus_path.t ->
?destination:OBus_name.bus ->
?arguments:OBus_match.arguments ->
?eavesdrop:bool -> unit -> OBus_match.rule
val match_message : OBus_match.rule -> OBus_message.t -> bool
val match_values : OBus_match.arguments -> OBus_value.V.sequence -> bool
type comparison_result = More_general | Less_general | Equal | Incomparable
val compare_rules :
OBus_match.rule -> OBus_match.rule -> OBus_match.comparison_result
exception Parse_failure of string * int * string
val string_of_rule : OBus_match.rule -> string
val rule_of_string : string -> OBus_match.rule
val export :
?switch:Lwt_switch.t ->
OBus_connection.t -> OBus_match.rule -> unit Lwt.t
end`