Commit Graph

231 Commits

Author SHA1 Message Date
Klaus Basan
d603b28697 refs #438, plugin loading testing session + meeting results
* 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
2015-06-04 23:44:50 +02:00
Klaus Basan
91bcba6a0c refs #438, added plug info to listeners
* listener signal can be directly used without mapping
* (during debugging) it is much easier to identify a listener
2015-06-03 16:26:49 +02:00
Michał Garapich
23761fad13 refs #417 Remove ISimulator::asyncConnectTo() for x-plane 2015-05-29 22:03:06 +02:00
Michał Garapich
49a9b91258 refs #423 Detect already running xbus 2015-05-29 23:34:43 +02:00
Klaus Basan
76993ab394 Fixed some signature const / & issues causing malfunctions with DBus 2015-05-29 16:53:46 +02:00
Klaus Basan
94eb33d228 refs #431, infinite recursion in driver unload
* Trivial changes to avoid changedStatus signal when nothing changed
* Do not reload plugin when already loaded
2015-05-29 16:53:39 +02:00
Klaus Basan
6c06ff5d46 refs #432, adjusted originators 2015-05-29 03:49:16 +02:00
Roland Winklmeier
5e4fe4d5d7 refs #409 permanent plugin storage 2015-05-28 21:33:49 +02:00
Roland Winklmeier
ee0bfd62fa refs #428 Use COriginator instead of QString in internal API 2015-05-25 16:06:44 +02:00
Klaus Basan
880a954db9 refs #395, improvements for snapshot / restricted aircraft handling
* 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
2015-05-22 03:08:16 +02:00
Klaus Basan
25c0cea575 refs #417, made the isConnected, isRunning, isPaused functions protected.
They should be only used with the drivers.
2015-05-17 23:56:29 +02:00
Klaus Basan
e53395412a refs #420, refs #417, removes canConnect as it is not consumed, just generated. 2015-05-17 20:29:34 +02:00
Mathew Sutcliffe
b65232b202 MS & KB workshop: ICAO class renamings. 2015-05-12 22:47:54 +01:00
Klaus Basan
e9f7810efc refs #395, prepared for logical / physical add/remote member functions
* renamed functions
* added access to snapshot
* moved simulator base class in own files (.h/.cpp)
2015-05-12 21:03:34 +01:00
Klaus Basan
018c5ae1bf refs #395, integrated aircraft airspace snapshot / analyzer into remote provider
* 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
2015-05-12 21:03:32 +01:00
Klaus Basan
1b9878fdd3 refs #395, some functions renamed in network provider/context
Goal: consistent function names in own and remote aircraft provider
2015-05-12 20:46:50 +01:00
Klaus Basan
3ecf37dda4 refs #395, changed own aircraft provider to thread safe member functions
(similar to remote aircraft provider)
* removed references
* made own aircraft context thread safe (reg. own aircrat data)
* removed the read only versions of the provider
* adjusted consuming methods
* renamed some functions ("ownAircraft...") to avoid ambiguity (with remote aircraft)
2015-05-12 20:46:48 +01:00
Klaus Basan
6debd33b4f refs #395, turned remote aircraft provider interface into thread safe interfaces
* references gone, situations, parts, aircraft now as threadsafe copy
* read only interface gone (no longer references, so no longer needed)
2015-05-12 20:46:45 +01:00
Klaus Basan
48188dd28d refs #395, moved thread safe aircraft parts / situations (from interpolator) to airspace
* access via provider, access now possible also beyond the scope of interpolator
* will be used in (to be written airpace analyzer)
* renamed some member functions as required
* fixed some asserts / Doxygen comments
* adjusted unit tests
* added vtolAircraft flag for interpolator, not fully used everywhere

remarks: update signals for parts / situation still only needed in XP driver
2015-05-12 20:46:38 +01:00
Mathew Sutcliffe
ecc4c787a1 refs #413 Fixed parameter type mismatch between signal of XBus::CService and CXBusServiceProxy.
This fixes a regression introduced because QList and CSequence now have different dbus signatures.
2015-05-12 20:46:34 +01:00
Mathew Sutcliffe
210fb5a530 refs #422, #408 Fixed illegal character in dbus interface name which was previously missed. 2015-05-09 23:31:18 +01:00
Roland Winklmeier
793fcbfd15 refs #403 refactor project files
* Use source path and build path instead of relative ones
* Unify pre target dependencies in libraries.pri
2015-05-05 21:29:46 +02:00
Roland Winklmeier
57b5e1421c Harmonize swift domain names to org.swift-project.* 2015-04-16 00:59:56 +02:00
Michał Garapich
f9de3ad409 refs #404 Use domain-based identifiers for plugins
* Changed all plugin identifier to org.swift-project.plugins.simulator.*
* Fixed a small bug that caused settings be parsed wrong
2015-04-16 00:59:56 +02:00
Michał Garapich
1d5cbb7a9d refs #404 Added human-readable plugin names
* Added new "identifier" attribute in JSON metadata files
* "identifier" is now the one that makes plugins unique
* "name" attribute is a human-readable name
2015-04-16 00:59:56 +02:00
Klaus Basan
f7b50b3f5a refs #366, passing Simulator plugin info to drivers
Add. some finetuning
2015-04-11 02:09:23 +02:00
Klaus Basan
0ab755d510 refs #396 subfolders and renamed callsign list to callsign set
* subfolder audio
* subfolder geo
* adjusted samples, tests ....
2015-04-07 19:22:23 +02:00
Klaus Basan
32f60722c8 refs #396, move subproject BlackSim into BlackMisc::Simulation
* removed unused samples / tests
* fixed found Doxygen issues
* removed blacksimfreefunctions, now in BlackMisc::Simulation::registerMetadata()
* samples_vetcor_geo to samples_geo
2015-04-07 19:22:16 +02:00
Michał Garapich
4d4acb20bc refs #366 cleanup
* Removed obsolete signal from IContextSimulator
* Removed connectToSimulator() method from IContextSimulator as it is no
longer relevant
* CSimulatorComponent updates automatically when simulator disconnects
* FS9 & FSX drivers update (including FSCommon)
2015-04-01 01:21:28 +02:00
Michał Garapich
63e48ae332 Remove ISimulator::getSimulatorInfo()
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
2015-04-01 01:20:25 +02:00
Michał Garapich
b3b3f65ee3 A couple of xbus cleanups
* Use function for xbus service name as it is in X-Plane plugin
* Remove unsafe asserts
2015-04-01 00:05:20 +02:00
Michał Garapich
ad8f84e344 X-Plane plugin cleanup
* Remove XBUS_SERVICE_SERVICENAME macro in favour of inline function with QStringLiteral
* Assert calls that require connection when not connected
2015-04-01 00:05:18 +02:00
Michał Garapich
924e094a38 Listen for simulators on another thread 2015-04-01 00:05:15 +02:00
Michał Garapich
afc22397bb JSON plugin metadata initial
* Added json files along with FILE macro for all drivers
* Get CSimulatorInfo from JSON rather than from ISimulatorFactory
2015-03-31 23:56:35 +02:00
Michał Garapich
9d37a0876d Style 2015-03-31 23:52:32 +02:00
Michał Garapich
adc623f0e7 Add ISimulatorListener interface 2015-03-31 23:52:29 +02:00
Klaus Basan
48655bf551 refs #395, signatures for max.aircraft and max.range
(!) This in an intermediate step, the feature is not yet fully operational

* max distance for rendering as simulator property
* set max distance / aircraft from GUI

As result of the latest meeting
* changed CCallsignList to CCollection
* fixed some warning with elevated compiler settings (e.g. removed qint values -> int)
2015-03-29 20:15:13 +02:00
Klaus Basan
70670b74c6 refs #393, allow to highlight a certain aircraft by blinking
* signatures in contexts
* some specialized functions in aircraft list
* context menus in aircraft view
* default "blinking" implementation in driver common base class
2015-03-29 20:15:05 +02:00
Klaus Basan
48dc360237 Removed old model/views for aircraft, now all with simulated aircraft
Updates of models in view now manually / automatic possible
Allow to reload models (in backend)
2015-03-20 17:11:38 +01:00
Klaus Basan
79b3cf3cd3 Misc. imorvements as discussed in RW/KB worksho
* preparation for a context menu to send text messages from ATC/aircraft view
* preparation for context menu for fast pos. updates
* reverse ICAO lookup at login screen
* display fast updates / parts in GUI
* moved max- aircraft into settings
* made serverselection own component
2015-03-20 17:11:10 +01:00
Klaus Basan
72c796f92f As of workshop RW/KB
* fixed doxygen
* display parts flag
2015-03-20 17:11:02 +01:00
Roland Winklmeier
ac760ce9b0 Adapt X-Plane plugin to aircraft history interfaces 2015-03-20 17:10:43 +01:00
Klaus Basan
420a47e90c refs #369, changed interpolation to a working (but still too bad performing) version
* using split by callsign everywhere
* helper function to insert_front
* revised linear interpolator
* renamed to remoteAircraft
* renamed to container() in providers (gettters are usually copies)

Issues why changes did so long:
* insert in list is not adding in front, but same as push_back (that was confusing)
* naming of values before/after in interpolator was ambigious
* QMap keeps values sorted by key, not arbitrarily
2015-03-20 16:49:07 +01:00
Klaus Basan
f8bebf5ffa refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* Interpolator using CWorker, so it can run in background
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
* changed connectioStatusChanged from uint -> int
2015-03-20 16:48:58 +01:00
Klaus Basan
c47871b813 refs #382, reviewed audio context handling
* only init QDbusServer for P2P
* changed init order of contexts in runtime
* use "fake" signal to call setComVoiceRooms (remote in GUI)
* added slot to change voice room callsign
* used "org.swift" instead of "net.vatim" (just style)
* used const QString for serviceName
* added correct copyright header (just style)
2015-03-20 16:33:51 +01:00
Roland Winklmeier
bcc79ddeee refs #328 Read aircraft parts from simulators 2015-03-20 16:32:55 +01:00
Klaus Basan
5146b7357d refs #369, adjusted simulator drivers to changed interpolator and
removed addAircraftSituation
2015-03-20 16:32:15 +01:00
Klaus Basan
8c3547c33d refs #369, adjusted simulator drivers
* common base class BlackCore::CSimulatorCommon
* using providers IOwnAircraftProvider, IRenderedAircraftProvider
* using revers lookup in mapping
* using CSimulatedAircraft / CSimulatedAircraftList
* return values (success/failed) for member functions (e.g. setTimeSynchronization)
* getMaxRenderedAircraft / setMaxRenderedAircraft prepared
2015-03-20 16:31:33 +01:00
Klaus Basan
1b04205584 refs #369, adjusted plugins
* common base class for FS drivers
* moved mapper into common base class
* reflect changes for own aircraft provider
** removed member functions
** removed unused members
2015-03-20 16:30:48 +01:00
Klaus Basan
ce86c902b5 Upfront of refs #369
* consolidated ICoordinateGeodetic (e.g. fixed nested properties)
* shifted common functionality for objects/containers with callsign into interface
* shifted common functionality for objects/containers with geo position into interface
* shifted common functionality for objects/containers with timestamp into interface
* updated corresponding value objects / specialized lists
* adjusted all places where renamed functions are used
2015-03-20 16:30:18 +01:00