Changed GPSPositionPrivateStub to fake location updates instead of error
[situare] / src / gps / gpspositionprivatestub.cpp
index 799835e..20016ac 100644 (file)
 */
 
 #include <QDebug>
+#include <QTimer>
 
+#include "error.h"
 #include "gpsposition.h"
 #include "gpspositionprivatestub.h"
 
+const GeoCoordinate COORDINATE(65.0105, 25.5091);
+
 GPSPositionPrivate::GPSPositionPrivate(QObject *parent)
-    : QObject(parent)
+    : QObject(parent),
+      m_running(false)
 {
+    qDebug() << __PRETTY_FUNCTION__;
+
     m_parent = static_cast<GPSPosition*>(parent);
+    m_timer = new QTimer(this);
+    connect(m_timer, SIGNAL(timeout()), this, SLOT(timeout()));
+    m_timer->setInterval(5000);
 }
 
-bool GPSPositionPrivate::isRunning()
+bool GPSPositionPrivate::isInitialized() const
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    return false;
+    return true;
+}
+
+bool GPSPositionPrivate::isRunning() const
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    return m_running;
 }
 
 void GPSPositionPrivate::setUpdateInterval(int interval)
@@ -42,6 +59,7 @@ void GPSPositionPrivate::setUpdateInterval(int interval)
     qDebug() << __PRETTY_FUNCTION__;
 
     Q_UNUSED(interval);
+    m_timer->setInterval(interval);
 }
 
 void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath)
@@ -52,29 +70,54 @@ void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath
     Q_UNUSED(filePath);
 }
 
+void GPSPositionPrivate::setPowerSave(bool enabled)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    if (enabled)
+        stop();
+    else
+        start();
+}
+
 void GPSPositionPrivate::start()
 {
     qDebug() << __PRETTY_FUNCTION__;
+
+    m_running = true;
+    m_timer->start();
 }
 
 void GPSPositionPrivate::stop()
 {
     qDebug() << __PRETTY_FUNCTION__;
+
+    m_running = false;
+    m_timer->stop();
 }
 
-void GPSPositionPrivate::update()
+void GPSPositionPrivate::timeout()
 {
-    qDebug() << __PRETTY_FUNCTION__;
+    emit m_parent->position(COORDINATE, 100.0);
 }
 
-QPointF GPSPositionPrivate::lastPosition()
+GeoCoordinate GPSPositionPrivate::lastPosition() const
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    return QPointF(0, 0);
+    return COORDINATE;
 }
 
 void GPSPositionPrivate::requestLastPosition()
 {
     qDebug() << __PRETTY_FUNCTION__;
+
+    emit m_parent->position(COORDINATE, 100.0);
+}
+
+void GPSPositionPrivate::requestUpdate()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    start();
 }