mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 21:15:33 +08:00
refs #526, network
* signal when data have been published * parsing of publishing JSON object * utility functions
This commit is contained in:
@@ -109,6 +109,17 @@ namespace BlackCore
|
||||
return cl;
|
||||
}
|
||||
|
||||
QList<QMetaObject::Connection> CWebDataServices::connectDataPublishSignal(QObject *receiver, std::function<void (const CAircraftModelList &, const CAircraftModelList &, const CStatusMessageList &)> dataPublished)
|
||||
{
|
||||
Q_ASSERT_X(receiver, Q_FUNC_INFO, "Missing receiver");
|
||||
QList<QMetaObject::Connection> cl;
|
||||
if (!m_databaseWriter) { return cl; }
|
||||
QMetaObject::Connection con = connect(this->m_databaseWriter, &CDatabaseWriter::published, receiver, dataPublished);
|
||||
Q_ASSERT_X(con, Q_FUNC_INFO, "connect failed publishing signal");
|
||||
cl.push_back(con);
|
||||
return cl;
|
||||
}
|
||||
|
||||
CServerList CWebDataServices::getVatsimFsdServers() const
|
||||
{
|
||||
if (m_vatsimDataFileReader) { return m_vatsimDataFileReader->getFsdServers(); }
|
||||
@@ -144,9 +155,9 @@ namespace BlackCore
|
||||
if (m_vatsimDataFileReader) { m_vatsimDataFileReader->updateWithVatsimDataFileData(aircraftToBeUdpated); }
|
||||
}
|
||||
|
||||
CStatusMessageList CWebDataServices::asyncWriteModel(const CAircraftModel &model) const
|
||||
CStatusMessageList CWebDataServices::asyncPublishModels(const CAircraftModelList &models) const
|
||||
{
|
||||
if (m_databaseWriter) { return m_databaseWriter->asyncWriteModel(model);}
|
||||
if (m_databaseWriter) { return m_databaseWriter->asyncPublishModels(models);}
|
||||
return CStatusMessageList();
|
||||
}
|
||||
|
||||
|
||||
@@ -83,6 +83,12 @@ namespace BlackCore
|
||||
QObject *receiver,
|
||||
std::function<void (BlackMisc::Network::CEntityFlags::Entity, BlackMisc::Network::CEntityFlags::ReadState, int)> dataRead) override;
|
||||
|
||||
//! \copydoc BlackMisc::Network::IWebDataServicesProvider::connectDataPublishSignal
|
||||
//! \ingroup webdatareaderprovider
|
||||
virtual QList<QMetaObject::Connection> connectDataPublishSignal(
|
||||
QObject *receiver,
|
||||
std::function<void (const BlackMisc::Simulation::CAircraftModelList &, const BlackMisc::Simulation::CAircraftModelList &, const BlackMisc::CStatusMessageList &)> dataPublished) override;
|
||||
|
||||
//! \copydoc BlackMisc::Network::IWebDataServicesProvider::triggerRead
|
||||
//! \ingroup webdatareaderprovider
|
||||
virtual BlackMisc::Network::CEntityFlags::Entity triggerRead(BlackMisc::Network::CEntityFlags::Entity whatToRead) override;
|
||||
@@ -227,15 +233,15 @@ namespace BlackCore
|
||||
//! \ingroup webdatareaderprovider
|
||||
virtual void updateWithVatsimDataFileData(BlackMisc::Simulation::CSimulatedAircraft &aircraftToBeUdpated) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Network::IWebDataServicesProvider::asyncWriteModel
|
||||
//! \copydoc BlackMisc::Network::IWebDataServicesProvider::asyncPublishModels
|
||||
//! \ingroup webdatareaderprovider
|
||||
virtual BlackMisc::CStatusMessageList asyncWriteModel(const BlackMisc::Simulation::CAircraftModel &model) const override;
|
||||
virtual BlackMisc::CStatusMessageList asyncPublishModels(const BlackMisc::Simulation::CAircraftModelList &models) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Network::IWebDataServicesProvider::canConnectSwiftDb
|
||||
//! \ingroup webdatareaderprovider
|
||||
virtual bool canConnectSwiftDb() const override;
|
||||
|
||||
//! Save all DB data to JSON files
|
||||
//! Save all DB data to a JSON files
|
||||
//! \ingroup webdatareaderprovider
|
||||
virtual bool writeDbDataToDisk(const QString &dir) const override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user