[][src]Enum dbus::MessageItem

pub enum MessageItem {
    Array(MessageItemArray),
    Struct(Vec<MessageItem>),
    Variant(Box<MessageItem>),
    DictEntry(Box<MessageItem>, Box<MessageItem>),
    ObjectPath(Path<'static>),
    Str(String),
    Bool(bool),
    Byte(u8),
    Int16(i16),
    Int32(i32),
    Int64(i64),
    UInt16(u16),
    UInt32(u32),
    UInt64(u64),
    Double(f64),
    UnixFd(OwnedFd),
}

MessageItem - used as parameters and return values from method calls, or as data added to a signal (old, enum version).

Note that the newer generic design (see arg module) is both faster and less error prone than MessageItem, and should be your first hand choice whenever applicable.

Variants

Array(MessageItemArray)

A D-Bus array requires all elements to be of the same type. All elements must match the Signature.

Struct(Vec<MessageItem>)

A D-Bus struct allows for values of different types.

Variant(Box<MessageItem>)

A D-Bus variant is a wrapper around another MessageItem, which can be of any type.

DictEntry(Box<MessageItem>, Box<MessageItem>)

A D-Bus dictionary entry. These are only allowed inside an array.

ObjectPath(Path<'static>)

A D-Bus objectpath requires its content to be a valid objectpath, so this cannot be any string.

Str(String)

A D-Bus String is zero terminated, so no \0 s in the String, please. (D-Bus strings are also - like Rust strings - required to be valid UTF-8.)

Bool(bool)

A D-Bus boolean type.

Byte(u8)

A D-Bus unsigned 8 bit type.

Int16(i16)

A D-Bus signed 16 bit type.

Int32(i32)

A D-Bus signed 32 bit type.

Int64(i64)

A D-Bus signed 64 bit type.

UInt16(u16)

A D-Bus unsigned 16 bit type.

UInt32(u32)

A D-Bus unsigned 32 bit type.

UInt64(u64)

A D-Bus unsigned 64 bit type.

Double(f64)

A D-Bus IEEE-754 double-precision floating point type.

UnixFd(OwnedFd)

D-Bus allows for sending file descriptors, which can be used to set up SHM, unix pipes, or other communication channels.

Methods

impl MessageItem[src]

pub fn signature(&self) -> Signature<'static>[src]

Get the D-Bus Signature for this MessageItem.

Note: Since dictionary entries have no valid signature, calling this function for a dict entry will cause a panic.

pub fn type_sig(&self) -> TypeSig<'static>[src]

Deprecated:

superseded by signature

Get the D-Bus ASCII type-code for this MessageItem.

pub fn array_type(&self) -> i32[src]

Get the integer value for this MessageItem's type-code.

pub fn from_dict<E, I: Iterator<Item = Result<(String, MessageItem), E>>>(
    i: I
) -> Result<MessageItem, E>
[src]

Creates a (String, Variant) dictionary from an iterator with Result passthrough (an Err will abort and return that Err)

pub fn new_array(v: Vec<MessageItem>) -> Result<MessageItem, ArrayError>[src]

Creates an MessageItem::Array from a list of MessageItems.

Note: This requires v to be non-empty. See also MessageItem::from(&[T]), which can handle empty arrays as well.

pub fn inner<'a, T: FromMessageItem<'a>>(&'a self) -> Result<T, ()>[src]

Conveniently get the inner value of a MessageItem

Example

use dbus::MessageItem;
let m: MessageItem = 5i64.into();
let s: i64 = m.inner().unwrap();
assert_eq!(s, 5i64);

Trait Implementations

impl<'a> FromMessageItem<'a> for &'a MessageItem[src]

impl Append for MessageItem[src]

impl<'a> Get<'a> for MessageItem[src]

impl RefArg for MessageItem[src]

fn as_i64(&self) -> Option<i64>[src]

Try to read the argument as an i64. Read more

fn as_u64(&self) -> Option<u64>[src]

Try to read the argument as an u64. Read more

fn as_f64(&self) -> Option<f64>[src]

Try to read the argument as an f64. Read more

fn as_str(&self) -> Option<&str>[src]

Try to read the argument as a str. Read more

fn as_iter<'a>(
    &'a self
) -> Option<Box<dyn Iterator<Item = &'a dyn RefArg> + 'a>>
[src]

Try to read the argument as an iterator. Read more

impl From<u8> for MessageItem[src]

impl From<u64> for MessageItem[src]

impl From<u32> for MessageItem[src]

impl From<u16> for MessageItem[src]

impl From<i16> for MessageItem[src]

impl From<i32> for MessageItem[src]

impl From<i64> for MessageItem[src]

impl From<f64> for MessageItem[src]

impl From<bool> for MessageItem[src]

impl<'a, T> From<&'a [T]> for MessageItem where
    T: Into<MessageItem> + Clone + Default
[src]

Create a MessageItem::Array.

impl<'a> From<&'a str> for MessageItem[src]

impl From<String> for MessageItem[src]

impl From<Path<'static>> for MessageItem[src]

impl From<OwnedFd> for MessageItem[src]

impl From<Box<MessageItem>> for MessageItem[src]

Create a MessageItem::Variant

impl From<(MessageItem, MessageItem)> for MessageItem[src]

Create a MessageItem::DictEntry

impl PartialEq<MessageItem> for MessageItem[src]

impl Clone for MessageItem[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialOrd<MessageItem> for MessageItem[src]

impl Debug for MessageItem[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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]