summaryrefslogtreecommitdiffstats
path: root/dbus_interface/dbus_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'dbus_interface/dbus_types.h')
-rw-r--r--dbus_interface/dbus_types.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/dbus_interface/dbus_types.h b/dbus_interface/dbus_types.h
new file mode 100644
index 0000000..9b49adb
--- /dev/null
+++ b/dbus_interface/dbus_types.h
@@ -0,0 +1,75 @@
+#ifndef DBUS_TYPES_H
+#define DBUS_TYPES_H
+#include <QtDBus>
+
+#include <QMetaType>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QVariant>
+#include <QPair>
+#include <QDBusVariant>
+
+// for org.genivi.navigationcore
+struct qPositionPairElm{
+ uint8_t key;
+ QDBusVariant value;
+};
+Q_DECLARE_METATYPE(qPositionPairElm)
+
+inline QDBusArgument &operator <<(QDBusArgument &argument, const qPositionPairElm &qpositionpairelm)
+{
+ argument.beginStructure();
+ argument << qpositionpairelm.key << qpositionpairelm.value;
+ argument.endStructure();
+ return argument;
+}
+
+inline const QDBusArgument &operator >>(const QDBusArgument &argument, qPositionPairElm &qpositionpairelm)
+{
+ argument.beginStructure();
+ argument >> qpositionpairelm.key;
+ argument >> qpositionpairelm.value;
+ argument.endStructure();
+ return argument;
+}
+
+typedef QMap<int32_t,qPositionPairElm> qPosition;
+Q_DECLARE_METATYPE(qPosition)
+
+typedef QList<int32_t> qValuesToReturn;
+Q_DECLARE_METATYPE(qValuesToReturn)
+
+typedef QList<QMap<int32_t,qPositionPairElm>> qWaypointsList; // aa{i(yv)}
+Q_DECLARE_METATYPE(qWaypointsList)
+
+typedef QList<uint32_t> qCalculatedRoutesList; // au
+
+typedef QList<uint32_t> qRoutesList; //au
+
+struct qSessionsListElm{
+ uint32_t key;
+ QString value;
+};
+Q_DECLARE_METATYPE(qSessionsListElm)
+
+inline QDBusArgument &operator <<(QDBusArgument &argument, const qSessionsListElm &qsessionslistelm)
+{
+ argument.beginStructure();
+ argument << qsessionslistelm.key << qsessionslistelm.value;
+ argument.endStructure();
+ return argument;
+}
+
+inline const QDBusArgument &operator >>(const QDBusArgument &argument, qSessionsListElm &qsessionslistelm)
+{
+ argument.beginStructure();
+ argument >> qsessionslistelm.key;
+ argument >> qsessionslistelm.value;
+ argument.endStructure();
+ return argument;
+}
+
+typedef QList<qSessionsListElm> qSessionsList; // a(us)
+Q_DECLARE_METATYPE(qSessionsList)
+
+#endif