Struct zbus::blocking::InterfaceRef
source · [−]pub struct InterfaceRef<I> { /* private fields */ }
Expand description
Wrapper over an interface, along with its corresponding SignalContext
instance. A reference to the underlying interface may be obtained via
InterfaceRef::get
and InterfaceRef::get_mut
.
Implementations
sourceimpl<I> InterfaceRef<I> where
I: 'static,
impl<I> InterfaceRef<I> where
I: 'static,
sourcepub fn get(&self) -> InterfaceDeref<'_, I>
pub fn get(&self) -> InterfaceDeref<'_, I>
Get a reference to the underlying interface.
sourcepub fn get_mut(&self) -> InterfaceDerefMut<'_, I>
pub fn get_mut(&self) -> InterfaceDerefMut<'_, I>
Get a reference to the underlying interface.
WARNINGS: Since the ObjectServer
will not be able to access the interface in question
until the return value of this method is dropped, it is highly recommended that the scope
of the interface returned is restricted.
Errors
If the interface at this instance’s path is not valid, Error::InterfaceNotFound
error is
returned.
Examples
struct MyIface(u32);
#[dbus_interface(name = "org.myiface.MyIface")]
impl MyIface {
#[dbus_interface(property)]
fn count(&self) -> u32 {
self.0
}
}
// Setup connection and object_server etc here and then in another part of the code:
let mut object_server = connection.object_server();
let iface_ref = object_server.interface::<_, MyIface>(path)?;
let mut iface = iface_ref.get_mut();
iface.0 = 42;
block_on(iface.count_changed(iface_ref.signal_context()))?;
pub fn signal_context(&self) -> &SignalContext<'static>
Auto Trait Implementations
impl<I> !RefUnwindSafe for InterfaceRef<I>
impl<I> Send for InterfaceRef<I> where
I: Send,
impl<I> Sync for InterfaceRef<I> where
I: Sync,
impl<I> Unpin for InterfaceRef<I> where
I: Unpin,
impl<I> !UnwindSafe for InterfaceRef<I>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more