mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 12:35:43 +08:00
Ref T189, renamed to CWebReaderFlags::entitiesToReaders plus some assert utility functions
This commit is contained in:
@@ -1073,22 +1073,20 @@ namespace BlackCore
|
|||||||
Q_ASSERT_X(CEntityFlags::isSingleEntity(entity), Q_FUNC_INFO, "Need single entity");
|
Q_ASSERT_X(CEntityFlags::isSingleEntity(entity), Q_FUNC_INFO, "Need single entity");
|
||||||
Q_ASSERT_X(CEntityFlags::anySwiftDbEntity(entity), Q_FUNC_INFO, "No swift DB entity");
|
Q_ASSERT_X(CEntityFlags::anySwiftDbEntity(entity), Q_FUNC_INFO, "No swift DB entity");
|
||||||
|
|
||||||
const CWebReaderFlags::WebReader wr = CWebReaderFlags::entityToReader(entity);
|
const CWebReaderFlags::WebReader wr = CWebReaderFlags::entitiesToReaders(entity);
|
||||||
switch (wr)
|
switch (wr)
|
||||||
{
|
{
|
||||||
case CWebReaderFlags::IcaoDataReader: return m_icaoDataReader;
|
case CWebReaderFlags::IcaoDataReader: return m_icaoDataReader;
|
||||||
case CWebReaderFlags::ModelReader: return m_modelDataReader;
|
case CWebReaderFlags::ModelReader: return m_modelDataReader;
|
||||||
case CWebReaderFlags::AirportReader: return m_airportDataReader;
|
case CWebReaderFlags::AirportReader: return m_airportDataReader;
|
||||||
default:
|
default: break;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWebDataServices::initWriters()
|
void CWebDataServices::initWriters()
|
||||||
{
|
{
|
||||||
m_databaseWriter = new CDatabaseWriter(
|
m_databaseWriter = new CDatabaseWriter(sApp->getGlobalSetup().getDbRootDirectoryUrl(),
|
||||||
sApp->getGlobalSetup().getDbRootDirectoryUrl(),
|
|
||||||
this);
|
this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1342,7 +1340,7 @@ namespace BlackCore
|
|||||||
if (this->getAirportsCount() > 0)
|
if (this->getAirportsCount() > 0)
|
||||||
{
|
{
|
||||||
QString json(QJsonDocument(this->getAirports().toJson()).toJson());
|
QString json(QJsonDocument(this->getAirports().toJson()).toJson());
|
||||||
bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "airports.json"));
|
const bool s = CFileUtils::writeStringToFileInBackground(json, CFileUtils::appendFilePaths(directory.absolutePath(), "airports.json"));
|
||||||
if (!s) { return false; }
|
if (!s) { return false; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,29 +13,29 @@ using namespace BlackMisc::Network;
|
|||||||
|
|
||||||
namespace BlackCore
|
namespace BlackCore
|
||||||
{
|
{
|
||||||
CWebReaderFlags::WebReader CWebReaderFlags::entityToReader(CEntityFlags::Entity entity)
|
CWebReaderFlags::WebReader CWebReaderFlags::entitiesToReaders(CEntityFlags::Entity entities)
|
||||||
{
|
{
|
||||||
WebReader f = None;
|
WebReader f = None;
|
||||||
if (entity.testFlag(CEntityFlags::AircraftIcaoEntity) || entity.testFlag(CEntityFlags::AirlineIcaoEntity) || entity.testFlag(CEntityFlags::CountryEntity))
|
if (entities.testFlag(CEntityFlags::AircraftIcaoEntity) || entities.testFlag(CEntityFlags::AirlineIcaoEntity) || entities.testFlag(CEntityFlags::CountryEntity))
|
||||||
{
|
{
|
||||||
f |= IcaoDataReader;
|
f |= IcaoDataReader;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.testFlag(CEntityFlags::ModelEntity) || entity.testFlag(CEntityFlags::DistributorEntity) || entity.testFlag(CEntityFlags::LiveryEntity))
|
if (entities.testFlag(CEntityFlags::ModelEntity) || entities.testFlag(CEntityFlags::DistributorEntity) || entities.testFlag(CEntityFlags::LiveryEntity))
|
||||||
{
|
{
|
||||||
f |= ModelReader;
|
f |= ModelReader;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.testFlag(CEntityFlags::AirportEntity))
|
if (entities.testFlag(CEntityFlags::AirportEntity))
|
||||||
{
|
{
|
||||||
f |= AirportReader;
|
f |= AirportReader;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.testFlag(CEntityFlags::DbInfoObjectEntity)) { f |= DbInfoDataReader; }
|
if (entities.testFlag(CEntityFlags::DbInfoObjectEntity)) { f |= DbInfoDataReader; }
|
||||||
if (entity.testFlag(CEntityFlags::BookingEntity)) { f |= VatsimBookingReader; }
|
if (entities.testFlag(CEntityFlags::BookingEntity)) { f |= VatsimBookingReader; }
|
||||||
if (entity.testFlag(CEntityFlags::VatsimDataFile)) { f |= VatsimDataReader; }
|
if (entities.testFlag(CEntityFlags::VatsimDataFile)) { f |= VatsimDataReader; }
|
||||||
if (entity.testFlag(CEntityFlags::VatsimStatusFile)) { f |= VatsimStatusReader; }
|
if (entities.testFlag(CEntityFlags::VatsimStatusFile)) { f |= VatsimStatusReader; }
|
||||||
if (entity.testFlag(CEntityFlags::MetarEntity)) { f |= VatsimMetarReader; }
|
if (entities.testFlag(CEntityFlags::MetarEntity)) { f |= VatsimMetarReader; }
|
||||||
|
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
@@ -59,14 +59,30 @@ namespace BlackCore
|
|||||||
return entities;
|
return entities;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CWebReaderFlags::isFromSwiftDb(BlackMisc::Network::CEntityFlags::Entity entity)
|
bool CWebReaderFlags::isFromSwiftDb(CEntityFlags::Entity entity)
|
||||||
{
|
{
|
||||||
return isFromSwiftDb(entityToReader(entity));
|
Q_ASSERT_X(CEntityFlags::isSingleEntity(entity), Q_FUNC_INFO, "Need single entity");
|
||||||
|
return isFromSwiftDb(entitiesToReaders(entity));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CWebReaderFlags::isFromSwiftDb(WebReader reader)
|
bool CWebReaderFlags::isFromSwiftDb(WebReader reader)
|
||||||
{
|
{
|
||||||
return reader.testFlag(ModelReader) || reader.testFlag(IcaoDataReader) || reader.testFlag(DbInfoDataReader);
|
return reader.testFlag(ModelReader) || reader.testFlag(IcaoDataReader) || reader.testFlag(DbInfoDataReader) || reader.testFlag(AirportReader);
|
||||||
|
}
|
||||||
|
|
||||||
|
int CWebReaderFlags::numberOfReaders(WebReader readers)
|
||||||
|
{
|
||||||
|
int n = 0;
|
||||||
|
if (readers.testFlag(ModelReader)) { n++; }
|
||||||
|
if (readers.testFlag(IcaoDataReader)) { n++; }
|
||||||
|
if (readers.testFlag(AirportReader)) { n++; }
|
||||||
|
if (readers.testFlag(DbInfoDataReader)) { n++; }
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CWebReaderFlags::isSingleReader(WebReader readers)
|
||||||
|
{
|
||||||
|
return numberOfReaders(readers) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ namespace BlackCore
|
|||||||
};
|
};
|
||||||
Q_DECLARE_FLAGS(WebReader, WebReaderFlag)
|
Q_DECLARE_FLAGS(WebReader, WebReaderFlag)
|
||||||
|
|
||||||
//! Relationship between reader and entity
|
//! Relationship between readers and entities
|
||||||
static WebReader entityToReader(BlackMisc::Network::CEntityFlags::Entity entity);
|
static WebReader entitiesToReaders(BlackMisc::Network::CEntityFlags::Entity entities);
|
||||||
|
|
||||||
//! Cast
|
//! Cast
|
||||||
static WebReader webReaderFlagToWebReader(WebReaderFlag flag);
|
static WebReader webReaderFlagToWebReader(WebReaderFlag flag);
|
||||||
@@ -58,6 +58,12 @@ namespace BlackCore
|
|||||||
|
|
||||||
//! Reader for swift DB?
|
//! Reader for swift DB?
|
||||||
static bool isFromSwiftDb(WebReader reader);
|
static bool isFromSwiftDb(WebReader reader);
|
||||||
|
|
||||||
|
//! Number of readers
|
||||||
|
static int numberOfReaders(WebReader readers);
|
||||||
|
|
||||||
|
//! Is single reader
|
||||||
|
static bool isSingleReader(WebReader readers);
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user