Change MetarSet to MetarList:
CMetarSet was implemented as a collection. This only makes sense for values which have one member variable only or hardly ever change. METARs often change and therefore a collection didn’t make much sense.
Additional profiling showed that a sequence has better algorithmic performance.
* removed reverse lookup and moved to matcher
* encapsulated update/adding of thread safe members (remove number of places where lock is obtained)
* removed unused METAR slot
* query FSD values encapsulated
* added functions to callsign / callsign list
* used in aircraft matcher
* also resolve std.livery in matcher
* also allow to find aircraft ICAO designator ending with string (e.g. 737 for B737)
* renamed CAircraftMatcher::reverseLookup -> CAircraftMatcher::reverselLookupModel
* threadsafe isInRange (CAIrspaceMonitor)
With the new Qt5 C++11 syntax, private slots are not really necessary.
Replacing it with a normal private method reduces the generated code
from moc and also syntax issues are raised as compiler errors instead
of runtime asserts.
CMetarSet was implemented as a collection. This only makes sense for
values which have one member variable only or hardly ever change. METARs
often change and therefore a collection didn't make much sense.
Additional profiling showed that a sequence has better algorithmic
performance.
refs #689
* do not init shared URLs before needed
* do not load info objects when DB is unavailable
* adjust reader flags when DB is down
* airport URL available in setup
Refactoring
* encapsulated position timers start/stop
* only start interim position timer when connected
* use Q_FUNC_INFO for Q_ASSERT_X
* interim pos. interval as const values
* private VatlibQScopedPointerDeleter (slack discussion)
* made clients threadsafe
* use clients to decide if model string is queried
* init aircraft/airline ICAO codes with DB data where possible
* Allow acces to log utility functions of matcher
* CApplication now has member function isUnitTest
* bootstrap URL has hardcoded default URL when running as unit test
* unit tests are automatically marked as "running in dev. environment"
Instead of enabling fast position updates via context methods, the
settings API will be used instead. This also allowed to move the timer
into CNetworkVatlib instead of CAirspaceMonitor. The only necessary thing
was to regularly update the receiver callsign set.
refs #677
Instead of the existing one, this newly added API allows to request
a weather grid without a callback as argument. Instead the final grid
will be emitted as signal.
This API is also made available in ISimulatorContext for GUI access.
refs #663