mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-06 02:16:04 +08:00
refs #597, removed setup loading in CWebDataServices
* no longer needed, as initial load happens in CApplication * adjusted classes
This commit is contained in:
committed by
Mathew Sutcliffe
parent
c649c1b7ed
commit
4b7ba4f117
@@ -57,7 +57,7 @@ namespace BlackCore
|
|||||||
this->m_networkDataUpdateTimer->start(30 * 1000);
|
this->m_networkDataUpdateTimer->start(30 * 1000);
|
||||||
|
|
||||||
// 3. data reader, start reading when setup is synced with xx delay
|
// 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_webReaderSignalConnections.append(
|
||||||
this->m_webDataReader->connectDataReadSignal(
|
this->m_webDataReader->connectDataReadSignal(
|
||||||
this, // the object here must be the same as in the bind
|
this, // the object here must be the same as in the bind
|
||||||
|
|||||||
@@ -66,4 +66,10 @@ namespace BlackCore
|
|||||||
cfg.m_audio = CCoreFacadeConfig::LocalInDbusServer;
|
cfg.m_audio = CCoreFacadeConfig::LocalInDbusServer;
|
||||||
return cfg;
|
return cfg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CCoreFacadeConfig CCoreFacadeConfig::allEmpty()
|
||||||
|
{
|
||||||
|
const CCoreFacadeConfig cfg = CCoreFacadeConfig();
|
||||||
|
return cfg;
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -99,6 +99,9 @@ namespace BlackCore
|
|||||||
|
|
||||||
//! predefined, remote with local audio (e.g. Aduio in GUI)
|
//! predefined, remote with local audio (e.g. Aduio in GUI)
|
||||||
static CCoreFacadeConfig remoteLocalAudio(const QString &dbusBootstrapAddress = "");
|
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
|
#endif // guard
|
||||||
|
|||||||
@@ -37,28 +37,18 @@ using namespace BlackMisc::Weather;
|
|||||||
namespace BlackCore
|
namespace BlackCore
|
||||||
{
|
{
|
||||||
CWebDataServices::CWebDataServices(
|
CWebDataServices::CWebDataServices(
|
||||||
CWebReaderFlags::WebReader readerFlags, int autoReadAfterSetupSynchronizedMs, QObject *parent) :
|
CWebReaderFlags::WebReader readerFlags, QObject *parent) :
|
||||||
QObject(parent), m_readerFlags(readerFlags), m_autoReadAfterSetupMs(autoReadAfterSetupSynchronizedMs)
|
QObject(parent), m_readerFlags(readerFlags)
|
||||||
{
|
{
|
||||||
|
if (!sApp) { return; } // shutting down
|
||||||
|
|
||||||
Q_ASSERT_X(QSslSocket::supportsSsl(), Q_FUNC_INFO, "missing SSL support");
|
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->setObjectName("CWebDataReader");
|
||||||
this->initReaders(readerFlags);
|
this->initReaders(readerFlags);
|
||||||
this->initWriters();
|
this->initWriters();
|
||||||
if (autoReadAfterSetupSynchronizedMs >= 0)
|
|
||||||
{
|
this->readInBackground(CEntityFlags::AllEntities, 500);
|
||||||
// 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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QMetaObject::Connection> CWebDataServices::connectDataReadSignal(QObject *receiver, std::function<void(CEntityFlags::Entity, CEntityFlags::ReadState, int)> dataRead)
|
QList<QMetaObject::Connection> CWebDataServices::connectDataReadSignal(QObject *receiver, std::function<void(CEntityFlags::Entity, CEntityFlags::ReadState, int)> dataRead)
|
||||||
@@ -437,7 +427,7 @@ namespace BlackCore
|
|||||||
|
|
||||||
const CLogCategoryList &CWebDataServices::getLogCategories()
|
const CLogCategoryList &CWebDataServices::getLogCategories()
|
||||||
{
|
{
|
||||||
static const BlackMisc::CLogCategoryList cats { CLogCategory("swift.datareader") };
|
static const BlackMisc::CLogCategoryList cats { CLogCategory("swift.datareader"), CLogCategory::webservice() };
|
||||||
return cats;
|
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()
|
void CWebDataServices::ps_setupChanged()
|
||||||
{
|
{
|
||||||
CLogMessage(this).debug() << "Setup changed";
|
// void
|
||||||
}
|
|
||||||
|
|
||||||
void CWebDataServices::ps_setupTimedOut()
|
|
||||||
{
|
|
||||||
if (this->m_initialRead) { return; }
|
|
||||||
this->ps_setupRead(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWebDataServices::readInBackground(CEntityFlags::Entity entities, int delayMs)
|
void CWebDataServices::readInBackground(CEntityFlags::Entity entities, int delayMs)
|
||||||
|
|||||||
@@ -51,8 +51,7 @@ namespace BlackCore
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
//! Constructor
|
//! Constructor
|
||||||
CWebDataServices(CWebReaderFlags::WebReader readerFlags,
|
CWebDataServices(CWebReaderFlags::WebReader readerFlags, QObject *parent = nullptr);
|
||||||
int autoReadAfterSetupSynchronizedMs, QObject *parent = nullptr);
|
|
||||||
|
|
||||||
//! Shutdown
|
//! Shutdown
|
||||||
void gracefulShutdown();
|
void gracefulShutdown();
|
||||||
@@ -155,15 +154,9 @@ namespace BlackCore
|
|||||||
//! Read from model reader
|
//! Read from model reader
|
||||||
void ps_readFromSwiftDb(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number);
|
void ps_readFromSwiftDb(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState state, int number);
|
||||||
|
|
||||||
//! Setup has been read
|
//! Setup changed
|
||||||
void ps_setupRead(bool success);
|
|
||||||
|
|
||||||
//! Setup has been changed
|
|
||||||
void ps_setupChanged();
|
void ps_setupChanged();
|
||||||
|
|
||||||
//! Setup timed out
|
|
||||||
void ps_setupTimedOut();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//! Init the readers
|
//! Init the readers
|
||||||
void initReaders(CWebReaderFlags::WebReader flags);
|
void initReaders(CWebReaderFlags::WebReader flags);
|
||||||
@@ -172,7 +165,6 @@ namespace BlackCore
|
|||||||
void initWriters();
|
void initWriters();
|
||||||
|
|
||||||
CWebReaderFlags::WebReader m_readerFlags = CWebReaderFlags::WebReaderFlag::None; //!< which readers are available
|
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
|
bool m_initialRead = false; //!< Initial read conducted
|
||||||
BlackMisc::CData<BlackCore::Data::GlobalSetup> m_setup {this, &CWebDataServices::ps_setupChanged}; //!< setup cache
|
BlackMisc::CData<BlackCore::Data::GlobalSetup> m_setup {this, &CWebDataServices::ps_setupChanged}; //!< setup cache
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ CSwiftData::CSwiftData(QWidget *parent) :
|
|||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
CIdentifiable(this),
|
CIdentifiable(this),
|
||||||
ui(new Ui::CSwiftData),
|
ui(new Ui::CSwiftData),
|
||||||
m_webDataReader(new CWebDataServices(CWebReaderFlags::AllSwiftDbReaders, 500))
|
m_webDataReader(new CWebDataServices(CWebReaderFlags::AllSwiftDbReaders, this))
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
this->init();
|
this->init();
|
||||||
|
|||||||
@@ -46,8 +46,7 @@ bool CSwiftGuiStdApplication::startHookIn()
|
|||||||
runtimeConfig = CCoreFacadeConfig::remoteLocalAudio(dBusAddress);
|
runtimeConfig = CCoreFacadeConfig::remoteLocalAudio(dBusAddress);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this->useContexts(runtimeConfig);
|
return this->useContexts(runtimeConfig);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSwiftGuiStdApplication::parsingHookIn()
|
bool CSwiftGuiStdApplication::parsingHookIn()
|
||||||
|
|||||||
Reference in New Issue
Block a user