23 #ifndef DBUSCXX_MESSAGEAPPENDITERATOR_H
24 #define DBUSCXX_MESSAGEAPPENDITERATOR_H
62 operator bool()
const;
80 template<
typename ... T>
83 std::apply( [
this](
auto&& ...arg )
mutable {
84 ( *
this << ... << arg );
102 for(
size_t i = 0; i < v.size(); i++ ) {
115 template <
typename Key,
typename Data>
118 typename std::map<Key, Data>::const_iterator it;
121 for( it = dictionary.begin(); it != dictionary.end(); it++ ) {
133 template <
typename... T>
139 std::apply( [subiter](
auto&& ...arg )
mutable {
140 ( *subiter << ... << arg );
Insertion iterator allow values to be appended to a message.
Definition: messageappenditerator.h:38
MessageAppendIterator(ContainerType container=ContainerType::None)
Definition: messageappenditerator.cpp:44
MessageAppendIterator & operator<<(const std::map< Key, Data > &dictionary)
Definition: messageappenditerator.h:116
MessageAppendIterator & operator<<(const MultipleReturn< T... > &v)
Definition: messageappenditerator.h:81
void invalidate()
Invalidates the iterator.
Definition: messageappenditerator.cpp:78
std::shared_ptr< priv_data > m_priv
Definition: messageappenditerator.h:156
~MessageAppendIterator()
Definition: messageappenditerator.cpp:74
MessageAppendIterator & operator<<(const bool &v)
Definition: messageappenditerator.cpp:94
MessageAppendIterator & operator<<(const std::tuple< T... > &tup)
Definition: messageappenditerator.h:134
const Message * message() const
Returns a pointer to the message associated with this iterator or NULL if no message is associated.
MessageAppendIterator & operator<<(const std::vector< T > &v)
Definition: messageappenditerator.h:92
bool is_valid() const
True if this is a valid iterator.
Definition: messageappenditerator.cpp:83
bool close_container()
Definition: messageappenditerator.cpp:394
MessageAppendIterator * sub_iterator()
Definition: messageappenditerator.cpp:431
bool open_container(ContainerType t, const std::string &contained_signature)
Definition: messageappenditerator.cpp:344
This class represents a basic DBus message and also serves as a base class for the specialized messag...
Definition: message.h:43
Definition: multiplereturn.h:29
std::tuple< Ts... > m_data
Definition: multiplereturn.h:31
Represents a DBus Path.
Definition: path.h:21
Represents a DBus signature.
Definition: signature.h:74
A Variant is a type-safe union for DBus operations.
Definition: variant.h:42
Definition: signature.h:200
Global DBus namespace, where everything happens.
Definition: callmessage.cpp:18
ContainerType
Definition: enums.h:73
std::string signature_multiple_return_data(const DBus::MultipleReturn< T_arg... > &)
Definition: signature.h:230
std::string signature_dict_data(const std::map< Key, Data > &)
Definition: signature.h:183
DataType type(const uint8_t &)
Definition: types.h:137
std::string signature(const std::tuple< T... > &)