diff options
Diffstat (limited to 'src/BobinkClient.cpp')
| -rw-r--r-- | src/BobinkClient.cpp | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/src/BobinkClient.cpp b/src/BobinkClient.cpp index f8303a3..01f9912 100644 --- a/src/BobinkClient.cpp +++ b/src/BobinkClient.cpp @@ -11,8 +11,6 @@ using namespace Qt::Literals::StringLiterals; -BobinkClient *BobinkClient::s_instance = nullptr; - static QString defaultPkiDir () { @@ -36,35 +34,15 @@ BobinkClient::BobinkClient (QObject *parent) : QObject (parent), m_provider (new QOpcUaProvider (this)), m_pkiDir (defaultPkiDir ()) { + // Singleton pattern: construct only once + Q_ASSERT(!s_instance); ensurePkiDirs (m_pkiDir); setupClient (); autoDetectPki (); applyPki (); connect (&m_discoveryTimer, &QTimer::timeout, this, &BobinkClient::doDiscovery); -} - -BobinkClient::~BobinkClient () -{ - if (s_instance == this) - s_instance = nullptr; -} - -BobinkClient * -BobinkClient::instance () -{ - return s_instance; -} - -BobinkClient * -BobinkClient::create (QQmlEngine *, QJSEngine *) -{ - if (!s_instance) - { - s_instance = new BobinkClient; - QJSEngine::setObjectOwnership (s_instance, QJSEngine::CppOwnership); - } - return s_instance; + s_instance = this; } void |
