Struct Proxy

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

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§

Source§

impl<'a, C> Proxy<'a, C>

Source

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

Creates a new proxy struct.

Source§

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

Source

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>

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);
Source

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

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.

Source

pub fn match_stop( &self, id: Token, call_remove_match: bool, ) -> Result<(), Error>

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.

Source

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>,

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§

Source§

impl<'a, C: Clone> Clone for Proxy<'a, C>

Source§

fn clone(&self) -> Proxy<'a, C>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a, C: Debug> Debug for Proxy<'a, C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

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

Source§

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

Source§

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

Source§

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

Source§

fn get<R0: for<'b> Get<'b> + 'static>( &self, interface_name: &str, property_name: &str, ) -> Result<R0, Error>

Source§

fn get_all(&self, interface_name: &str) -> Result<PropMap, Error>

Source§

fn set<I2: Arg + Append>( &self, interface_name: &str, property_name: &str, value: I2, ) -> Result<(), Error>

Auto Trait Implementations§

§

impl<'a, C> Freeze for Proxy<'a, C>
where C: Freeze,

§

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

§

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

§

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

§

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

§

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

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.