Previously the metar source used to be the FSD connection. Since
all METARs are also available via a webservice, use this source
instead. This allows to retrieve and use METARs even if we are
not connected.
* the reader will be used in context, but can also be used standalone (ie mapping GUI) GUI
* adjustments in context/airspace as required
** for web reader
** livery
* base class for database based reading (via JSON/web)
* model data reader for models
* simulator common, many members now private (info -> read only)
* renamed printDirectPlayError -> logDirectPlayError
* (re)added ASSERT for FS9
* removed parent from listener (with parent no moveToThread)
* removed QFuture / QConcurrent as we have agreed to do
* unloading a plugin no longer automatically restarts all listeners
this allows a user to set one particualar simulator in the GUI and ony wait for that
* stop listener from own signal
* only 2 public interface functions start/stopSimulatorPlugin
* internal functions like starting the listeners private
* removed loading from settings, it does not make any sense as auto will find the running sim
* only 2 central functions in impl: un/loadSimulatorPlugin - rest is handled automatically from there
* graceful shutdown when runtime goes down
* utility function getSimulatorStatusEnum()
* disabled sets distance and max.aircraft to 0
* fixed changed snapshot detection
* added rendering enabled to signal, only one function to decide (instead of duplicated logic)
* fixed isCurrentThreadCreatingThread and renamed to isCurrentThreadObjectThread (this check was never working), added 2 more thread checks
* changed remove aircraft function to return number of returned aircraft (like with the containers this allows to avoid unnecessary signals)
* removed unused function ps_recalculateRenderedAircraft() / SimulatorCommon
* using Queued airspaceAircraftSnapshot signal for binding (functor connect does not provide connection type)
* extened ASSERTs to check threads
* simulator: initial situation function with return value (success?)
* simulator: avoid unneccessary copy and provide correct rendered flag in add aircraft function
* Redundant "simulatorStatusChanged" signal in proxy
* invokeMethod for timer
* removed redundant this->buildNavigator(1)
* Shortcut in GUI
* comment in variant
* added unload function to disconnect signals / slots and simulator
* changed remote provider to return signal/slot connections to manually disconnect functor connects
* flag so pause can freeze or continue AI aircraft
* slightly changed unload behaviour in simulator context
Remark: Tested for FSX only
Solves #424 for FSX