diff --git a/src/blackcore/contextnetworkimpl.cpp b/src/blackcore/contextnetworkimpl.cpp index 739b5bee7..3e46520df 100644 --- a/src/blackcore/contextnetworkimpl.cpp +++ b/src/blackcore/contextnetworkimpl.cpp @@ -57,7 +57,7 @@ namespace BlackCore this->m_networkDataUpdateTimer->start(30 * 1000); // 3. data reader, start reading when setup is synced with xx delay - this->m_webDataReader = new CWebDataServices(CWebReaderFlags::AllReaders, 1000, this); + this->m_webDataReader = new CWebDataServices(CWebReaderFlags::AllReaders, this); this->m_webReaderSignalConnections.append( this->m_webDataReader->connectDataReadSignal( this, // the object here must be the same as in the bind diff --git a/src/blackcore/corefacadeconfig.cpp b/src/blackcore/corefacadeconfig.cpp index 68f3366e2..a868a555b 100644 --- a/src/blackcore/corefacadeconfig.cpp +++ b/src/blackcore/corefacadeconfig.cpp @@ -66,4 +66,10 @@ namespace BlackCore cfg.m_audio = CCoreFacadeConfig::LocalInDbusServer; return cfg; } + + CCoreFacadeConfig CCoreFacadeConfig::allEmpty() + { + const CCoreFacadeConfig cfg = CCoreFacadeConfig(); + return cfg; + } } // namespace diff --git a/src/blackcore/corefacadeconfig.h b/src/blackcore/corefacadeconfig.h index 011a89430..62becbbfa 100644 --- a/src/blackcore/corefacadeconfig.h +++ b/src/blackcore/corefacadeconfig.h @@ -99,6 +99,9 @@ namespace BlackCore //! predefined, remote with local audio (e.g. Aduio in GUI) static CCoreFacadeConfig remoteLocalAudio(const QString &dbusBootstrapAddress = ""); + + //! predefined all empty config (normlly used when the real config can only be determined later) + static CCoreFacadeConfig allEmpty(); }; } #endif // guard diff --git a/src/blackcore/webdataservices.cpp b/src/blackcore/webdataservices.cpp index 4646ee7e3..1eedb5568 100644 --- a/src/blackcore/webdataservices.cpp +++ b/src/blackcore/webdataservices.cpp @@ -37,28 +37,18 @@ using namespace BlackMisc::Weather; namespace BlackCore { CWebDataServices::CWebDataServices( - CWebReaderFlags::WebReader readerFlags, int autoReadAfterSetupSynchronizedMs, QObject *parent) : - QObject(parent), m_readerFlags(readerFlags), m_autoReadAfterSetupMs(autoReadAfterSetupSynchronizedMs) + CWebReaderFlags::WebReader readerFlags, QObject *parent) : + QObject(parent), m_readerFlags(readerFlags) { + if (!sApp) { return; } // shutting down + Q_ASSERT_X(QSslSocket::supportsSsl(), Q_FUNC_INFO, "missing SSL support"); - if (!sApp) { return; } // shutting doen + Q_ASSERT_X(sApp->isSetupSyncronized(), Q_FUNC_INFO, "Setup not syncronized"); this->setObjectName("CWebDataReader"); this->initReaders(readerFlags); this->initWriters(); - if (autoReadAfterSetupSynchronizedMs >= 0) - { - // wait for setup read completion - // in case this was already fired or will never be fired set a time out - if (sApp->isSetupSyncronized()) - { - QTimer::singleShot(500, this, &CWebDataServices::ps_setupTimedOut); - } - else - { - //! \todo change !!!!!! - QTimer::singleShot(2500, this, &CWebDataServices::ps_setupTimedOut); - } - } + + this->readInBackground(CEntityFlags::AllEntities, 500); } QList CWebDataServices::connectDataReadSignal(QObject *receiver, std::function dataRead) @@ -437,7 +427,7 @@ namespace BlackCore const CLogCategoryList &CWebDataServices::getLogCategories() { - static const BlackMisc::CLogCategoryList cats { CLogCategory("swift.datareader") }; + static const BlackMisc::CLogCategoryList cats { CLogCategory("swift.datareader"), CLogCategory::webservice() }; return cats; } @@ -541,33 +531,9 @@ namespace BlackCore } } - void CWebDataServices::ps_setupRead(bool success) - { - // setup has been changed - if (success) - { - if (m_autoReadAfterSetupMs >= 0) - { - if (m_initialRead) { return; } - CLogMessage(this).info("Setup synchronized, will trigger read of web service data"); - this->readInBackground(CEntityFlags::AllEntities, m_autoReadAfterSetupMs); - } - } - else - { - CLogMessage(this).error("Failed to read setup, will not(!) trigger web data read"); - } - } - void CWebDataServices::ps_setupChanged() { - CLogMessage(this).debug() << "Setup changed"; - } - - void CWebDataServices::ps_setupTimedOut() - { - if (this->m_initialRead) { return; } - this->ps_setupRead(true); + // void } void CWebDataServices::readInBackground(CEntityFlags::Entity entities, int delayMs) diff --git a/src/blackcore/webdataservices.h b/src/blackcore/webdataservices.h index ed92b85d0..85b923e3c 100644 --- a/src/blackcore/webdataservices.h +++ b/src/blackcore/webdataservices.h @@ -51,8 +51,7 @@ namespace BlackCore public: //! Constructor - CWebDataServices(CWebReaderFlags::WebReader readerFlags, - int autoReadAfterSetupSynchronizedMs, QObject *parent = nullptr); + CWebDataServices(CWebReaderFlags::WebReader readerFlags, QObject *parent = nullptr); //! Shutdown void gracefulShutdown(); @@ -155,15 +154,9 @@ namespace BlackCore //! Read from model reader void ps_readFromSwiftDb(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number); - //! Setup has been read - void ps_setupRead(bool success); - - //! Setup has been changed + //! Setup changed void ps_setupChanged(); - //! Setup timed out - void ps_setupTimedOut(); - private: //! Init the readers void initReaders(CWebReaderFlags::WebReader flags); @@ -172,7 +165,6 @@ namespace BlackCore void initWriters(); CWebReaderFlags::WebReader m_readerFlags = CWebReaderFlags::WebReaderFlag::None; //!< which readers are available - int m_autoReadAfterSetupMs = -1; //!< directly read all known readers after setup was syncronized bool m_initialRead = false; //!< Initial read conducted BlackMisc::CData m_setup {this, &CWebDataServices::ps_setupChanged}; //!< setup cache diff --git a/src/swiftdata/swiftdata.cpp b/src/swiftdata/swiftdata.cpp index f12ed22a3..93cf5b382 100644 --- a/src/swiftdata/swiftdata.cpp +++ b/src/swiftdata/swiftdata.cpp @@ -33,7 +33,7 @@ CSwiftData::CSwiftData(QWidget *parent) : QMainWindow(parent), CIdentifiable(this), ui(new Ui::CSwiftData), - m_webDataReader(new CWebDataServices(CWebReaderFlags::AllSwiftDbReaders, 500)) + m_webDataReader(new CWebDataServices(CWebReaderFlags::AllSwiftDbReaders, this)) { ui->setupUi(this); this->init(); diff --git a/src/swiftguistandard/swiftguistdapplication.cpp b/src/swiftguistandard/swiftguistdapplication.cpp index c4c4d0c9a..cdea05439 100644 --- a/src/swiftguistandard/swiftguistdapplication.cpp +++ b/src/swiftguistandard/swiftguistdapplication.cpp @@ -46,8 +46,7 @@ bool CSwiftGuiStdApplication::startHookIn() runtimeConfig = CCoreFacadeConfig::remoteLocalAudio(dBusAddress); break; } - this->useContexts(runtimeConfig); - return true; + return this->useContexts(runtimeConfig); } bool CSwiftGuiStdApplication::parsingHookIn()