[][src]Struct dbus::Message

pub struct Message { /* 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]

pub 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>>, 
[src]

Creates a new method call message.

pub fn method_call(
    destination: &BusName,
    path: &Path,
    iface: &Interface,
    name: &Member
) -> Message
[src]

Creates a new method call message.

pub 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>>, 
[src]

Creates a new signal message.

pub fn signal(path: &Path, iface: &Interface, name: &Member) -> Message[src]

Creates a new signal message.

pub fn new_method_return(m: &Message) -> Option<Message>[src]

Creates a method reply for this method call.

pub fn method_return(&self) -> Message[src]

Creates a method return (reply) for this method call.

pub fn new_error(
    m: &Message,
    error_name: &str,
    error_message: &str
) -> Option<Message>
[src]

The old way to create a new error reply

pub fn error(&self, error_name: &ErrorName, error_message: &CStr) -> Message[src]

Creates a new error reply

pub fn get_items(&self) -> Vec<MessageItem>[src]

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.

pub fn get_serial(&self) -> u32[src]

Get the D-Bus serial of a message, if one was specified.

pub fn get_reply_serial(&self) -> Option<u32>[src]

Get the serial of the message this message is a reply to, if present.

pub fn get_no_reply(&self) -> bool[src]

Returns true if the message does not expect a reply.

pub fn set_no_reply(&self, v: bool)[src]

Set whether or not the message expects a reply.

Set to true if you send a method call and do not want a reply.

pub fn get_auto_start(&self) -> bool[src]

Returns true if the message can cause a service to be auto-started.

pub fn set_auto_start(&self, v: bool)[src]

Sets whether or not the message can cause a service to be auto-started.

Defaults to true.

pub fn append_items(&mut self, v: &[MessageItem])[src]

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.

pub fn append<I: Into<MessageItem>>(self, v: I) -> Self[src]

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.

pub fn append1<A: Append>(self, a: A) -> Self[src]

Appends one argument to this message. Use in builder style: e g m.method_return().append1(7i32)

pub fn append2<A1: Append, A2: Append>(self, a1: A1, a2: A2) -> Self[src]

Appends two arguments to this message. Use in builder style: e g m.method_return().append2(7i32, 6u8)

pub fn append3<A1: Append, A2: Append, A3: Append>(
    self,
    a1: A1,
    a2: A2,
    a3: A3
) -> Self
[src]

Appends three arguments to this message. Use in builder style: e g m.method_return().append3(7i32, 6u8, true)

pub fn append_ref<A: RefArg>(self, r: &[A]) -> Self[src]

Appends RefArgs to this message. Use in builder style: e g m.method_return().append_ref(&[7i32, 6u8, true])

pub fn get1<'a, G1: Get<'a>>(&'a self) -> Option<G1>[src]

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.

pub fn get2<'a, G1: Get<'a>, G2: Get<'a>>(&'a self) -> (Option<G1>, Option<G2>)[src]

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.

pub fn get3<'a, G1: Get<'a>, G2: Get<'a>, G3: Get<'a>>(
    &'a self
) -> (Option<G1>, Option<G2>, Option<G3>)
[src]

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.

pub fn get4<'a, G1: Get<'a>, G2: Get<'a>, G3: Get<'a>, G4: Get<'a>>(
    &'a self
) -> (Option<G1>, Option<G2>, Option<G3>, Option<G4>)
[src]

Gets the first four arguments from the message, if those arguments are of type G1, G2, G3 and G4. Returns None if there are not enough arguments, or if types don't match.

pub fn get5<'a, G1: Get<'a>, G2: Get<'a>, G3: Get<'a>, G4: Get<'a>, G5: Get<'a>>(
    &'a self
) -> (Option<G1>, Option<G2>, Option<G3>, Option<G4>, Option<G5>)
[src]

Gets the first five arguments from the message, if those arguments are of type G1, G2, G3 and G4. Returns None if there are not enough arguments, or if types don't match. Note: If you need more than five arguments, use iter_init instead.

pub fn read1<'a, G1: Arg + Get<'a>>(&'a self) -> Result<G1, TypeMismatchError>[src]

Gets the first argument from the message, if that argument is of type G1.

Returns a TypeMismatchError if there are not enough arguments, or if types don't match.

pub fn read2<'a, G1: Arg + Get<'a>, G2: Arg + Get<'a>>(
    &'a self
) -> Result<(G1, G2), TypeMismatchError>
[src]

Gets the first two arguments from the message, if those arguments are of type G1 and G2.

Returns a TypeMismatchError if there are not enough arguments, or if types don't match.

pub fn read3<'a, G1: Arg + Get<'a>, G2: Arg + Get<'a>, G3: Arg + Get<'a>>(
    &'a self
) -> Result<(G1, G2, G3), TypeMismatchError>
[src]

Gets the first three arguments from the message, if those arguments are of type G1, G2 and G3.

Returns a TypeMismatchError if there are not enough arguments, or if types don't match.

pub fn read4<'a, G1: Arg + Get<'a>, G2: Arg + Get<'a>, G3: Arg + Get<'a>, G4: Arg + Get<'a>>(
    &'a self
) -> Result<(G1, G2, G3, G4), TypeMismatchError>
[src]

Gets the first four arguments from the message, if those arguments are of type G1, G2, G3 and G4.

Returns a TypeMismatchError if there are not enough arguments, or if types don't match.

pub fn read5<'a, G1: Arg + Get<'a>, G2: Arg + Get<'a>, G3: Arg + Get<'a>, G4: Arg + Get<'a>, G5: Arg + Get<'a>>(
    &'a self
) -> Result<(G1, G2, G3, G4, G5), TypeMismatchError>
[src]

Gets the first five arguments from the message, if those arguments are of type G1, G2, G3, G4 and G5.

Returns a TypeMismatchError if there are not enough arguments, or if types don't match. Note: If you need more than five arguments, use iter_init instead.

Important traits for Iter<'a>
pub fn iter_init<'a>(&'a self) -> Iter<'a>[src]

Returns a struct for retreiving the arguments from a message. Supersedes get_items().

pub fn msg_type(&self) -> MessageType[src]

Gets the MessageType of the Message.

pub fn sender<'a>(&'a self) -> Option<BusName<'a>>[src]

Gets the name of the connection that originated this message.

pub fn headers(
    &self
) -> (MessageType, Option<String>, Option<String>, Option<String>)
[src]

Returns a tuple of (Message type, Path, Interface, Member) of the current message.

pub fn path<'a>(&'a self) -> Option<Path<'a>>[src]

Gets the object path this Message is being sent to.

pub fn destination<'a>(&'a self) -> Option<BusName<'a>>[src]

Gets the destination this Message is being sent to.

pub fn set_destination(&mut self, dest: Option<BusName>)[src]

Sets the destination of this Message

If dest is none, that means broadcast to all relevant destinations.

pub fn interface<'a>(&'a self) -> Option<Interface<'a>>[src]

Gets the interface this Message is being sent to.

pub fn member<'a>(&'a self) -> Option<Member<'a>>[src]

Gets the interface member being called.

pub fn as_result(&mut self) -> Result<&mut Message, Error>[src]

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.

Trait Implementations

impl From<Message> for ConnectionItem[src]

impl Send for Message[src]

impl Drop for Message[src]

impl Debug for Message[src]

Auto Trait Implementations

impl Unpin for Message

impl !Sync for Message

impl RefUnwindSafe for Message

impl UnwindSafe for Message

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]