Struct dbus::arg::IterAppend
source · [−]pub struct IterAppend<'a>(_, _);
Expand description
Helper struct for appending one or more arguments to a Message.
Implementations
sourceimpl<'a> IterAppend<'a>
impl<'a> IterAppend<'a>
sourcepub fn new(m: &'a mut Message) -> IterAppend<'a>
pub fn new(m: &'a mut Message) -> IterAppend<'a>
Creates a new IterAppend struct.
sourcepub fn append_variant<F: FnOnce(&mut IterAppend<'a>)>(
&mut self,
inner_sig: &Signature<'_>,
f: F
)
pub fn append_variant<F: FnOnce(&mut IterAppend<'a>)>(
&mut self,
inner_sig: &Signature<'_>,
f: F
)
Low-level function to append a variant.
Use in case the Variant
struct is not flexible enough -
the easier way is to just call e g “append1” on a message and supply a Variant
parameter.
In order not to get D-Bus errors: during the call to “f” you need to call “append” on
the supplied IterAppend
exactly once,
and with a value which has the same signature as inner_sig.
sourcepub fn append_array<F: FnOnce(&mut IterAppend<'a>)>(
&mut self,
inner_sig: &Signature<'_>,
f: F
)
pub fn append_array<F: FnOnce(&mut IterAppend<'a>)>(
&mut self,
inner_sig: &Signature<'_>,
f: F
)
Low-level function to append an array.
Use in case the Array
struct is not flexible enough -
the easier way is to just call e g “append1” on a message and supply an Array
parameter.
In order not to get D-Bus errors: during the call to “f”, you should only call “append” on
the supplied IterAppend
with values which has the same signature as inner_sig.
sourcepub fn append_struct<F: FnOnce(&mut IterAppend<'a>)>(&mut self, f: F)
pub fn append_struct<F: FnOnce(&mut IterAppend<'a>)>(&mut self, f: F)
Low-level function to append a struct.
Use in case tuples are not flexible enough - the easier way is to just call e g “append1” on a message and supply a tuple parameter.
sourcepub fn append_dict_entry<F: FnOnce(&mut IterAppend<'a>)>(&mut self, f: F)
pub fn append_dict_entry<F: FnOnce(&mut IterAppend<'a>)>(&mut self, f: F)
Low-level function to append a dict entry.
Use in case the Dict
struct is not flexible enough -
the easier way is to just call e g “append1” on a message and supply a Dict
parameter.
In order not to get D-Bus errors: during the call to “f”, you should call “append” once for the key, then once for the value. You should only call this function for a subiterator you got from calling “append_dict”, and signatures need to match what you specified in “append_dict”.
sourcepub fn append_dict<F: FnOnce(&mut IterAppend<'a>)>(
&mut self,
key_sig: &Signature<'_>,
value_sig: &Signature<'_>,
f: F
)
pub fn append_dict<F: FnOnce(&mut IterAppend<'a>)>(
&mut self,
key_sig: &Signature<'_>,
value_sig: &Signature<'_>,
f: F
)
Low-level function to append a dict.
Use in case the Dict
struct is not flexible enough -
the easier way is to just call e g “append1” on a message and supply a Dict
parameter.
In order not to get D-Bus errors: during the call to “f”, you should only call “append_dict_entry” for the subiterator - do this as many times as the number of dict entries.
Trait Implementations
sourceimpl<'a> Clone for IterAppend<'a>
impl<'a> Clone for IterAppend<'a>
sourcefn clone(&self) -> IterAppend<'a>
fn clone(&self) -> IterAppend<'a>
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more