6 #include <QDBusConnection>
7 #include <QLatin1String>
17 using namespace swift::misc::physical_quantities;
18 using namespace swift::misc::aviation;
19 using namespace swift::misc::network;
20 using namespace swift::misc::geo;
21 using namespace swift::misc::simulation;
22 using namespace swift::misc::simulation::settings;
24 namespace swift::core::context
32 this->relaySignals(serviceName, connection);
35 void CContextSimulatorProxy::unitTestRelaySignals()
51 "simulatorPluginChanged",
this,
55 "simulatorChanged",
this,
66 "renderRestrictionsChanged",
this,
70 "interpolationAndRenderingSetupChanged",
this,
77 "modelSetChanged",
this,
81 "modelMatchingCompleted",
this,
85 "addingRemoteModelFailed",
this,
90 "aircraftRenderingChanged",
this,
94 "ownAircraftModelChanged",
this,
238 return m_dBusInterface->
callDBusRet<CInterpolationSetupList>(
239 QLatin1String(
"getInterpolationAndRenderingSetupsPerCallsign"));
246 QLatin1String(
"getInterpolationAndRenderingSetupPerCallsignOrDefault"), callsign);
250 bool ignoreSameAsGlobal)
253 setups, ignoreSameAsGlobal);
306 QLatin1String(
"findClosestElevationWithinRange"), reference, range);
ContextMode
How to handle a given context.
@ Remote
context runs in a different process.
The class providing facades (the contexts) for all DBus relevant operations.
DBus proxy for Simulator Context.
bool setSimulatorSettings(const swift::misc::simulation::settings::CSimulatorSettings &settings, const swift::misc::simulation::CSimulatorInfo &simulatorInfo)
Set settings for give simulator.
void setMatchingSetup(const swift::misc::simulation::CAircraftMatcherSetup &setup)
Set matching setup.
bool followAircraft(const swift::misc::aviation::CCallsign &callsign)
Follow aircraft im simulator view.
swift::misc::simulation::CSimulatorInternals getSimulatorInternals() const
Simulator setup.
bool isValidationInProgress() const
Validation in progress.
bool testRemoteAircraft(const swift::misc::simulation::CSimulatedAircraft &aircraft, bool add)
Test a remote aircraft.
int removeModelsFromSet(const swift::misc::simulation::CAircraftModelList &removeModels)
Remove models from set.
swift::misc::simulation::CMatchingStatistics getCurrentMatchingStatistics(bool missingOnly) const
Current matching statistics.
bool doMatchingAgain(const swift::misc::aviation::CCallsign &callsign)
Repeat the matching callsign.
bool parseCommandLine(const QString &commandLine, const swift::misc::CIdentifier &originator)
Parse a given command line.
swift::misc::simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const
Simulators which have an initialized model set.
swift::misc::geo::CElevationPlane findClosestElevationWithinRange(const swift::misc::geo::CCoordinateGeodetic &reference, const swift::misc::physical_quantities::CLength &range) const
Find closest elevation (or return NULL)
void setModelSetLoaderSimulator(const swift::misc::simulation::CSimulatorInfo &simulator)
Set the model set loader simulator directly.
swift::misc::CStatusMessageList verifyPrerequisites() const
Verify prerequisites for simulation like an existing model set.
swift::misc::simulation::MatchingLog isMatchingMessagesEnabled() const
Enabled mapping logging?
bool triggerModelSetValidation(const swift::misc::simulation::CSimulatorInfo &simulator)
Trigger model set validation.
bool requestElevationBySituation(const swift::misc::aviation::CAircraftSituation &situation)
Request elevation, there is no guarantee the requested elevation will be available in the provider.
bool isKnownModelInSet(const QString &modelString) const
Known model?
void disableModelsForMatching(const swift::misc::simulation::CAircraftModelList &removedModels, bool incremental)
Remove a model for matching.
swift::misc::simulation::CSimulatorInfo getModelSetLoaderSimulator() const
Get the model set loader simulator directly.
void restoreDisabledModels()
Restore the models removed with CAircraftMatcher::disableModelForMatching.
swift::misc::CStatusMessageList getInterpolationMessages(const swift::misc::aviation::CCallsign &callsign) const
Interpolation messages.
bool resetToModelMatchingAircraft(const swift::misc::aviation::CCallsign &callsign)
Reset model by matching it again.
swift::misc::simulation::CInterpolationAndRenderingSetupGlobal getInterpolationAndRenderingSetupGlobal() const
The global setup.
ISimulator::SimulatorStatus getSimulatorStatus() const
Simulator combined status.
int checkListeners()
Check all listeners enabled if simulator is connected.
int getModelSetCount() const
Number of installed models in simulator eco system.
bool setInterpolationAndRenderingSetupsPerCallsign(const swift::misc::simulation::CInterpolationSetupList &setups, bool ignoreSameAsGlobal)
Set all setups per callsign.
swift::misc::simulation::CSimulatorPluginInfoList getAvailableSimulatorPlugins() const
Return list of available simulator plugins.
swift::misc::simulation::settings::CSimulatorSettings getSimulatorSettings() const
Get the current simulator settings.
swift::misc::simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const
Models for model string.
bool testUpdateRemoteAircraft(const swift::misc::aviation::CCallsign &cs, const swift::misc::aviation::CAircraftSituation &situation, const swift::misc::aviation::CAircraftParts &parts)
Test update remote aircraft.
swift::misc::CStatusMessageList getMatchingMessages(const swift::misc::aviation::CCallsign &callsign) const
Get mapping messages.
void stopSimulatorPlugin(const swift::misc::simulation::CSimulatorPluginInfo &simulatorInfo)
Stop listener or unload the given plugin (if currently loaded)
swift::misc::simulation::CInterpolationSetupList getInterpolationAndRenderingSetupsPerCallsign() const
Get all setups per callsign.
QStringList getModelSetCompleterStrings(bool sorted) const
Model set completer string.
swift::misc::simulation::CInterpolationAndRenderingSetupPerCallsign getInterpolationAndRenderingSetupPerCallsignOrDefault(const swift::misc::aviation::CCallsign &callsign) const
Get the setup for callsign, if not existing the global setup.
swift::misc::simulation::CSimulatorPluginInfo getSimulatorPluginInfo() const
Simulator info, currently loaded plugin.
bool startSimulatorPlugin(const swift::misc::simulation::CSimulatorPluginInfo &simulatorInfo)
Load and start specific simulator plugin.
swift::misc::simulation::CAircraftMatcherSetup getMatchingSetup() const
Get matching setup.
swift::misc::simulation::CAircraftModelList getDisabledModelsForMatching() const
The disabled models for matching.
void recalculateAllAircraft()
Recalculate all aircraft.
QStringList getModelSetStrings() const
Model strings.
void setInterpolationAndRenderingSetupGlobal(const swift::misc::simulation::CInterpolationAndRenderingSetupGlobal &setup)
Set the global setup.
int doMatchingsAgain()
Repeat all matchings.
void enableMatchingMessages(swift::misc::simulation::MatchingLog enabled)
Enable mapping logging.
swift::misc::simulation::CAircraftModelList getModelSet() const
Installed models in simulator eco system.
void relayBaseClassSignals(const QString &serviceName, QDBusConnection &connection, const QString &objectPath, const QString &interfaceName)
Relay signals from this class.
void renderRestrictionsChanged(bool restricted, bool enabled, int maxAircraft, const swift::misc::physical_quantities::CLength &maxRenderedDistance)
Render restrictions have been changed.
void validatedModelSet(const swift::misc::simulation::CSimulatorInfo &simulator, const swift::misc::simulation::CAircraftModelList &valid, const swift::misc::simulation::CAircraftModelList &invalid, bool stopped, const swift::misc::CStatusMessageList &msgs)
Validated model set.
void addingRemoteModelFailed(const swift::misc::simulation::CSimulatedAircraft &aircraft, bool disabled, bool failover, const swift::misc::CStatusMessage &message)
Adding a remote aircraft failed.
static const QString & InterfaceName()
Service name.
void vitalityLost()
A formerly vital driver is no longer vital/responding.
static const QString & ObjectPath()
Service path.
void interpolationAndRenderingSetupChanged()
Setup changed.
void ownAircraftModelChanged(const swift::misc::simulation::CAircraftModel &model)
Emitted when own aircraft model changes.
void simulatorChanged(const swift::misc::simulation::CSimulatorInfo &simulator)
Same as simulatorPluginChanged, only with simulator signature.
void modelSetChanged(const swift::misc::simulation::CSimulatorInfo &simulator)
Model set ready or changed.
void simulatorPluginChanged(const swift::misc::simulation::CSimulatorPluginInfo &info)
Simulator plugin loaded / unloaded (default info)
void modelMatchingCompleted(const swift::misc::simulation::CSimulatedAircraft &aircraft)
A single model has been matched for given aircraft.
void matchingSetupChanged()
Matching setup changed.
void driverMessages(const swift::misc::CStatusMessageList &messages)
Relevant simulator messages to be explicitly displayed.
void simulatorStatusChanged(int status)
Simulator combined status.
void insufficientFrameRateDetected(bool fatal)
Frame rate has fallen too far below the threshold to maintain consistent sim rate.
void simulatorSettingsChanged()
Simulator settings have been changed.
void airspaceSnapshotHandled()
An airspace snapshot was handled.
void aircraftRenderingChanged(const swift::misc::simulation::CSimulatedAircraft &aircraft)
Aircraft rendering changed.
static const QString & coreServiceName()
Default service name.
Used for hand written interface based on virtual methods.
void callDBus(QLatin1String method, Args &&...args)
Call DBus, no return value.
Ret callDBusRet(QLatin1String method, Args &&...args)
Call DBus with synchronous return value.
Value object encapsulating information identifying a component of a modular distributed swift process...
Streamable status message, e.g.
Status messages, e.g. from Core -> GUI.
Value object encapsulating information of aircraft's parts.
Value object encapsulating information of an aircraft's situation.
Value object encapsulating information of a callsign.
Plane of same elevation, can be a single point or larger area (e.g. airport)
Physical unit length (length)
Aircraft model (used by another pilot, my models on disk)
Value object encapsulating a list of aircraft models.
Value object for interpolator and rendering.
Value object for interpolator and rendering per callsign.
Value object for matching statistics.
Comprehensive information of an aircraft.
Simple hardcoded info about the corresponding simulator.
Simulator internals for flight simulators. Those are obtained from a running simulator and represent ...
Describing a simulator plugin.
Value object encapsulating a list of SimulatorInfo objects.
Settings for simulator Driver independent parts (such as directories), also used in model loaders.
Free functions in swift::misc.
bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)
QDBusConnection sessionBus()