summaryrefslogtreecommitdiffstats
path: root/navigation/navigation.h
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2019-10-17 03:49:38 -0700
committerMatt Ranostay <matt.ranostay@konsulko.com>2019-11-11 14:01:54 +0000
commit00fa3eefa5f961ac60d9ae6bc6d732cccbce76db (patch)
treec7f0c0e4ad13de5e1c811cdf2d1c5c1813a38d61 /navigation/navigation.h
parent45ed097db45ee0a88d3acd274f242ed100274d47 (diff)
libqtappfw: add initial navigation support
Add initial navigation service support in qtappfw for new agl-service-navigation rewrite. Bug-AGL: SPEC-2880 Change-Id: I276de006af3c1e19e669ae3b9d05c92360893467 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com> (cherry picked from commit af3cbe937762dbf196e0ea5b26f0cb2a088ab599)
Diffstat (limited to 'navigation/navigation.h')
-rw-r--r--navigation/navigation.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/navigation/navigation.h b/navigation/navigation.h
new file mode 100644
index 0000000..09fae3f
--- /dev/null
+++ b/navigation/navigation.h
@@ -0,0 +1,65 @@
+ /*
+ * Copyright (C) 2019 Konsulko Group
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef NAVIGATION_H
+#define NAVIGATION_H
+
+#include <QDebug>
+#include <QObject>
+#include <QJsonArray>
+#include <QtQml/QQmlListProperty>
+
+#include "messageengine.h"
+#include "navigationmessage.h"
+#include "responsemessage.h"
+
+class Navigation : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit Navigation(QUrl &url, QObject * parent = Q_NULLPTR);
+ virtual ~Navigation();
+
+ Q_INVOKABLE void broadcastPosition(double lat, double lon, double drc, double dst);
+ Q_INVOKABLE void broadcastRouteInfo(double lat, double lon, double route_lat, double route_lon);
+ Q_INVOKABLE void broadcastStatus(QString state);
+ Q_INVOKABLE void broadcastWaypoints(QJsonObject waypoints);
+
+ // only support one waypoint for now
+ Q_INVOKABLE void sendWaypoint(double lat, double lon);
+
+ signals:
+ void statusEvent(QVariantMap data);
+ void positionEvent(QVariantMap data);
+ void waypointsEvent(QVariantMap data);
+
+ private:
+ MessageEngine *m_mloop;
+
+ // slots
+ void onMessageReceived(MessageType, Message*);
+ void onConnected();
+ void onDisconnected();
+
+ const QStringList events {
+ "status",
+ "position",
+ "waypoints",
+ };
+};
+
+#endif // NAVIGATION_H