Struct dbus::blocking::Proxy[][src]

pub struct Proxy<'a, C> {
    pub destination: BusName<'a>,
    pub path: Path<'a>,
    pub timeout: Duration,
    pub connection: C,
}

A struct that wraps a connection, destination and path.

A D-Bus "Proxy" is a client-side object that corresponds to a remote object on the server side. Calling methods on the proxy object calls methods on the remote object. Read more in the D-Bus tutorial

Fields

destination: BusName<'a>

Destination, i e what D-Bus service you're communicating with

path: Path<'a>

Object path on the destination

timeout: Duration

Timeout for method calls

connection: C

Some way to send and/or receive messages, either blocking or non-blocking.

Implementations

impl<'a, C> Proxy<'a, C>[src]

pub fn new<D: Into<BusName<'a>>, P: Into<Path<'a>>>(
    dest: D,
    path: P,
    timeout: Duration,
    connection: C
) -> Self
[src]

Creates a new proxy struct.

impl<'a, T: BlockingSender, C: Deref<Target = T>> Proxy<'a, C>[src]

pub fn method_call<'i, 'm, R: ReadAll, A: AppendAll, I: Into<Interface<'i>>, M: Into<Member<'m>>>(
    &self,
    i: I,
    m: M,
    args: A
) -> Result<R, Error>
[src]

Make a method call using typed input and output arguments, then block waiting for a reply.

Example

use dbus::blocking::{Connection, Proxy};

let conn = Connection::new_session()?;
let proxy = Proxy::new("org.freedesktop.DBus", "/", std::time::Duration::from_millis(5000), &conn);
let (has_owner,): (bool,) = proxy.method_call("org.freedesktop.DBus", "NameHasOwner", ("dummy.name.without.owner",))?;
assert_eq!(has_owner, false);

pub fn match_start(
    &self,
    mr: MatchRule<'static>,
    call_add_match: bool,
    f: <T as MatchingReceiver>::F
) -> Result<Token, Error> where
    T: MatchingReceiver
[src]

Starts matching incoming messages on this destination and path.

For matching signals, match_signal might be more convenient.

The match rule will be modified to include this path and destination only.

If call_add_match is true, will notify the D-Bus server that matching should start.

pub fn match_stop(
    &self,
    id: Token,
    call_remove_match: bool
) -> Result<(), Error> where
    T: MatchingReceiver
[src]

Stops matching a signal added with match_start or match_signal.

If call_remove_match is true, will notify the D-Bus server that matching should stop, this should be true in case match_signal was used.

pub fn match_signal<S: SignalArgs + ReadAll, F>(
    &self,
    f: F
) -> Result<Token, Error> where
    T: MatchingReceiver,
    F: MakeSignal<<T as MatchingReceiver>::F, S, T>, 
[src]

Sets up an incoming signal match, that calls the supplied callback every time the signal is received.

The returned value can be used to remove the match. The match is also removed if the callback returns "false".

Trait Implementations

impl<'a, C: Clone> Clone for Proxy<'a, C>[src]

impl<'a, C: Debug> Debug for Proxy<'a, C>[src]

impl<'a, T: BlockingSender, C: Deref<Target = T>> Introspectable for Proxy<'a, C>[src]

impl<'a, T: BlockingSender, C: Deref<Target = T>> ObjectManager for Proxy<'a, C>[src]

impl<'a, T: BlockingSender, C: Deref<Target = T>> Peer for Proxy<'a, C>[src]

impl<'a, T: BlockingSender, C: Deref<Target = T>> Properties for Proxy<'a, C>[src]

Auto Trait Implementations

impl<'a, C> RefUnwindSafe for Proxy<'a, C> where
    C: RefUnwindSafe
[src]

impl<'a, C> Send for Proxy<'a, C> where
    C: Send
[src]

impl<'a, C> Sync for Proxy<'a, C> where
    C: Sync
[src]

impl<'a, C> Unpin for Proxy<'a, C> where
    C: Unpin
[src]

impl<'a, C> UnwindSafe for Proxy<'a, C> where
    C: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.