6 #ifndef SWIFT_CORE_ICAODATAREADER_H
7 #define SWIFT_CORE_ICAODATAREADER_H
45 int getAircraftIcaoCodesCount()
const;
65 bool containsAircraftIcaoDesignator(
const QString &designator)
const;
78 int getCountriesCount()
const;
94 int getAirlineIcaoCodesCount()
const;
102 bool containsAirlineIcaoDesignator(
const QString &designator)
const;
107 getAirlineIcaoCodeForUniqueDesignatorOrDefault(
const QString &designator,
bool preferOperatingAirlines)
const;
116 getAirlineIcaoCodeForUniqueIataCodeOrDefault(
const QString &iataCode)
const;
134 int getAircraftCategoryCount()
const;
138 bool areAllDataRead()
const;
141 bool writeToJsonFiles(
const QString &dir);
145 swift::misc::network::CEntityFlags::Entity whatToRead,
146 bool overrideNewerOnly)
override;
147 virtual bool readFromJsonFilesInBackground(
const QString &dir,
148 swift::misc::network::CEntityFlags::Entity whatToRead,
149 bool overrideNewerOnly)
override;
152 virtual swift::misc::network::CEntityFlags::Entity getSupportedEntities()
const override;
153 virtual QDateTime getCacheTimestamp(swift::misc::network::CEntityFlags::Entity entity)
const override;
154 virtual int getCacheCount(swift::misc::network::CEntityFlags::Entity entity)
const override;
155 virtual swift::misc::network::CEntityFlags::Entity getEntitiesWithCacheCount()
const override;
156 virtual swift::misc::network::CEntityFlags::Entity
157 getEntitiesWithCacheTimestampNewerThan(
const QDateTime &threshold)
const override;
158 virtual void synchronizeCaches(swift::misc::network::CEntityFlags::Entity entities)
override;
159 virtual void admitCaches(swift::misc::network::CEntityFlags::Entity entities)
override;
163 virtual void invalidateCaches(swift::misc::network::CEntityFlags::Entity entities)
override;
164 virtual bool hasChangedUrl(swift::misc::network::CEntityFlags::Entity entity,
171 this, &CIcaoDataReader::aircraftIcaoCacheChanged
174 this, &CIcaoDataReader::airlineIcaoCacheChanged
177 &CIcaoDataReader::countryCacheChanged };
179 this, &CIcaoDataReader::aircraftCategoryCacheChanged
181 std::atomic_bool m_syncedAircraftIcaoCache {
false };
182 std::atomic_bool m_syncedAirlineIcaoCache {
false };
183 std::atomic_bool m_syncedCountryCache {
false };
184 std::atomic_bool m_syncedCategories {
false };
187 virtual void read(swift::misc::network::CEntityFlags::Entity entities,
192 this, &CIcaoDataReader::baseUrlCacheChanged
196 void parseAircraftIcaoData(QNetworkReply *nwReply);
199 void parseAirlineIcaoData(QNetworkReply *nwReply);
202 void parseCountryData(QNetworkReply *nwReply);
205 void parseAircraftCategoryData(QNetworkReply *nwReplyPtr);
208 void aircraftIcaoCacheChanged();
211 void airlineIcaoCacheChanged();
214 void countryCacheChanged();
217 void aircraftCategoryCacheChanged();
220 void baseUrlCacheChanged();
Value object encapsulating a list of reader configs.
Specialized version of threaded reader for DB data.
Read ICAO data from Database.
Value object encapsulating a list of countries.
Status messages, e.g. from Core -> GUI.
Value object encapsulating a list of ICAO codes.
Value object for ICAO classification.
Value object encapsulating a list of ICAO codes.
Value object for ICAO classification.
Value object encapsulating a list of ICAO codes.
Value object encapsulating information of a callsign.
DataRetrievalModeFlag
Which data to read, requires corresponding readers.
Value object encapsulating information of a location, kind of simplified CValueObject compliant versi...
Classes interacting with the swift database (aka "datastore").
#define SWIFT_CORE_EXPORT
Export a class or function from the library.