Struct dbus_async::DBus [−][src]
pub struct DBus { /* fields omitted */ }
Expand description
This struct represents an object to communicate with the DBus daemon.
Implementations
Connect to the session DBus.
If the first argument (introspectable
) is true
then the Peer is introspectable.
If the second argument (peer
) is true
then the Peer has the
org.freedesktop.DBus.Peer
.
The DBUS_SESSION_BUS_ADDRESS
environment variable have to be defined.
Connect to the system DBus.
If the first argument (introspectable
) is true
then the Peer is introspectable.
If the second argument (peer
) is true
then the Peer has the
org.freedesktop.DBus.Peer
.
If there DBUS_SYSTEM_BUS_ADDRESS
environment variable is defined then this path will be
used, else unix:path=/var/run/dbus/system_bus_socket
.
Connect to the specific (addressses
) DBus daemon.
If the second argument (introspectable
) is true
then the Peer is introspectable.
If the third argument (peer
) is true
then the Peer has the
org.freedesktop.DBus.Peer
.
pub async fn call_reply_serial(
&self,
msg: Message,
msg_sender: MpscSender<Message>
) -> DBusResult<u32>
pub async fn call_reply_serial(
&self,
msg: Message,
msg_sender: MpscSender<Message>
) -> DBusResult<u32>
Register a name for the peer. This calls the RequestName(String, UInt32)
method of the
DBus daemon.
pub fn add_method_call(
&self,
object_path: ObjectPath,
sender: MpscSender<Message>
) -> DBusResult<()>
pub fn add_method_call(
&self,
object_path: ObjectPath,
sender: MpscSender<Message>
) -> DBusResult<()>
Add a channel to a specific ObjectPath
.
The channel will receive all MethodCall
messages for the specified ObjectPath
.
If there is already channel added for this ObjectPath
then it will be replace. So the
old channel will not receive any MethodCall
messages for the ObjectPath
anymore.
Delete the channel for a specific ObjectPath
(see add_method_call
).
Even if there is no channel for this ObjectPath
the function will return Ok()
.
Delete the channel for every ObjectPath
, which the given sender is connected to
(see add_method_call
).
Delete the channel for every ObjectPath
, which the given sender is connected to
(see add_method_call
).
pub fn add_method_call_interface(
&self,
interface: Interface,
sender: MpscSender<Message>
) -> DBusResult<()>
pub fn add_method_call_interface(
&self,
interface: Interface,
sender: MpscSender<Message>
) -> DBusResult<()>
Add a channel to a specific Interface
.
The channel will only receive all MethodCall
messages for the specified Interface
,
if there is no channel by the ObjectPath
.
If there is already channel added for this Interface
then it will be replace. So the old
channel will not receive any MethodCall
messages for the Interface
anymore.
pub fn delete_method_call_interface_sender(
&self,
sender: MpscSender<Message>
) -> DBusResult<()>
pub fn delete_method_call_interface_sender(
&self,
sender: MpscSender<Message>
) -> DBusResult<()>
Delete the channel for every Interface
, which the given sender is connected to
(see add_method_call_interface
).
pub fn delete_method_call_interface_receiver(
&self,
receiver: MpscReceiver<Message>
) -> DBusResult<()>
pub fn delete_method_call_interface_receiver(
&self,
receiver: MpscReceiver<Message>
) -> DBusResult<()>
Delete the channel for every Interface
, which the given sender is connected to
(see add_method_call_interface
).
pub fn add_signal(
&self,
object_path: ObjectPath,
filter: Option<fn(_: &Message) -> bool>,
sender: MpscSender<Message>
) -> DBusResult<()>
pub fn add_signal(
&self,
object_path: ObjectPath,
filter: Option<fn(_: &Message) -> bool>,
sender: MpscSender<Message>
) -> DBusResult<()>
Add a channel to a specific ObjectPath
.
The channel will receive all Signal
messages for the specified ObjectPath
.
The second argument specify a closure to filter the Message
. If the closure returns true
then the Message
will not be send to the channel.
There can be multiple channels, which will receive message of the specific ObjectPath
.
Delete the channel for every ObjectPath
, which the given sender is connected to
(see add_signal
).
Delete the channel for every ObjectPath
, which the given sender is connected to
(see add_signal
).
pub fn add_match_rules(
&self,
match_rules: Vec<MatchRule>,
sender: MpscSender<Message>
) -> DBusResult<()>
pub fn add_match_rules(
&self,
match_rules: Vec<MatchRule>,
sender: MpscSender<Message>
) -> DBusResult<()>
Delete the channel for every MatchRule
s, which the given sender is connected to
(see add_match_rules
).
Delete the channel for every MatchRule
s, which the given sender is connected to
(see add_match_rules
).
List all ObjectPath
s under the given ObjectPath
.
This will only list the ObjectPath
for the MethodCall
messages
(see add_method_call
).
Close the DBus connection.
Get the current path of the DBus daemon.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for DBus
impl !UnwindSafe for DBus
Blanket Implementations
Mutably borrows from an owned value. Read more