Struct dbus::Message
[−]
[src]
pub struct Message { // some fields omitted }
A D-Bus message. A message contains some headers (e g sender and destination address) and a list of MessageItems.
Methods
impl Message
[src]
fn new_method_call<'d, 'p, 'i, 'm, D, P, I, M>(destination: D, path: P, iface: I, method: M) -> Result<Message, String> where D: Into<BusName<'d>>, P: Into<Path<'p>>, I: Into<Interface<'i>>, M: Into<Member<'m>>
Creates a new method call message.
fn method_call(destination: &BusName, path: &Path, iface: &Interface, name: &Member) -> Message
Creates a new method call message.
fn new_signal<P, I, M>(path: P, iface: I, name: M) -> Result<Message, String> where P: Into<Vec<u8>>, I: Into<Vec<u8>>, M: Into<Vec<u8>>
Creates a new signal message.
fn signal(path: &Path, iface: &Interface, name: &Member) -> Message
Creates a new signal message.
fn new_method_return(m: &Message) -> Option<Message>
Creates a method reply for this method call.
fn method_return(&self) -> Message
Creates a method return (reply) for this method call.
fn new_error(m: &Message, error_name: &str, error_message: &str) -> Option<Message>
The old way to create a new error reply
fn error(&self, error_name: &ErrorName, error_message: &CStr) -> Message
Creates a new error reply
fn get_items(&self) -> Vec<MessageItem>
Get the MessageItems that make up the message.
Note: use iter_init
or get1
/get2
/etc instead for faster access to the arguments.
This method is provided for backwards compatibility.
fn get_serial(&self) -> u32
Get the D-Bus serial of a message, if one was specified.
fn get_reply_serial(&self) -> Option<u32>
Get the serial of the message this message is a reply to, if present.
fn append_items(&mut self, v: &[MessageItem])
Add one or more MessageItems to this Message.
Note: using append1
, append2
or append3
might be faster, especially for large arrays.
This method is provided for backwards compatibility.
fn append<I: Into<MessageItem>>(self, v: I) -> Self
Appends one MessageItem to a message.
Use in builder style: e g m.method_return().append(7i32)
Note: using append1
, append2
or append3
might be faster, especially for large arrays.
This method is provided for backwards compatibility.
fn append1<A: Append>(self, a: A) -> Self
Appends one argument to this message.
Use in builder style: e g m.method_return().append1(7i32)
fn append2<A1: Append, A2: Append>(self, a1: A1, a2: A2) -> Self
Appends two arguments to this message.
Use in builder style: e g m.method_return().append2(7i32, 6u8)
fn append3<A1: Append, A2: Append, A3: Append>(self, a1: A1, a2: A2, a3: A3) -> Self
Appends three arguments to this message.
Use in builder style: e g m.method_return().append3(7i32, 6u8, true)
fn get1<'a, G1: Get<'a>>(&'a self) -> Option<G1>
Gets the first argument from the message, if that argument is of type G1. Returns None if there are not enough arguments, or if types don't match.
fn get2<'a, G1: Get<'a>, G2: Get<'a>>(&'a self) -> (Option<G1>, Option<G2>)
Gets the first two arguments from the message, if those arguments are of type G1 and G2. Returns None if there are not enough arguments, or if types don't match.
fn get3<'a, G1: Get<'a>, G2: Get<'a>, G3: Get<'a>>(&'a self) -> (Option<G1>, Option<G2>, Option<G3>)
Gets the first three arguments from the message, if those arguments are of type G1, G2 and G3. Returns None if there are not enough arguments, or if types don't match.
fn iter_init<'a>(&'a self) -> Iter<'a>
Returns a struct for retreiving the arguments from a message. Supersedes get_items().
fn msg_type(&self) -> MessageType
Gets the MessageType of the Message.
fn sender<'a>(&'a self) -> Option<BusName<'a>>
Gets the name of the connection that originated this message.
fn headers(&self) -> (MessageType, Option<String>, Option<String>, Option<String>)
Returns a tuple of (Message type, Path, Interface, Member) of the current message.
fn path<'a>(&'a self) -> Option<Path<'a>>
Gets the object path this Message is being sent to.
fn interface<'a>(&'a self) -> Option<Interface<'a>>
Gets the interface this Message is being sent to.
fn member<'a>(&'a self) -> Option<Member<'a>>
Gets the interface member being called.
fn as_result(&mut self) -> Result<&mut Message, Error>
When the remote end returns an error, the message itself is correct but its contents is an error. This method will transform such an error to a D-Bus Error or otherwise return the original message.