Commit Graph

1793 Commits

Author SHA1 Message Date
Klaus Basan
80f5d9b595 Ref T240, use ITimestampBased / ITimestampObjectList
* using the existing base classes (interfaces) gives you plenty of useful utility functions
* hint: we do not init with current timestamp as default as this is relatively slow
2018-02-04 08:59:39 +01:00
Klaus Basan
7e0c1033ba Ref T243, use offset times from network vatlib
* changed network config received signature (now with offset time)
* removed code to fix offset time, no longer needed
* using push_frontKeepLatestAdjustedFirst guaranteeing correct order
2018-02-04 08:57:32 +01:00
Klaus Basan
6e933b089c Ref T243, track position updates to determine offset times directly in network vatlib
* track position updates and keep records of offset times
* hence parts and positions can already have a dynamic offset time
* parts config received will include this offset time
2018-02-04 08:53:54 +01:00
Klaus Basan
e9e0ae1ff4 Ref T241, Ref T243 formatting and minor tweaks
* unified how we write thread_local const
* ASSERTs
* formatting
2018-02-04 08:53:48 +01:00
Klaus Basan
bb65b7c280 Ref T226, renamed to swiftDbAllDataRead 2018-02-02 21:26:52 +01:00
Klaus Basan
5aad426ced Ref T239, removed "QTimer m_xxx { this };" pattern
* not in worker classes as parent might have a relevance there
* in UI classes it is useless
2018-02-02 21:26:50 +01:00
Roland Winklmeier
b12002caa2 Improve the performance and usability of the raw FSD message display
* Replaced QListView with QPlainTextEdit
* Added filter options for packet type and text
* Option to globally disable/enable the feature. Default disabled

Maniphest Tasks: Ref T240
2018-02-02 21:26:25 +01:00
Klaus Basan
0101e31db2 Ref T237, find latest DB cache ts and only init caches if there are no or old cache data 2018-01-30 23:34:12 +01:00
Klaus Basan
801b584c87 Ref T237, init DB caches from installer files 2018-01-30 20:35:34 +01:00
Klaus Basan
f3afde76ff Ref T237, init/read from JSON files
* multi format compatible (automatically detect format)
* flag if cache values shall be overridden
* init from resource files (those are the files coming with the installer)
* automatically read in background if reader is (already) in its own thread (otherwise cache.set() ASSERT)
2018-01-30 20:35:32 +01:00
Klaus Basan
deddf7c957 Ref T237, init caches from resource files (means the files delivered with swift)
* initFromLocalResourceFiles reads all local DB data
* made 2 functions virtual readFromJsonFiles, readFromJsonFilesInBackground
2018-01-30 20:35:25 +01:00
Klaus Basan
cd5fdfaf14 Ref T231, Ref T236, Ref T238 improved logging of situation/parts logging
* "dot" commands to log parts/situations
* log can also be displayed in simulator (if simulator can display text messages)
* fixed missings locks for m_interpolationRenderingSetup
* more detailed output
* renamings
* using hints in log
2018-01-30 20:35:05 +01:00
Klaus Basan
bdda413386 Ref T231, Ref T236, Ref T238 made command parsing function mandatory for contexts
* we can send commands to any context
* to send to all contexts use the facade
* application relays to facade
2018-01-30 20:34:55 +01:00
Klaus Basan
301eb79eca Renamings and adjustments of developer flag 2018-01-30 20:34:50 +01:00
Klaus Basan
5829917694 Ref T89, signal when server (flight network) connects
* server contains the ecosystem
* connect server signal with web data services (so ecosystem is available)
2018-01-30 20:34:38 +01:00
Klaus Basan
897a6f301f Ref T232, aircraft can be re-added or removed via "dot-commands"
* can be used for testing
* utility functions to find inconsistent aircraft states
* reset highlight state
2018-01-30 20:31:59 +01:00
Klaus Basan
3ee5e68054 Ref T238, comments and formatting 2018-01-30 20:31:56 +01:00
Klaus Basan
81ea636bc0 Assert / formatting 2018-01-30 20:31:41 +01:00
Klaus Basan
b76a82398f Ref T231, "dot" command to display position in simulator 2018-01-30 20:31:32 +01:00
Klaus Basan
d118ea402f Ref T232 clear remote aircraft data once network disconnects
* blackconfig in .pro
* verify function to detect dangling states
* clear remote data when disconnected from network
* there was one problem that the data where not correctly cleaned up and hence new aircraft where not added again after a disconnect/reconnect from network
* it is not yet clear why data happens (dangling data), that is what the debugVerify function is for
2018-01-30 20:31:11 +01:00
Klaus Basan
8eabd468af Use StringBuilder in network vatlib 2018-01-30 20:30:49 +01:00
Klaus Basan
a3bbb72185 Simplify (remove duplicate spaces) text messages 2018-01-30 20:30:46 +01:00
Klaus Basan
c39d4f66a3 Setting parent object for timers and formatting 2018-01-30 20:30:39 +01:00
Klaus Basan
dac1ee85f9 Ref T232, some (dispatch) timer code was duplicated
* fixed a bug, where a non existing timer was killed
* unified code in base class
2018-01-30 20:30:20 +01:00
Klaus Basan
c1ee159ff9 Ref T232, some formatting
* made "private slots" -> "slots"
* cross context slots marked with "xCtx" prefix
2018-01-30 20:30:14 +01:00
Klaus Basan
ee8ea8e599 Ref T228, some renamings 2018-01-30 20:29:20 +01:00
Roland Winklmeier
2bb3bb3cf8 Ignore yet another FSinn P2P packet 2018-01-29 12:17:24 +01:00
Roland Winklmeier
704068d299 Add methods to receive and write raw FSD messages
This commit adds methods to register for live FSD message reception. The
amount of traffic can be quite high, therefore no normal signal is used -
which would be available via DBus. Instead one has to connect manually
by passing a functor. This guarantees that we communicate only in-process.
If someone tries to connect on the proxy side, the connection will fail.
This needs to be handled properly in client code.
This commit also adds a method to write the FSD message to a selected file.

Maniphest Tasks: T222
2018-01-26 12:40:36 +01:00
Roland Winklmeier
2b2813af20 Send correct SimType to FSD server depending which plugin is loaded 2018-01-22 14:08:32 +01:00
Roland Winklmeier
7edcc02f15 Return the plugin info of the emulated simulator rather than emulated itself 2018-01-22 14:07:02 +01:00
Klaus Basan
c42b325d54 Watchdog allows to obtain info string about the statistics 2018-01-17 05:00:09 +01:00
Klaus Basan
d2389c15cc Ref T224, allow to check for empty caches 2018-01-15 22:50:33 +01:00
Klaus Basan
2a2a5e1349 Ref T224, info object reader fixes
* caches need to be obtained from the respective readers
* BLACK_VERIFY to detect problems
* fixed masking which was wrong (did mask by info object)
2018-01-15 22:50:30 +01:00
Klaus Basan
8bb47a555c Formatting comments and "private slots" -> "private" 2018-01-15 22:50:26 +01:00
Roland Winklmeier
de4fe44156 Fix sending the correct pressure altitude for a pilot position
* Before this commit, only the true altitude was known for an aircraft situation. The pressure altitude was not available anywhere yet.
* This caused a wrong altitude in radar clients.
* We fix this reading the pressure altitude from the simulators and set it in the own aircraft situation.
* MS Flight Simulators have the pressure altitude in the APIs available.
* For X-Plane and emulated simulator, we need to calculate it from the pressure at sea level.
* Finally, we use the new available pressure altitude to send it to the FSD server.

Maniphest Tasks: Ref T223
2018-01-15 22:49:08 +01:00
Klaus Basan
312d01d35b Ref T199, also cache files can be loaded
* unwrap cache JSON object
* parameter to control if cache format is allowed
2018-01-14 18:47:37 +01:00
Klaus Basan
922f12f141 Ref T199, sync. caches of setup reader 2018-01-14 18:47:35 +01:00
Klaus Basan
826760e347 Bootstrap file name encapsulated 2018-01-14 18:47:28 +01:00
Klaus Basan
4c39b8923e Ref T220, set application name earlier and use member to get application name 2018-01-14 18:47:06 +01:00
Klaus Basan
638c8bcf83 Ref T219, fixed missing include in web data services 2018-01-14 18:46:41 +01:00
Klaus Basan
3dc1c69653 Ref T219, some FP renamings and fix to set prefix/postfix in FP value object 2018-01-14 18:46:36 +01:00
Klaus Basan
728b3c0473 Formatting 2018-01-14 18:46:21 +01:00
Klaus Basan
9f79923848 Ref T219, removed unused signal webServiceDataRead
Remark: Can be directly used from web data services
2018-01-14 18:46:19 +01:00
Klaus Basan
2c5a6c0a3a Ref T218, renamed some functions of CIdentifier 2018-01-14 18:45:48 +01:00
Klaus Basan
23f48a866d Display VATLIB version in "about swift" 2018-01-14 18:45:45 +01:00
Klaus Basan
5cd9347015 Ref T215, use altitude utility function for VATLIB 2018-01-14 18:45:38 +01:00
Klaus Basan
5cfacc6066 Ref T215, use homebase + real name string 2018-01-14 18:45:25 +01:00
Klaus Basan
26b5a6ce28 Found during T215, rectify CIdentifier issues
* null/anonymous identifier
* CIdentifier can be linked with QObject and
* CIdentifier reflects name changes of QObject (UI components change name after ctor call)
2018-01-13 05:04:27 +01:00
Roland Winklmeier
8bb841398d Filter ATIS query replies from normal text messages
Non-VATSIM FSD servers send the controller ATIS message as a regular
text message. swift therefore could not recognize it as such and was
handling the reply as any other text message.
This changes adds some checks to detect ATIS replies after a query.

Maniphest Tasks: T216
2018-01-13 05:04:23 +01:00
Roland Winklmeier
d68f678cc5 Upgrade to vatlib v0.9.7 2018-01-13 05:04:21 +01:00