zbus::fdo

Struct 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

source

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.

source

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

source§

fn clone(&self) -> ObjectManager

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 Debug for ObjectManager

source§

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

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

impl Interface for ObjectManager

source§

fn name() -> InterfaceName<'static>

Return the name of the interface. Ex: “org.foo.MyInterface”
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,

Get a property value. Returns 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,

Return all the properties.
source§

fn set<'call>( &'call self, property_name: &'call str, value: &'call Value<'_>, signal_context: &'call SignalContext<'_>, ) -> DispatchResult<'call>

Set a property value. Read more
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,

Set a property value. Read more
source§

fn call<'call>( &'call self, s: &'call ObjectServer, c: &'call Connection, m: &'call Message, name: MemberName<'call>, ) -> DispatchResult<'call>

Call a method. Read more
source§

fn call_mut<'call>( &'call mut self, s: &'call ObjectServer, c: &'call Connection, m: &'call Message, name: MemberName<'call>, ) -> DispatchResult<'call>

Call a &mut self method. Read more
source§

fn introspect_to_writer(&self, writer: &mut dyn Write, level: usize)

Write introspection XML to the writer, with the given indentation level.

Auto Trait Implementations§

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, dst: *mut T)

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

source§

type Output = T

Should always be Self
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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more