aboutsummaryrefslogtreecommitdiffstats
path: root/dbus_interface
diff options
context:
space:
mode:
Diffstat (limited to 'dbus_interface')
-rw-r--r--dbus_interface/dbus_interface.pro44
-rw-r--r--dbus_interface/dbus_types.h75
-rw-r--r--dbus_interface/org.agl.naviapi.xml34
-rw-r--r--dbus_interface/org.genivi.navigationcore.xml61
4 files changed, 214 insertions, 0 deletions
diff --git a/dbus_interface/dbus_interface.pro b/dbus_interface/dbus_interface.pro
new file mode 100644
index 0000000..d647da3
--- /dev/null
+++ b/dbus_interface/dbus_interface.pro
@@ -0,0 +1,44 @@
+QT += dbus
+TARGET = dbus_interface
+TEMPLATE = lib
+CONFIG += staticlib
+
+SOURCES +=
+HEADERS += \
+ dbus_types.h
+
+XMLSOURCES = \
+ org.genivi.navigationcore.xml \
+ org.agl.naviapi.xml
+
+gen_adaptor_cpp.input = XMLSOURCES
+gen_adaptor_cpp.commands = \
+ qdbusxml2cpp -i $$PWD/dbus_types.h -m -a ${QMAKE_FILE_IN_BASE}_adaptor ${QMAKE_FILE_IN}; \
+ moc $$OUT_PWD/${QMAKE_FILE_IN_BASE}_adaptor.h -o $$OUT_PWD/${QMAKE_FILE_IN_BASE}_adaptor.moc
+gen_adaptor_cpp.output = ${QMAKE_FILE_IN_BASE}_adaptor.cpp
+gen_adaptor_cpp.variable_out = SOURCES
+gen_adaptor_cpp.clean = ${QMAKE_FILE_IN_BASE}_adaptor.cpp
+
+gen_adaptor_h.input = XMLSOURCES
+gen_adaptor_h.commands = @echo Fake making the header for ${QMAKE_FILE_IN}
+gen_adaptor_h.depends = ${QMAKE_FILE_IN_BASE}_adaptor.cpp
+gen_adaptor_h.output = ${QMAKE_FILE_IN_BASE}_adaptor.h
+gen_adaptor_h.clean = ${QMAKE_FILE_IN_BASE}_adaptor.h
+
+gen_interface_cpp.input = XMLSOURCES
+gen_interface_cpp.commands = \
+ qdbusxml2cpp -i $$PWD/dbus_types.h -m -p ${QMAKE_FILE_IN_BASE}_interface ${QMAKE_FILE_IN}; \
+ moc $$OUT_PWD/${QMAKE_FILE_IN_BASE}_interface.h -o $$OUT_PWD/${QMAKE_FILE_IN_BASE}_interface.moc
+gen_interface_cpp.output = ${QMAKE_FILE_IN_BASE}_interface.cpp
+gen_interface_cpp.variable_out = SOURCES
+gen_interface_cpp.clean = ${QMAKE_FILE_IN_BASE}_interface.cpp
+
+gen_interface_h.input = XMLSOURCES
+gen_interface_h.commands = @echo Fake making the header for ${QMAKE_FILE_IN}
+gen_interface_h.depends = ${QMAKE_FILE_IN_BASE}_interface.cpp
+gen_interface_h.output = ${QMAKE_FILE_IN_BASE}_interface.h
+gen_interface_h.clean = ${QMAKE_FILE_IN_BASE}_interface.h
+
+QMAKE_EXTRA_COMPILERS += gen_adaptor_cpp gen_adaptor_h gen_interface_cpp gen_interface_h
+
+DISTFILES +=
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
diff --git a/dbus_interface/org.agl.naviapi.xml b/dbus_interface/org.agl.naviapi.xml
new file mode 100644
index 0000000..7132539
--- /dev/null
+++ b/dbus_interface/org.agl.naviapi.xml
@@ -0,0 +1,34 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.agl.naviapi">
+ <!-- void signalRouteInfo() -->
+ <signal name="signalRouteInfo">
+ <arg name="start_latitude" type="d" direction="out"/>
+ <arg name="start_longitude" type="d" direction="out"/>
+ <arg name="end_latitude" type="d" direction="out"/>
+ <arg name="end_longitude" type="d" direction="out"/>
+ </signal>
+ <!-- void signalPosInfo() -->
+ <signal name="signalPosInfo">
+ <arg name="latitude" type="d" direction="out"/>
+ <arg name="longitude" type="d" direction="out"/>
+ <arg name="direction" type="d" direction="out"/>
+ <arg name="distance" type="d" direction="out"/>
+ </signal>
+ <!-- void signalStopDemo() -->
+ <signal name="signalStopDemo">
+ </signal>
+ <!-- void signalArrvied() -->
+ <signal name="signalArrvied">
+ </signal>
+ <!-- void getRouteInfo() -->
+ <signal name="getRouteInfo">
+ </signal>
+ <!-- for Debug heading-up driving over long distance routes -->
+ <signal name="checkdirection">
+ <arg name="cur_direction" type="d" direction="out"/>
+ <arg name="next_direction" type="d" direction="out"/>
+ <arg name="is_rotating" type="d" direction="out"/>
+ </signal>
+ </interface>
+</node>
diff --git a/dbus_interface/org.genivi.navigationcore.xml b/dbus_interface/org.genivi.navigationcore.xml
new file mode 100644
index 0000000..1e4704e
--- /dev/null
+++ b/dbus_interface/org.genivi.navigationcore.xml
@@ -0,0 +1,61 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.genivi.navigationcore.MapMatchedPosition">
+ <method name="GetPosition">
+ <arg direction="in" type="ai" name="valuesToReturn"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qValuesToReturn"/>
+ <arg direction="out" type="a{i(yv)}" name="position"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="qPosition"/>
+ </method>
+ <method name="SetSimulationMode">
+ <arg direction="in" type="u" name="sessionHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qSessionHandle"/>
+ <arg direction="in" type="b" name="activate"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="qActivate"/>
+ </method>
+ <method name="PauseSimulation">
+ <arg direction="in" type="u" name="sessionHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qSessionHandle"/>
+ </method>
+ </interface>
+ <interface name="org.genivi.navigationcore.Routing">
+ <method name="CreateRoute">
+ <arg direction="in" type="u" name="sessionHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qSessionHandle"/>
+ <arg direction="out" type="u" name="routeHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="qRouteHandle"/>
+ </method>
+ <method name="SetWaypoints">
+ <arg direction="in" type="u" name="sessionHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qSessionHandle"/>
+ <arg direction="in" type="u" name="routeHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="qRouteHandle"/>
+ <arg direction="in" type="b" name="startFromCurrentPosition"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="qStartFromCurrentPosition"/>
+ <arg direction="in" type="aa{i(yv)}" name="waypointsList"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In3" value="qWaypointsList"/>
+ </method>
+ <method name="CalculateRoute">
+ <arg direction="in" type="u" name="sessionHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qSessionHandle"/>
+ <arg direction="in" type="u" name="routeHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="qRouteHandle"/>
+ </method>
+ <method name="CancelRouteCalculation">
+ <arg direction="in" type="u" name="sessionHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="qSessionHandle"/>
+ <arg direction="in" type="u" name="routeHandle"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="qRouteHandle"/>
+ </method>
+ <method name="GetAllRoutes">
+ <arg direction="out" type="au" name="routesList"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="qRoutesList"/>
+ </method>
+ </interface>
+ <interface name="org.genivi.navigationcore.Session">
+ <method name="GetAllSessions">
+ <arg direction="out" type="a(us)" name="sessionsList"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="qSessionsList"/>
+ </method>
+ </interface>
+</node>