25 #ifndef __DBUSXX_TYPES_H
26 #define __DBUSXX_TYPES_H
44 Path(
const std::string &s) : std::string(s) {}
45 Path(
const char *c) : std::string(c) {}
46 Path &operator = (std::string &s)
48 std::string::operator = (s);
60 std::string::operator = (s);
143 template<
typename K,
typename V>
146 return map.find(key) != map.end();
149 template <
typename T>
166 template <>
struct type<uint8_t>
180 template <>
struct type<int16_t>
187 template <>
struct type<uint16_t>
194 template <>
struct type<int32_t>
201 template <>
struct type<uint32_t>
208 template <>
struct type<int64_t>
215 template <>
struct type<uint64_t>
222 template <>
struct type<double>
229 template <>
struct type<std::string>
258 template <
typename E>
267 template <
typename K,
typename V>
294 struct type<
Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> >
404 typename std::vector<E>::const_iterator vit;
405 for (vit = val.begin(); vit != val.end(); ++vit)
410 iter.close_container(ait);
415 inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const std::vector<uint8_t>& val)
419 iter.close_container(ait);
423 template<
typename K,
typename V>
429 typename std::map<K, V>::const_iterator mit;
430 for (mit = val.begin(); mit != val.end(); ++mit)
434 eit << mit->first << mit->second;
439 iter.close_container(ait);
461 inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>& val)
465 sit << val._1 << val._2 << val._3 << val._4
466 << val._5 << val._6 << val._7 << val._8
467 << val._9 << val._10 << val._11 << val._12
468 << val._13 << val._14 << val._15 << val._16;
587 val.insert(val.end(), array, array + length);
592 template<
typename K,
typename V>
635 inline DBus::MessageIter &
operator >> (
DBus::MessageIter &iter,
DBus::Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>& val)
639 sit >> val.
_1 >> val.
_2 >> val.
_3 >> val.
_4
640 >> val.
_5 >> val.
_6 >> val.
_7 >> val.
_8
649 #endif//__DBUSXX_TYPES_H