Enum dbus::arg::messageitem::MessageItem [−][src]
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.
Dict(MessageItemDict)
A D-Bus dictionary. All keys and values are required to be of the same type. Not all types can be dictionary keys, but all can be dictionary values.
ObjectPath(Path<'static>)
A D-Bus objectpath requires its content to be a valid objectpath, so this cannot be any string.
Signature(Signature<'static>)
A D-Bus signature requires its content to be a valid type signature, 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.
Implementations
impl MessageItem
[src]
pub fn signature(&self) -> Signature<'static>
[src]
Get the D-Bus Signature for this MessageItem.
pub fn arg_type(&self) -> ArgType
[src]
Get the arg type of this MessageItem.
pub fn from_dict<E, I: Iterator<Item = Result<(String, MessageItem), E>>>(
i: I
) -> Result<MessageItem, E>
[src]
i: I
) -> Result<MessageItem, E>
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 new_dict(
v: Vec<(MessageItem, MessageItem)>
) -> Result<MessageItem, ArrayError>
[src]
v: Vec<(MessageItem, MessageItem)>
) -> Result<MessageItem, ArrayError>
Creates an MessageItem::Dict from a list of MessageItem pairs.
Note: This requires v
to be non-empty. See also
MessageItem::from(&[(T1, T2)])
, which can handle empty arrays as well.
pub fn inner<'a, T: TryFrom<&'a MessageItem>>(&'a self) -> Result<T, T::Error>
[src]
Get the inner value of a MessageItem
Example
use dbus::arg::messageitem::MessageItem; let m: MessageItem = 5i64.into(); let s: i64 = m.inner().unwrap(); assert_eq!(s, 5i64);
pub fn peel(&self) -> &Self
[src]
Get the underlying MessageItem
of a MessageItem::Variant
Nested MessageItem::Variant
s are unwrapped recursively until a
non-Variant
is found.
Example
use dbus::arg::messageitem::MessageItem; let nested = MessageItem::Variant(Box::new(6i64.into())); let flat: MessageItem = 6i64.into(); assert_ne!(&nested, &flat); assert_eq!(nested.peel(), &flat);
Trait Implementations
impl Append for MessageItem
[src]
fn append_by_ref(&self, i: &mut IterAppend<'_>)
[src]
fn append(self, ia: &mut IterAppend<'_>) where
Self: Sized,
[src]
Self: Sized,
impl Clone for MessageItem
[src]
fn clone(&self) -> MessageItem
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MessageItem
[src]
impl<'a, T1, T2> From<&'a [(T1, T2)]> for MessageItem where
T1: Into<MessageItem> + Clone + Default,
T2: Into<MessageItem> + Clone + Default,
[src]
T1: Into<MessageItem> + Clone + Default,
T2: Into<MessageItem> + Clone + Default,
Create a MessageItem::Dict
.
impl<'a, T> From<&'a [T]> for MessageItem where
T: Into<MessageItem> + Clone + Default,
[src]
T: Into<MessageItem> + Clone + Default,
Create a MessageItem::Array
.
fn from(i: &'a [T]) -> MessageItem
[src]
impl<'a> From<&'a str> for MessageItem
[src]
fn from(i: &str) -> MessageItem
[src]
impl From<Box<MessageItem, Global>> for MessageItem
[src]
Create a MessageItem::Variant
fn from(i: Box<MessageItem>) -> MessageItem
[src]
impl From<OwnedFd> for MessageItem
[src]
fn from(i: OwnedFd) -> MessageItem
[src]
impl From<Path<'static>> for MessageItem
[src]
fn from(i: Path<'static>) -> MessageItem
[src]
impl From<Signature<'static>> for MessageItem
[src]
fn from(i: Signature<'static>) -> MessageItem
[src]
impl From<String> for MessageItem
[src]
fn from(i: String) -> MessageItem
[src]
impl From<bool> for MessageItem
[src]
fn from(i: bool) -> MessageItem
[src]
impl From<f64> for MessageItem
[src]
fn from(i: f64) -> MessageItem
[src]
impl From<i16> for MessageItem
[src]
fn from(i: i16) -> MessageItem
[src]
impl From<i32> for MessageItem
[src]
fn from(i: i32) -> MessageItem
[src]
impl From<i64> for MessageItem
[src]
fn from(i: i64) -> MessageItem
[src]
impl From<u16> for MessageItem
[src]
fn from(i: u16) -> MessageItem
[src]
impl From<u32> for MessageItem
[src]
fn from(i: u32) -> MessageItem
[src]
impl From<u64> for MessageItem
[src]
fn from(i: u64) -> MessageItem
[src]
impl From<u8> for MessageItem
[src]
fn from(i: u8) -> MessageItem
[src]
impl<'a> Get<'a> for MessageItem
[src]
impl PartialEq<MessageItem> for MessageItem
[src]
fn eq(&self, other: &MessageItem) -> bool
[src]
fn ne(&self, other: &MessageItem) -> bool
[src]
impl PartialOrd<MessageItem> for MessageItem
[src]
fn partial_cmp(&self, other: &MessageItem) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl RefArg for MessageItem
[src]
fn arg_type(&self) -> ArgType
[src]
fn signature(&self) -> Signature<'static>
[src]
fn append(&self, i: &mut IterAppend<'_>)
[src]
fn as_any(&self) -> &dyn Any where
Self: 'static,
[src]
Self: 'static,
fn as_any_mut(&mut self) -> &mut dyn Any where
Self: 'static,
[src]
Self: 'static,
fn box_clone(&self) -> Box<dyn RefArg + 'static>
[src]
fn as_i64(&self) -> Option<i64>
[src]
fn as_u64(&self) -> Option<u64>
[src]
fn as_f64(&self) -> Option<f64>
[src]
fn as_str(&self) -> Option<&str>
[src]
fn as_iter<'a>(
&'a self
) -> Option<Box<dyn Iterator<Item = &'a dyn RefArg> + 'a>>
[src]
&'a self
) -> Option<Box<dyn Iterator<Item = &'a dyn RefArg> + 'a>>
fn as_static_inner(&self, _index: usize) -> Option<&(dyn RefArg + 'static)> where
Self: 'static,
[src]
Self: 'static,
fn array_clone(_arg: &[Self]) -> Option<Box<dyn RefArg + 'static>> where
Self: Sized,
[src]
Self: Sized,
impl StructuralPartialEq for MessageItem
[src]
impl<'a> TryFrom<&'a MessageItem> for &'a str
[src]
type Error = ()
The type returned in the event of a conversion error.
fn try_from(i: &'a MessageItem) -> Result<&'a str, Self::Error>
[src]
impl<'a> TryFrom<&'a MessageItem> for &'a Path<'static>
[src]
type Error = ()
The type returned in the event of a conversion error.
fn try_from(i: &'a MessageItem) -> Result<&'a Path<'static>, ()>
[src]
impl<'a> TryFrom<&'a MessageItem> for &'a Signature<'static>
[src]
type Error = ()
The type returned in the event of a conversion error.
fn try_from(i: &'a MessageItem) -> Result<&'a Signature<'static>, ()>
[src]
impl<'a> TryFrom<&'a MessageItem> for &'a [MessageItem]
[src]
type Error = ()
The type returned in the event of a conversion error.
fn try_from(i: &'a MessageItem) -> Result<&'a [MessageItem], ()>
[src]
impl<'a> TryFrom<&'a MessageItem> for &'a OwnedFd
[src]
type Error = ()
The type returned in the event of a conversion error.
fn try_from(i: &'a MessageItem) -> Result<&'a OwnedFd, ()>
[src]
impl<'a> TryFrom<&'a MessageItem> for &'a [(MessageItem, MessageItem)]
[src]
type Error = ()
The type returned in the event of a conversion error.
fn try_from(i: &'a MessageItem) -> Result<&'a [(MessageItem, MessageItem)], ()>
[src]
Auto Trait Implementations
impl RefUnwindSafe for MessageItem
[src]
impl Send for MessageItem
[src]
impl Sync for MessageItem
[src]
impl Unpin for MessageItem
[src]
impl UnwindSafe for MessageItem
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,