diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2021-01-01 12:55:47 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-01-02 12:47:15 -0800 |
commit | 5048a695aa1085a7eb03263b95a466e28ff40ab0 (patch) | |
tree | 0e3e25bba85e87af6a8fb60977ab02d1064021ee /core/gpslocation.cpp | |
parent | 53b572f98791146e1755a7bbb5f22f2e521eea8f (diff) | |
download | subsurface-5048a695aa1085a7eb03263b95a466e28ff40ab0.tar.gz |
mobile: turn GpsLocation into a regular singleton construct
Simply move the initialization of the logging function into its own method and
call that in the QMLManager constructor.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core/gpslocation.cpp')
-rw-r--r-- | core/gpslocation.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/core/gpslocation.cpp b/core/gpslocation.cpp index fd598683f..1da12fe5b 100644 --- a/core/gpslocation.cpp +++ b/core/gpslocation.cpp @@ -15,17 +15,12 @@ #include <QApplication> #include <QTimer> -GpsLocation *GpsLocation::m_Instance = NULL; - -GpsLocation::GpsLocation(void (*showMsgCB)(const char *), QObject *parent) : - QObject(parent), +GpsLocation::GpsLocation() : m_GpsSource(0), + showMessageCB(0), waitingForPosition(false), haveSource(UNKNOWN) { - Q_ASSERT_X(m_Instance == NULL, "GpsLocation", "GpsLocation recreated"); - m_Instance = this; - showMessageCB = showMsgCB; // create a QSettings object that's separate from the main application settings geoSettings = new QSettings(QSettings::NativeFormat, QSettings::UserScope, QStringLiteral("org.subsurfacedivelog"), QStringLiteral("subsurfacelocation"), this); @@ -39,19 +34,17 @@ GpsLocation::GpsLocation(void (*showMsgCB)(const char *), QObject *parent) : GpsLocation *GpsLocation::instance() { - Q_ASSERT(m_Instance != NULL); - - return m_Instance; + static GpsLocation self; + return &self; } -bool GpsLocation::hasInstance() +GpsLocation::~GpsLocation() { - return m_Instance != NULL; } -GpsLocation::~GpsLocation() +void GpsLocation::setLogCallBack(void (*showMsgCB)(const char *)) { - m_Instance = NULL; + showMessageCB = showMsgCB; } void GpsLocation::setGpsTimeThreshold(int seconds) |