Struct zbus::blocking::fdo::PropertiesChanged
source · pub struct PropertiesChanged(/* private fields */);
Expand description
A PropertiesChanged
signal.
Implementations§
source§impl PropertiesChanged
impl PropertiesChanged
sourcepub fn from_message<M>(msg: M) -> Option<Self>
pub fn from_message<M>(msg: M) -> Option<Self>
Try to construct a PropertiesChanged from a ::zbus::Message.
source§impl PropertiesChanged
impl PropertiesChanged
sourcepub fn args<'s>(&'s self) -> Result<PropertiesChangedArgs<'s>>
pub fn args<'s>(&'s self) -> Result<PropertiesChangedArgs<'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 : zbus::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 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§
source§impl AsRef<Message> for PropertiesChanged
impl AsRef<Message> for PropertiesChanged
source§impl Clone for PropertiesChanged
impl Clone for PropertiesChanged
source§fn clone(&self) -> PropertiesChanged
fn clone(&self) -> PropertiesChanged
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PropertiesChanged
impl Debug for PropertiesChanged
Auto Trait Implementations§
impl Freeze for PropertiesChanged
impl RefUnwindSafe for PropertiesChanged
impl Send for PropertiesChanged
impl Sync for PropertiesChanged
impl Unpin for PropertiesChanged
impl UnwindSafe for PropertiesChanged
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
)