summaryrefslogtreecommitdiffstats
path: root/navigation/navigation.h
diff options
context:
space:
mode:
Diffstat (limited to 'navigation/navigation.h')
-rw-r--r--navigation/navigation.h68
1 files changed, 37 insertions, 31 deletions
diff --git a/navigation/navigation.h b/navigation/navigation.h
index 0606d1e..2c8a8ff 100644
--- a/navigation/navigation.h
+++ b/navigation/navigation.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019-2021 Konsulko Group
+ * Copyright (C) 2019-2022 Konsulko Group
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,40 +17,46 @@
#ifndef NAVIGATION_H
#define NAVIGATION_H
-#include <memory>
#include <QObject>
-#include <QtQml/QQmlListProperty>
+#include <QVariant>
+
+class VehicleSignals;
class Navigation : public QObject
{
- Q_OBJECT
-
- public:
- explicit Navigation(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);
-
- // 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:
- // slots
- void onConnected();
- void onDisconnected();
-
- const QStringList events {
- "status",
- "position",
- "waypoints",
- };
+ Q_OBJECT
+
+public:
+ explicit Navigation(VehicleSignals *vs, 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);
+
+ // 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 slots:
+ void onConnected();
+ void onAuthorized();
+ void onDisconnected();
+ void onSignalNotification(QString path, QString value, QString timestamp);
+
+private:
+ VehicleSignals *m_vs;
+ bool m_connected;
+ double m_latitude;
+ double m_longitude;
+ double m_heading;
+ double m_distance;
+ double m_dest_latitude;
+ double m_dest_longitude;
};
#endif // NAVIGATION_H