# Module DBus.Bus

    module Bus: sig .. end

    type ty =

`|` | `Session`
`|` | `System`
`|` | `Starter`

    type flags =

`|` | `Replace_existing`

    type grab_flag =

`|` | `AllowReplacement`
`|` | `ReplaceExisting`
`|` | `DoNotQueue`

    type request_reply =

`|` | `PrimaryOwner`
`|` | `InQueue`
`|` | `Exists`
`|` | `AlreadyOwner`
`|` | `ReqUnknown of `int``

    type release_reply =

`|` | `Released`
`|` | `NonExistent`
`|` | `NotOwner`
`|` | `RelUnknown of `int``

    val get : ty -> DBus.bus

    val get_private : ty -> DBus.bus

    val register : DBus.bus -> unit

    val set_unique_name : DBus.bus -> string -> bool

    val get_unique_name : DBus.bus -> string

    val request_name : DBus.bus -> string -> grab_flag list -> request_reply

    val release_name : DBus.bus -> string -> release_reply

    val has_owner : DBus.bus -> string -> bool

    val add_match : DBus.bus -> string -> bool -> unit

    val remove_match : DBus.bus -> string -> bool -> unit