#include <messageiterator.h>
Public Member Functions | |
MessageIterator () | |
MessageIterator (const Message &message) | |
MessageIterator (DBusCxxPointer< Message > message) | |
const Message * | message () const |
Returns a pointer to the message associated with this iterator or NULL if no message is associated. | |
DBusMessageIter * | cobj () |
Returns a pointer to the underlying DBusMessageIter object. | |
bool | init (const Message &message) |
Initializes the iterator for the specified message. | |
void | invalidate () |
Invalidates the iterator. | |
bool | is_valid () const |
True if this is a valid iterator. | |
operator bool () const | |
True if the iterator is valid and initialized, false otherwise. | |
bool | has_next () const |
True if there are any more fields left to iterate over. | |
bool | next () |
Moves the iterator to the next field and invalidates it if it moves beyond the last field. | |
MessageIterator & | operator++ () |
MessageIterator | operator++ (int) |
bool | operator== (const MessageIterator &other) |
Type | arg_type () const |
Returns the argument type that the iterator points to. | |
Type | element_type () const |
Returns the element type of the array that the iterator points to. | |
bool | is_fixed () const |
True if the element type is a fixed type. | |
bool | is_container () const |
True if the iterator points to a container. | |
bool | is_array () const |
True if the iterator points to an array. | |
bool | is_dict () const |
True if the iterator points to a dictionary. | |
MessageIterator | recurse () |
If the iterator points to a container recurses into the container returning a sub-iterator. | |
std::string | signature () const |
Returns the current signature of the iterator. | |
operator bool () | |
TODO. | |
operator uint8_t () | |
operator uint16_t () | |
operator int16_t () | |
operator uint32_t () | |
operator int32_t () | |
operator uint64_t () | |
operator int64_t () | |
operator double () | |
operator const char * () | |
bool | get_bool () |
uint8_t | get_uint8 () |
uint16_t | get_uint16 () |
int16_t | get_int16 () |
uint32_t | get_uint32 () |
int32_t | get_int32 () |
uint64_t | get_uint64 () |
int64_t | get_int64 () |
double | get_double () |
const char * | get_string () |
MessageIterator & | operator>> (bool &v) |
MessageIterator & | operator>> (uint8_t &v) |
MessageIterator & | operator>> (int16_t &v) |
MessageIterator & | operator>> (uint16_t &v) |
MessageIterator & | operator>> (int32_t &v) |
MessageIterator & | operator>> (uint32_t &v) |
MessageIterator & | operator>> (int64_t &v) |
MessageIterator & | operator>> (uint64_t &v) |
MessageIterator & | operator>> (double &v) |
MessageIterator & | operator>> (const char *&v) |
MessageIterator & | operator>> (std::string &v) |
MessageIterator & | operator>> (Signature &v) |
template<typename T > | |
void | value (T &temp) |
Protected Member Functions | |
template<typename T > | |
MessageIterator & | protected_extract (T &v) |
Protected Attributes | |
const Message * | m_message |
DBusMessageIter | m_cobj |
DBus::MessageIterator::MessageIterator | ( | ) |
References m_cobj.
DBus::MessageIterator::MessageIterator | ( | DBusCxxPointer< Message > | message | ) |
Type DBus::MessageIterator::arg_type | ( | ) | const |
Returns the argument type that the iterator points to.
References DBus::checked_type_cast(), and m_cobj.
Referenced by element_type(), get_bool(), get_double(), get_int16(), get_int32(), get_int64(), get_string(), get_uint16(), get_uint32(), get_uint64(), get_uint8(), is_array(), is_container(), is_valid(), next(), operator bool(), operator const char *(), operator double(), operator int16_t(), operator int32_t(), operator int64_t(), operator uint16_t(), operator uint32_t(), operator uint64_t(), operator uint8_t(), and value().
DBusMessageIter * DBus::MessageIterator::cobj | ( | ) |
Type DBus::MessageIterator::element_type | ( | ) | const |
Returns the element type of the array that the iterator points to.
If the iterator does not point to an array TYPE_INVALID is returned.
References arg_type(), DBus::checked_type_cast(), m_cobj, DBus::TYPE_ARRAY, and DBus::TYPE_INVALID.
Referenced by is_dict(), and is_fixed().
bool DBus::MessageIterator::get_bool | ( | ) |
double DBus::MessageIterator::get_double | ( | ) |
int16_t DBus::MessageIterator::get_int16 | ( | ) |
int32_t DBus::MessageIterator::get_int32 | ( | ) |
int64_t DBus::MessageIterator::get_int64 | ( | ) |
const char * DBus::MessageIterator::get_string | ( | ) |
References arg_type(), m_cobj, DBus::TYPE_OBJECT_PATH, DBus::TYPE_SIGNATURE, and DBus::TYPE_STRING.
Referenced by operator const char *().
uint16_t DBus::MessageIterator::get_uint16 | ( | ) |
uint32_t DBus::MessageIterator::get_uint32 | ( | ) |
uint64_t DBus::MessageIterator::get_uint64 | ( | ) |
uint8_t DBus::MessageIterator::get_uint8 | ( | ) |
bool DBus::MessageIterator::has_next | ( | ) | const |
bool DBus::MessageIterator::init | ( | const Message & | message | ) |
Initializes the iterator for the specified message.
References DBus::Message::cobj(), m_cobj, and m_message.
Referenced by MessageIterator().
void DBus::MessageIterator::invalidate | ( | ) |
bool DBus::MessageIterator::is_array | ( | ) | const |
True if the iterator points to an array.
References arg_type(), and DBus::TYPE_ARRAY.
Referenced by is_dict().
bool DBus::MessageIterator::is_container | ( | ) | const |
bool DBus::MessageIterator::is_dict | ( | ) | const |
True if the iterator points to a dictionary.
References element_type(), is_array(), and DBus::TYPE_DICT_ENTRY.
bool DBus::MessageIterator::is_fixed | ( | ) | const |
bool DBus::MessageIterator::is_valid | ( | ) | const |
True if this is a valid iterator.
References arg_type(), DBus::Message::is_valid(), m_message, and DBus::TYPE_INVALID.
Referenced by has_next(), next(), and operator bool().
const Message * DBus::MessageIterator::message | ( | ) | const |
Returns a pointer to the message associated with this iterator or NULL if no message is associated.
References m_message.
bool DBus::MessageIterator::next | ( | ) |
Moves the iterator to the next field and invalidates it if it moves beyond the last field.
References arg_type(), invalidate(), is_valid(), m_cobj, and DBus::TYPE_INVALID.
Referenced by operator++(), and protected_extract().
DBus::MessageIterator::operator bool | ( | ) |
TODO.
Add support for:
References arg_type(), get_bool(), DBus::TYPE_BOOLEAN, DBus::TYPE_BYTE, DBus::TYPE_DOUBLE, DBus::TYPE_INT16, DBus::TYPE_INT32, DBus::TYPE_INT64, DBus::TYPE_UINT16, DBus::TYPE_UINT32, and DBus::TYPE_UINT64.
DBus::MessageIterator::operator bool | ( | ) | const |
DBus::MessageIterator::operator const char * | ( | ) |
References arg_type(), get_string(), DBus::TYPE_OBJECT_PATH, DBus::TYPE_SIGNATURE, and DBus::TYPE_STRING.
DBus::MessageIterator::operator double | ( | ) |
DBus::MessageIterator::operator int16_t | ( | ) |
DBus::MessageIterator::operator int32_t | ( | ) |
DBus::MessageIterator::operator int64_t | ( | ) |
DBus::MessageIterator::operator uint16_t | ( | ) |
DBus::MessageIterator::operator uint32_t | ( | ) |
DBus::MessageIterator::operator uint64_t | ( | ) |
DBus::MessageIterator::operator uint8_t | ( | ) |
MessageIterator DBus::MessageIterator::operator++ | ( | int | ) |
MessageIterator & DBus::MessageIterator::operator++ | ( | ) |
References next().
bool DBus::MessageIterator::operator== | ( | const MessageIterator & | other | ) |
MessageIterator & DBus::MessageIterator::operator>> | ( | Signature & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | std::string & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | const char *& | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | double & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | uint64_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | int64_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | uint32_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | int32_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | uint16_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | int16_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | uint8_t & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::operator>> | ( | bool & | v | ) |
References protected_extract().
MessageIterator & DBus::MessageIterator::protected_extract | ( | T & | v | ) | [inline, protected] |
MessageIterator DBus::MessageIterator::recurse | ( | ) |
If the iterator points to a container recurses into the container returning a sub-iterator.
If the iterator does not point to a container returns an empty (invalid) iterator.
References is_container(), m_cobj, and m_message.
std::string DBus::MessageIterator::signature | ( | ) | const |
void DBus::MessageIterator::value | ( | T & | temp | ) | [inline] |
References arg_type(), m_cobj, DBus::type(), and DBus::type_string().
DBusMessageIter DBus::MessageIterator::m_cobj [protected] |
Referenced by arg_type(), cobj(), element_type(), get_bool(), get_double(), get_int16(), get_int32(), get_int64(), get_string(), get_uint16(), get_uint32(), get_uint64(), get_uint8(), has_next(), init(), invalidate(), MessageIterator(), next(), operator==(), recurse(), signature(), and value().
const Message* DBus::MessageIterator::m_message [protected] |
Referenced by init(), invalidate(), is_valid(), message(), operator==(), and recurse().