1 #ifndef _QTRAPIDS_DBUS_HPP_
2 #define _QTRAPIDS_DBUS_HPP_
4 #include <QtDBus/QtDBus>
5 #include <QtCore/QString>
6 #include <QtCore/QHash>
39 qulonglong total_size;
42 typedef QHash<QString, QString> ParamsMap_t;
43 typedef QHash<QString, QString> const ParamsMapConst_t;
44 typedef QHash<QString, QString>::iterator ParamsMapIterator_t;
45 typedef QHash<QString, QString>::const_iterator ParamsMapConstIterator_t;
47 static inline QDBusArgument& operator << (QDBusArgument& argument
48 , TorrentState const& state)
50 std::cout << "serialize" << std::endl;
51 argument.beginStructure();
52 argument << state.hash << state.name << state.is_new << state.state << state.progress
53 << state.down_rate << state.up_rate << state.seeds
54 << state.leeches << state.ratio << state.total_size;
55 argument.endStructure();
59 static inline QDBusArgument const& operator >> (QDBusArgument const& argument
60 , TorrentState& state)
62 std::cout << "deserialize" << std::endl;
63 argument.beginStructure();
64 argument >> state.hash >> state.name >> state.is_new >> state.state >> state.progress
65 >> state.down_rate >> state.up_rate >> state.seeds
66 >> state.leeches >> state.ratio >> state.total_size;
67 argument.endStructure();
71 static inline QDBusArgument& operator << (QDBusArgument& argument
72 , ParamsMapConst_t& params)
74 ParamsMapConstIterator_t p;
75 std::cout << "serialize params" << std::endl;
77 for (p = params.constBegin(); p != params.constEnd(); ++p) {
78 argument.beginMapEntry();
79 argument << p.key() << p.value();
80 argument.endMapEntry();
86 static inline QDBusArgument const& operator >> (QDBusArgument const& argument
87 , ParamsMap_t& params)
89 ParamsMapConstIterator_t p;
91 std::cout << "deserialize params" << std::endl;
93 for (p = params.constBegin(); p != params.constEnd(); ++p) {
94 argument.beginMapEntry();
95 argument >> key >> value;
97 argument.endMapEntry();
104 // class DBusConnector
112 // QDBusConnection connection_;
117 Q_DECLARE_METATYPE(qtrapids::TorrentState);
118 Q_DECLARE_METATYPE(qtrapids::ParamsMap_t);
120 #endif // _QTRAPIDS_DBUS_HPP_