*/
#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::isInitialized() const
{
qDebug() << __PRETTY_FUNCTION__;
- return false;
+ return true;
}
bool GPSPositionPrivate::isRunning() const
{
qDebug() << __PRETTY_FUNCTION__;
- return false;
+ return m_running;
}
void GPSPositionPrivate::setUpdateInterval(int interval)
qDebug() << __PRETTY_FUNCTION__;
Q_UNUSED(interval);
+ m_timer->setInterval(interval);
}
void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath)
{
qDebug() << __PRETTY_FUNCTION__;
- Q_UNUSED(enabled);
+ if (enabled)
+ stop();
+ else
+ start();
}
void GPSPositionPrivate::start()
{
qDebug() << __PRETTY_FUNCTION__;
- emit m_parent->error(ErrorContext::SITUARE, SituareError::GPS_INITIALIZATION_FAILED);
+ m_running = true;
+ m_timer->start();
}
void GPSPositionPrivate::stop()
{
qDebug() << __PRETTY_FUNCTION__;
+
+ m_running = false;
+ m_timer->stop();
+}
+
+void GPSPositionPrivate::timeout()
+{
+ emit m_parent->position(COORDINATE, 100.0);
}
GeoCoordinate GPSPositionPrivate::lastPosition() const
{
qDebug() << __PRETTY_FUNCTION__;
- return GeoCoordinate(0, 0);
+ return COORDINATE;
}
void GPSPositionPrivate::requestLastPosition()
{
qDebug() << __PRETTY_FUNCTION__;
+
+ emit m_parent->position(COORDINATE, 100.0);
}
void GPSPositionPrivate::requestUpdate()
{
qDebug() << __PRETTY_FUNCTION__;
+
+ start();
}
#include "gpsposition.h"
class QString;
+class QTimer;
class GeoCoordinate;
*/
void stop();
+private slots:
+ /**
+ * @brief Timer timeout which emits fake location updates
+ */
+ void timeout();
+
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
private:
GPSPosition *m_parent; ///< Parent object
+ QTimer *m_timer; ///< Timer for sending fake location updates
+ bool m_running; ///< Internal status, is the GPS on?
};
#endif // GPSPOSITIONMOCKUP_H