14 namespace swift::misc::network
33 case NoEntity:
return QStringLiteral(
"no data");
36 default:
SWIFT_VERIFY_X(
false, Q_FUNC_INFO,
"wrong flags");
return "wrong flags";
46 if (entities.testFlag(
AirportEntity)) list << QStringLiteral(
"Airport");
47 if (entities.testFlag(
CountryEntity)) list << QStringLiteral(
"Country");
49 if (entities.testFlag(
DbInfoObjectEntity)) list << QStringLiteral(
"Info objects (DB)");
51 if (entities.testFlag(
LiveryEntity)) list << QStringLiteral(
"Livery");
52 if (entities.testFlag(
ModelEntity)) list << QStringLiteral(
"Model");
53 if (entities.testFlag(
NoEntity)) list << QStringLiteral(
"no data");
54 if (entities.testFlag(
VatsimDataFile)) list << QStringLiteral(
"VATSIM data file");
55 if (entities.testFlag(
VatsimStatusFile)) list << QStringLiteral(
"VATSIM status file");
82 const int c =
static_cast<int>(std::bitset<(sizeof(entities) * 8)>(entities).count());
88 static const QString f(
"finished");
89 static const QString fr(
"finished (restricted)");
90 static const QString p(
"parsing");
91 static const QString fa(
"failed");
92 static const QString s(
"skipped");
93 static const QString st(
"read started");
94 static const QString x(
"wrong flags");
104 default:
SWIFT_VERIFY_X(
false, Q_FUNC_INFO,
"wrong flags");
return x;
124 return static_cast<Entity
>(
static_cast<int>(entityFlag));
129 return static_cast<EntityFlag>(
static_cast<int>(entity));
185 default:
return false;
198 if (name.contains(
"model", Qt::CaseInsensitive)) {
return ModelEntity; }
202 if (name.contains(
"airport", Qt::CaseInsensitive)) {
return AirportEntity; }
203 if (name.contains(
"distributor", Qt::CaseInsensitive)) {
return DistributorEntity; }
204 if (name.contains(
"countr", Qt::CaseInsensitive)) {
return CountryEntity; }
205 if (name.contains(
"liver", Qt::CaseInsensitive)) {
return LiveryEntity; }
211 CEntityFlags::Entity entities =
NoEntity;
212 for (
const QString &name : names)
215 if (singleEntity ==
NoEntity) {
continue; }
216 entities |= singleEntity;
237 qRegisterMetaType<CEntityFlags::Entity>();
238 qRegisterMetaType<CEntityFlags::EntityFlag>();
239 qRegisterMetaType<CEntityFlags::ReadState>();
Build a QSet more efficiently when calling insert() in a for loop.
void insert(const T &value)
Add an element to the set. Runs in amortized constant time.
constexpr static auto SeverityError
Status severities.
constexpr static auto SeverityInfo
Status severities.
constexpr static auto SeverityWarning
Status severities.
static bool isFinishedReadState(ReadState state)
Any finished state.
static bool isSingleEntity(CEntityFlags::Entity flag)
Representing single entity?
static QStringList entitiesToStringList(CEntityFlags::Entity entities)
Entities to string list.
QSet< CEntityFlags::Entity > EntitySet
Set of CEntityFlags::Entity.
static EntityFlag entityToEntityFlag(Entity entity)
To flag (when explicit conversion is needed)
static int numberOfEntities(CEntityFlags::Entity entities)
Represented number of entities.
static EntitySet asSingleEntities(Entity entities)
As set of single entities.
static void registerMetadata()
Register metadata.
static Entity entityFlagToEntity(EntityFlag entityFlag)
To entity (when explicit conversion is needed)
static Entity singleEntityByName(const QString &name)
Get by name.
static Entity multipleEntitiesByNames(const QStringList &names)
Get by multiple names.
EntityFlag
Which data to read, requires corresponding readers.
@ AircraftCategoryEntity
aircraft category entities
@ VatsimStatusFile
the VATSIM status file (URLs for data files etc.)
@ AllDbEntitiesNoInfoObjects
all DB entities, no info objects
@ AllIcaoAndCountries
all ICAO codes and countries
@ CountryEntity
country codes
@ DbInfoObjectEntity
info about DB data (kind of metadata)
@ AirlineIcaoEntity
ICAO codes for airlines.
@ SharedInfoObjectEntity
info about shared DB data (metadata)
@ AircraftIcaoEntity
ICAO codes for aircraft.
@ DistributorEntity
distributors
@ VatsimDataFile
the VATSIM data file (multiple data entities)
@ AllIcaoEntities
all ICAO codes
static bool isWarningOrAbove(ReadState state)
Read state representing warning or above?
static CStatusMessage::StatusSeverity flagToSeverity(ReadState state)
Flag to severity.
ReadState
State of operation.
@ ReadFinishedRestricted
finished a timestamp restricted read
@ ReadStarted
reading has been started
@ ReadFinished
reading done
@ ReadParsing
parsing data
@ ReadFailed
reading failed
@ ReadSkipped
read skipped, e.g.
static const QString & stateToString(ReadState flag)
Convert to string.
static Entity iterateDbEntities(Entity &entities)
Return single entity and remove it from entities.
static bool anySwiftDbEntity(Entity entities)
Representing at least one DB entity.
static bool isFinishedReadStateOrFailure(ReadState state)
Any finished state.
static QString entitiesToString(CEntityFlags::Entity entities, const QString &separator=", ")
Entities to string list.
static QString flagToString(CEntityFlags::EntityFlag flag)
Convert to string.
StatusSeverity
Status severities.
#define SWIFT_VERIFY_X(COND, WHERE, WHAT)
A weaker kind of assert.