Struct zbus::fdo::InterfacesAdded
source · [−]pub struct InterfacesAdded(_);
Expand description
A InterfacesAdded
signal.
Implementations
sourceimpl InterfacesAdded
impl InterfacesAdded
sourcepub fn args<'s>(&'s self) -> Result<InterfacesAddedArgs<'s>>
pub fn args<'s>(&'s self) -> Result<InterfacesAddedArgs<'s>>
Retrieve the signal arguments.
Methods from Deref<Target = Message>
sourcepub fn take_fds(&self) -> Vec<OwnedFd>
pub fn take_fds(&self) -> Vec<OwnedFd>
Take ownership of the associated file descriptors in the message.
When a message is received over a AF_UNIX socket, it may contain associated FDs. To prevent the message from closing those FDs on drop, call this method that returns all the received FDs with their ownership.
This function is Unix-specific.
Note: the message will continue to reference the files, so you must keep them open for as long as the message itself.
sourcepub fn body_signature(&self) -> Result<Signature<'_>>
pub fn body_signature(&self) -> Result<Signature<'_>>
The signature of the body.
Note: While zbus treats multiple arguments as a struct (to allow you to use the tuple syntax), D-Bus does not. Since this method gives you the signature expected on the wire by D-Bus, the trailing and leading STRUCT signature parenthesis will not be present in case of multiple arguments.
pub fn primary_header(&self) -> &MessagePrimaryHeader
sourcepub fn header(&self) -> Result<MessageHeader<'_>>
pub fn header(&self) -> Result<MessageHeader<'_>>
Deserialize the header.
Note: prefer using the direct access methods if possible; they are more efficient.
sourcepub fn fields(&self) -> Result<MessageFields<'_>>
pub fn fields(&self) -> Result<MessageFields<'_>>
Deserialize the fields.
Note: prefer using the direct access methods if possible; they are more efficient.
sourcepub fn message_type(&self) -> MessageType
pub fn message_type(&self) -> MessageType
The message type.
sourcepub fn path(&self) -> Option<ObjectPath<'_>>
pub fn path(&self) -> Option<ObjectPath<'_>>
The object to send a call to, or the object a signal is emitted from.
sourcepub fn interface(&self) -> Option<InterfaceName<'_>>
pub fn interface(&self) -> Option<InterfaceName<'_>>
The interface to invoke a method call on, or that a signal is emitted from.
sourcepub fn member(&self) -> Option<MemberName<'_>>
pub fn member(&self) -> Option<MemberName<'_>>
The member, either the method name or signal name.
sourcepub fn reply_serial(&self) -> Option<u32>
pub fn reply_serial(&self) -> Option<u32>
The serial number of the message this message is a reply to.
sourcepub fn body_unchecked<'d, 'm: 'd, B>(&'m self) -> Result<B> where
B: Deserialize<'d> + Type,
pub fn body_unchecked<'d, 'm: 'd, B>(&'m self) -> Result<B> where
B: Deserialize<'d> + Type,
Deserialize the body (without checking signature matching).
sourcepub fn body<'d, 'm: 'd, B>(&'m self) -> Result<B> where
B: DynamicDeserialize<'d>,
pub fn body<'d, 'm: 'd, B>(&'m self) -> Result<B> where
B: DynamicDeserialize<'d>,
Deserialize the body using the contained signature.
Example
let send_body = (7i32, (2i32, "foo"), vec!["bar"]);
let message = Message::method(None::<&str>, Some("zbus.test"), "/", Some("zbus.test"), "ping", &send_body)?;
let body : zvariant::Structure = message.body()?;
let fields = body.fields();
assert!(matches!(fields[0], zvariant::Value::I32(7)));
assert!(matches!(fields[1], zvariant::Value::Structure(_)));
assert!(matches!(fields[2], zvariant::Value::Array(_)));
let reply_msg = Message::method_reply(None::<&str>, &message, &body)?;
let reply_value : (i32, (i32, &str), Vec<String>) = reply_msg.body()?;
assert_eq!(reply_value.0, 7);
assert_eq!(reply_value.2.len(), 1);
sourcepub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
Get a reference to the byte encoding of the message.
sourcepub fn body_as_bytes(&self) -> Result<&[u8]>
pub fn body_as_bytes(&self) -> Result<&[u8]>
Get a reference to the byte encoding of the body of the message.
sourcepub fn recv_position(&self) -> MessageSequence
pub fn recv_position(&self) -> MessageSequence
Get the receive ordering of a message.
This may be used to identify how two events were ordered on the bus. It only produces a
useful ordering for messages that were produced by the same zbus::Connection
.
This is completely unrelated to the serial number on the message, which is set by the peer and might not be ordered at all.
Trait Implementations
sourceimpl AsRef<Arc<Message>> for InterfacesAdded
impl AsRef<Arc<Message>> for InterfacesAdded
sourceimpl AsRef<Message> for InterfacesAdded
impl AsRef<Message> for InterfacesAdded
sourceimpl Clone for InterfacesAdded
impl Clone for InterfacesAdded
sourcefn clone(&self) -> InterfacesAdded
fn clone(&self) -> InterfacesAdded
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for InterfacesAdded
impl Debug for InterfacesAdded
Auto Trait Implementations
impl RefUnwindSafe for InterfacesAdded
impl Send for InterfacesAdded
impl Sync for InterfacesAdded
impl Unpin for InterfacesAdded
impl UnwindSafe for InterfacesAdded
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