* added snapshot class
* added snapshot in analyzer, signal for new snapshot
* made all provider signals available in CSimulator
* added finders in CSimulatedAircraftList
* moved COwnAircraftProviderDummy into own file
* set infobar status correctly when GUI connects after the core has been started
* more detailed information in information statusbar
* allow to obtain currently connected server in network context
* made many network vatlib slots normal member functions
* fixed rendered aircraft flag setting in FSX driver
Airspace monitor knows all remote aircrafts and which have interim
positions enabled. It passes the list of receivers to INetwork
and INetwork sends it to FSD.
Interim packets are very close to normal position updates. It is
only missing transponder and speed information. On reception
of a interim packet, the information is added to a new
CAircraftSituation. The missing speed information is retrieved
from the last update.
The names were a bit misleading, hence this patch does rename
the methods to something more obvious. It also changes the behaviour
of CNetworkVatlib to automatically answer a custom FSinn query.
In both cases the important details are extracted and signaled to
airspace monitor.
The airspace monitor will send FSinn queries only if the exact model
is not yet known. This would be the case when another client had
sent a FSinn query already.
To provide maximum flexibility, the simulator info is specified by each
plugin in the JSON metadata file.
* Renamed SCimulatorInfo to CSimulatorPluginInfo
* Removed pre-defined simulator infos (UnspecifiedSim, FSX, etc)
* CContextSimulator keeps track of which plugin is loaded and its info
* QSignalMapper keeps track of which listener emitted the simulatorStared() signal
* CSimulatorPluginInfo contains name, simulator name and description
* TODO: GUI part
* TODO: CTestFsCommon
Also refs #351
* messages can be formatted with style sheet
* fixed: removed command from message
* added originator to command line
* msg parsing now in core
* using ITimestampBased for text messages and status messages
* allow to resize rows to content (view base)
* model / views for text messages
* removed old qt stylesheets
(based on FSX testing)
* Only send changed situation to SIM
* Split sending of parts / situations
* Only send parts with a reduced frequency (means slower as positions)
* Mark geodetic height as null for default values (the value is usually unavailable)
* Fixed altitude to MSL for network data
* Trace which aircrafts support aircraft parts via network
* Renamed insert_fron push_front (as proposed by Roland)
Status quo / lessons learnt
* On slower PCs jitter is still noticed for interpolated aircraft.
* Running interpolation in an independent process (aka core, not in GUI) reduced load dependencies
=> it seems to make sense to run driver in own thread
* The onGround flag in parts seems clumsy as it required to retrieve parts for position updates
* In interpolation performance really matters
* removed unused functions / signals
* removed no longer used members / update timers
* Pass provider to contructors
* no direct access to monitor in other contexts
* helper method to detect disconnected state
* clear ATC info if disconnected or not available
* unit test for "finders"
* added Doxygen file
* formatting frequency in text message tabs
* fixed issue with parsing, only default locale is used. Now user's local possible
* allow to load FP for other callsigns as well (voice capabilities)
* Improved handling of CTime, inclusive bug fixes and time formatting
* Max. lengths for FP fields as const value (so we can change it if required)
* Load FP from GUI component
* Samples for PQ classes
* Adjusted depending classes (e.g. client)
added ConnectionStatus enum values DisconnectedFailed and DisconnectedLost
added extra argument to connectionStatusChanged signal, containing the socket error message
Changed FILE_PATTERNS config in Doxyfile so Doxygen only looks at headers, not cpp files.
Reverts some changes of commit:116db9a (e.g. terminate() is an internal signal of CNetworkVatlib, but still needs a doxy comment because all signals are public).
* Naming convention: "preset" only when disconnected, "send" only when connected, "set" both
* Every asynchronous pair is named as in "sendFooQuery" and "fooReplyReceived"
* Moved LoginMode from CNetworkVatlib constructor to INetwork::presetLoginMode
* Callsign and ICAO codes can only be changed when disconnected, so have their own "preset" methods
** Callsign and ICAO parts of setOwnAircraft are therefore ignored
** CUser part of setOwnAircraft is ignored, in favour of the CUser part of presetServer
* CNetworkVatlib takes care of reconstructing m_net if the LoginMode is changed