Struct zbus::fdo::ObjectManager
source · pub struct ObjectManager;
Expand description
Service-side Object Manager interface implementation.
The recommended path to add this interface at is the path form of the well-known name of a D-Bus
service, or below. For example, if a D-Bus service is available at the well-known name
net.example.ExampleService1
, this interface should typically be registered at
/net/example/ExampleService1
, or below (to allow for multiple object managers in a service).
It is supported, but not recommended, to add this interface at the root path, /
.
When added to an ObjectServer
, InterfacesAdded
signal is emitted for all the objects under
the path
its added at. You can use this fact to minimize the signal emissions by populating
the entire (sub)tree under path
before registering an object manager.
Implementations§
source§impl ObjectManager
impl ObjectManager
sourcepub async fn interfaces_added(
ctxt: &SignalContext<'_>,
object_path: &ObjectPath<'_>,
interfaces_and_properties: &HashMap<InterfaceName<'_>, HashMap<&str, Value<'_>>>,
) -> Result<()>
pub async fn interfaces_added( ctxt: &SignalContext<'_>, object_path: &ObjectPath<'_>, interfaces_and_properties: &HashMap<InterfaceName<'_>, HashMap<&str, Value<'_>>>, ) -> Result<()>
This signal is emitted when either a new object is added or when an existing object gains
one or more interfaces. The interfaces_and_properties
argument contains a map with the
interfaces and properties (if any) that have been added to the given object path.
sourcepub async fn interfaces_removed(
ctxt: &SignalContext<'_>,
object_path: &ObjectPath<'_>,
interfaces: &[InterfaceName<'_>],
) -> Result<()>
pub async fn interfaces_removed( ctxt: &SignalContext<'_>, object_path: &ObjectPath<'_>, interfaces: &[InterfaceName<'_>], ) -> Result<()>
This signal is emitted whenever an object is removed or it loses one or more interfaces.
The interfaces
parameters contains a list of the interfaces that were removed.
Trait Implementations§
source§impl Clone for ObjectManager
impl Clone for ObjectManager
source§fn clone(&self) -> ObjectManager
fn clone(&self) -> ObjectManager
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ObjectManager
impl Debug for ObjectManager
source§impl Interface for ObjectManager
impl Interface for ObjectManager
source§fn name() -> InterfaceName<'static>
fn name() -> InterfaceName<'static>
source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
property_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Option<Result<OwnedValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
property_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Option<Result<OwnedValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
None
if the property doesn’t exist.source§fn get_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = HashMap<String, OwnedValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = HashMap<String, OwnedValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
source§fn set<'call>(
&'call self,
property_name: &'call str,
value: &'call Value<'_>,
signal_context: &'call SignalContext<'_>,
) -> DispatchResult<'call>
fn set<'call>( &'call self, property_name: &'call str, value: &'call Value<'_>, signal_context: &'call SignalContext<'_>, ) -> DispatchResult<'call>
source§fn set_mut<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 mut self,
property_name: &'life1 str,
value: &'life2 Value<'life3>,
signal_context: &'life4 SignalContext<'life5>,
) -> Pin<Box<dyn Future<Output = Option<Result<()>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn set_mut<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 mut self,
property_name: &'life1 str,
value: &'life2 Value<'life3>,
signal_context: &'life4 SignalContext<'life5>,
) -> Pin<Box<dyn Future<Output = Option<Result<()>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
source§fn call<'call>(
&'call self,
s: &'call ObjectServer,
c: &'call Connection,
m: &'call Message,
name: MemberName<'call>,
) -> DispatchResult<'call>
fn call<'call>( &'call self, s: &'call ObjectServer, c: &'call Connection, m: &'call Message, name: MemberName<'call>, ) -> DispatchResult<'call>
source§fn call_mut<'call>(
&'call mut self,
s: &'call ObjectServer,
c: &'call Connection,
m: &'call Message,
name: MemberName<'call>,
) -> DispatchResult<'call>
fn call_mut<'call>( &'call mut self, s: &'call ObjectServer, c: &'call Connection, m: &'call Message, name: MemberName<'call>, ) -> DispatchResult<'call>
&mut self
method. Read moresource§fn introspect_to_writer(&self, writer: &mut dyn Write, level: usize)
fn introspect_to_writer(&self, writer: &mut dyn Write, level: usize)
Auto Trait Implementations§
impl Freeze for ObjectManager
impl RefUnwindSafe for ObjectManager
impl Send for ObjectManager
impl Sync for ObjectManager
impl Unpin for ObjectManager
impl UnwindSafe for ObjectManager
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)