swift
|
Our runtime. More...
Signals | |
void | updateInfoAvailable (bool success) |
Update info available (cache, web load) | |
void | startUpCompleted (bool success) |
Startup has been completed Will be triggered shortly before starting the event loop. | |
void | coreFacadeStarted () |
Facade started. | |
void | webDataServicesStarted (bool success) |
Web data services started. | |
void | aboutToShutdown () |
About to shutdown. | |
Public Member Functions | |
CApplication (swift::misc::CApplicationInfo::Application application, bool init=true) | |
Constructor. | |
CApplication (const QString &applicationName=executable(), swift::misc::CApplicationInfo::Application application=swift::misc::CApplicationInfo::Unknown, bool init=true) | |
Constructor. | |
~CApplication () | |
Destructor. | |
bool | isAlreadyRunning () const |
True if this swift application is already running (including different versions) | |
virtual void | gracefulShutdown () |
Graceful shutdown. | |
bool | isShuttingDown () const |
Is application shutting down? More... | |
bool | isIncognito () const |
Is incognito mode? More... | |
void | setIncognito (bool incognito) |
Set incognito mode. More... | |
void | toggleIncognito () |
Toggle incognito mode. More... | |
const swift::misc::CApplicationInfo & | getApplicationInfo () const |
swift application running | |
const QString & | getApplicationName () const |
Application name and version. | |
const QString & | getApplicationNameAndVersion () const |
Application name and version. | |
const QString & | getApplicationNameVersionDetailed () const |
Version, name beta and dev info. | |
data::CGlobalSetup | getGlobalSetup () const |
Global setup. More... | |
swift::misc::db::CUpdateInfo | getUpdateInfo () const |
Update info. | |
void | reloadUpdateInfo () |
Reload update info. | |
swift::misc::db::CDistribution | getOwnDistribution () const |
Own distribution. More... | |
const QString & | versionStringDetailed () const |
String with beta, dev. and version. | |
const QString & | swiftVersionString () const |
swift info string | |
const char * | swiftVersionChar () |
swift info string | |
bool | isDeveloperFlagSet () const |
Running with dev.flag? | |
QString | getInfoString (const QString &separator) const |
Comprehensive info. | |
void | restartApplication (const QStringList &newArguments={}, const QStringList &removeArguments={}) |
Stop and restart application. | |
int | exec () |
Finishes initialization and executes the event loop. | |
bool | hasUnsavedSettings () const |
Unsaved settings. | |
void | saveSettingsOnShutdown (bool saveSettings) |
Save settings on shutdown. | |
QStringList | getUnsavedSettingsKeys () const |
All unsaved settings. | |
swift::misc::CStatusMessage | saveSettingsByKey (const QStringList &keys) |
Save all settings. | |
QStringList | argumentsJoined (const QStringList &newArguments={}, const QStringList &removeArguments={}) const |
Current parameters replaced by new arguments without the cmd line argument. | |
void | enableCrashDumpUpload (bool enable) |
Enable crash upload. More... | |
bool | isSupportingCrashpad () const |
Has crashpad support? | |
CInputManager * | getInputManager () const |
The input manager, if available. | |
QPointer< ISimulator > | getISimulator () const |
The simulator plugin, if available. | |
bool | hasSimulator () const |
Simulator object available? | |
swift::misc::shared_state::CDataLinkDBus * | getDataLinkDBus () |
Transport mechanism for sharing state between applications. | |
virtual bool | hasMinimumMappingVersion () const |
Minimum mapping version check. | |
bool | hasSetupReader () const |
Setup reader? | |
CSetupReader * | getSetupReader () const |
Access to setup reader. More... | |
bool | isSetupAvailable () const |
Setup already synchronized. | |
swift::misc::network::CUrl | getVatsimMetarUrl () const |
Consolidated version of METAR URLs, either from CGlobalSetup or CVatsimSetup. More... | |
swift::misc::network::CUrl | getVatsimDataFileUrl () const |
Consolidated version of data file URL, either from CGlobalSetup or CVatsimSetup. More... | |
swift::misc::network::CUrl | getVatsimServerFileUrl () const |
Get URL to file which contains the list of VATSIM servers. | |
swift::misc::network::CUrl | getVatsimFsdHttpUrl () const |
Get VATSIM FSD HTTP URL. | |
virtual bool | start () |
Start services, if not yet parsed call CApplication::parse. | |
cmd line args and parsing of command line options | |
bool | addParserOption (const QCommandLineOption &option) |
bool | addParserOptions (const QList< QCommandLineOption > &options) |
void | addDBusAddressOption () |
CMD line argument for DBus address. | |
QString | getCmdDBusAddressValue () const |
DBus address from CMD line, otherwise "". | |
void | addNetworkOptions () |
Add the network options. | |
void | addAudioOptions () |
Add the audio options. | |
bool | skipSingleApplicationCheck () const |
Skip the single application check. | |
bool | isParserOptionSet (const QString &option) const |
Delegates to QCommandLineParser::isSet. | |
bool | isParserOptionSet (const QCommandLineOption &option) const |
Delegates to QCommandLineParser::isSet. | |
QString | getParserValue (const QString &option) const |
Delegates to QCommandLineParser::value. | |
QString | getParserValue (const QCommandLineOption &option) const |
Delegates to QCommandLineParser::value. | |
bool | parseCommandLineArgsAndLoadSetup () |
Combined function that does a startup check, parses the command line arguments and loads the setup. More... | |
virtual void | cmdLineErrorMessage (const QString &text, const QString &informativeText) const |
Display error message. | |
virtual void | cmdLineErrorMessage (const swift::misc::CStatusMessageList &msgs) const |
Display error message. | |
Context / core facade related | |
bool | supportsContexts (bool ignoreShutdownTest=false) const |
Supports contexts. More... | |
const CCoreFacadeConfig & | getCoreFacadeConfig () const |
The core facade config. | |
swift::misc::CStatusMessageList | initContextsAndStartCoreFacade (const CCoreFacadeConfig &coreConfig) |
Init the contexts part and start core facade. More... | |
swift::misc::CStatusMessageList | startCoreFacadeWithoutContexts () |
Starts the core facade without any contexts. More... | |
swift::misc::CStatusMessageList | initAndStartWebDataServices (CWebReaderFlags::WebReader webReader, const db::CDatabaseReaderConfigList &dbReaderConfig) |
Init web data services and start them. More... | |
CCoreFacade * | getCoreFacade () |
Get the facade. | |
bool | isLocalContext () const |
Local application? (not DBus) | |
bool | isDBusContext () const |
DBus application? (not Local) | |
const CCoreFacade * | getCoreFacade () const |
Get the facade. | |
const context::IContextNetwork * | getIContextNetwork () const |
Direct access to contexts if a CCoreFacade has been initialized. | |
const context::IContextAudio * | getIContextAudio () const |
Direct access to contexts if a CCoreFacade has been initialized. | |
const context::CContextAudioBase * | getCContextAudioBase () const |
Direct access to contexts if a CCoreFacade has been initialized. | |
const context::IContextApplication * | getIContextApplication () const |
Direct access to contexts if a CCoreFacade has been initialized. | |
const context::IContextOwnAircraft * | getIContextOwnAircraft () const |
Direct access to contexts if a CCoreFacade has been initialized. | |
const context::IContextSimulator * | getIContextSimulator () const |
Direct access to contexts if a CCoreFacade has been initialized. | |
context::IContextNetwork * | getIContextNetwork () |
Direct access to contexts if a CCoreFacade has been initialized. | |
context::IContextAudio * | getIContextAudio () |
Direct access to contexts if a CCoreFacade has been initialized. | |
context::CContextAudioBase * | getCContextAudioBase () |
Direct access to contexts if a CCoreFacade has been initialized. | |
context::IContextApplication * | getIContextApplication () |
Direct access to contexts if a CCoreFacade has been initialized. | |
context::IContextOwnAircraft * | getIContextOwnAircraft () |
Direct access to contexts if a CCoreFacade has been initialized. | |
context::IContextSimulator * | getIContextSimulator () |
Direct access to contexts if a CCoreFacade has been initialized. | |
![]() | |
const CIdentifier & | identifier () const |
Get identifier. | |
void | setIdentifier (const CIdentifier &identifier) |
Set identifier, allows to set an external identifier. | |
bool | isMyIdentifier (const CIdentifier &otherIdentifier) const |
My identifier? | |
Static Public Member Functions | |
static CApplication * | instance () |
Similar to. More... | |
static const QStringList & | getLogCategories () |
Own log categories. | |
static swift::misc::CApplicationInfoList | getRunningApplications () |
Information about all running apps (including this one only if exec() has already been called) | |
static bool | isApplicationRunning (swift::misc::CApplicationInfo::Application application) |
Is application running? | |
static QString | getTemporaryDirectory () |
Directory for temporary files. | |
static bool | registerAsRunning () |
Register as running. More... | |
static bool | unregisterAsRunning () |
Unregister from running. More... | |
static void | exit (int retcode=EXIT_SUCCESS) |
Exit application, perform graceful shutdown and exit. | |
static void | processEventsFor (int milliseconds) |
Process all events for some time. More... | |
static QStringList | clearCaches () |
Clear the caches. More... | |
static QStringList | arguments () |
Similar to QCoreApplication::arguments. | |
Protected Member Functions | |
virtual void | displaySetupLoadFailure (swift::misc::CStatusMessageList msgs) |
Display the failures caused by loading the setup file. | |
virtual void | onStartUpCompleted () |
Startup completed. | |
void | init (bool withMetadata) |
Init class, allows to init from swift::gui::CGuiApplication as well (pseudo virtual) | |
virtual bool | parsingHookIn () |
Can be used to parse specialized arguments. | |
virtual void | onCoreFacadeStarted () |
Called when facade/contexts have been started. | |
virtual swift::misc::CStatusMessageList | startHookIn () |
Can be used to start special services. | |
bool | isSet (const QCommandLineOption &option) const |
Flag set or explicitly set to true. | |
swift::misc::CStatusMessageList | startCoreFacade () |
Start the core facade. More... | |
swift::misc::CStatusMessageList | startWebDataServices (CWebReaderFlags::WebReader webReader, const db::CDatabaseReaderConfigList &dbReaderConfig) |
Start the web data services. More... | |
![]() | |
CIdentifiable (const QString &objectName) | |
Use literal based object name. | |
CIdentifiable (QObject *nameProvider) | |
Connect with QObject providing the name. | |
CIdentifiable () | |
Construct without a name. | |
~CIdentifiable () | |
Destructor. | |
CIdentifiable (const CIdentifiable &)=default | |
Copy constructor. | |
CIdentifiable & | operator= (const CIdentifiable &)=default |
Copy assignment operator. | |
Static Protected Member Functions | |
static int | indexOfCommandLineOption (const QCommandLineOption &option, const QStringList &args=CApplication::arguments()) |
Is the command line option represented in the given arguments? | |
static void | argumentsWithoutOption (const QCommandLineOption &option, QStringList &args) |
Arguments without that given option. | |
static const QString & | executable () |
executable name | |
static void | registerMetadata () |
Register metadata. | |
Protected Attributes | |
QList< QCommandLineOption > | m_allOptions |
All registered options. | |
QCommandLineParser | m_parser |
cmd parser | |
QCommandLineOption | m_cmdHelp { "help" } |
help option | |
QCommandLineOption | m_cmdVersion { "version" } |
version option | |
QCommandLineOption | m_cmdDBusAddress { "emptyDBus" } |
DBus address. | |
QCommandLineOption | m_cmdDevelopment { "dev" } |
Development flag. | |
QCommandLineOption | m_cmdClearCache { "clearcache" } |
Clear cache. | |
QCommandLineOption | m_cmdTestCrashpad { "testcrashpad" } |
Test a crasphpad upload. | |
QCommandLineOption | m_cmdSkipSingleApp { "skipsa" } |
Skip test for single application. | |
bool | m_parsed = false |
Parsing accomplished? | |
bool | m_started = false |
Started with success? | |
bool | m_alreadyRunning = false |
Application already running. | |
std::atomic_bool | m_shutdown { false } |
Is being shutdown? | |
std::atomic_bool | m_incognito { false } |
Incognito mode? | |
std::atomic_bool | m_shutdownInProgress { false } |
shutdown in progress? | |
network | |
using | CallbackSlot = swift::misc::CSlot< void(QNetworkReply *)> |
The network reply callback when request is completed. | |
using | ProgressSlot = swift::misc::CSlot< void(int, qint64, qint64, const QUrl &)> |
The progress slot. | |
static constexpr int | NoRedirects = -1 |
network request not allowing redirects | |
static constexpr int | NoLogRequestId = -1 |
network request without logging | |
static constexpr int | DefaultMaxRedirects = 2 |
network request, default for max.redirects | |
void | deleteAllCookies () |
Delete all cookies from cookie manager. | |
const QNetworkAccessManager * | getNetworkAccessManager () const |
Access to access manager. More... | |
QNetworkAccessManager * | getNetworkAccessManager () |
Access to access manager. More... | |
bool | hasWebDataServices () const |
Web data services available? More... | |
CWebDataServices * | getWebDataServices () const |
Get the web data services. More... | |
QNetworkReply * | getFromNetwork (const swift::misc::network::CUrl &url, const CallbackSlot &callback, int maxRedirects=DefaultMaxRedirects) |
Request to get network reply. More... | |
QNetworkReply * | getFromNetwork (const swift::misc::network::CUrl &url, const CallbackSlot &callback, const ProgressSlot &progress, int maxRedirects=DefaultMaxRedirects) |
Request to get network reply. More... | |
QNetworkReply * | getFromNetwork (const swift::misc::network::CUrl &url, int logId, const CallbackSlot &callback, const ProgressSlot &progress, int maxRedirects=DefaultMaxRedirects) |
Request to get network reply, supporting swift::misc::network::CUrlLog. More... | |
QNetworkReply * | getFromNetwork (const QNetworkRequest &request, const CallbackSlot &callback, int maxRedirects=DefaultMaxRedirects) |
Request to get network reply. More... | |
QNetworkReply * | getFromNetwork (const QNetworkRequest &request, const CallbackSlot &callback, const ProgressSlot &progress, int maxRedirects=DefaultMaxRedirects) |
Request to get network reply. More... | |
QNetworkReply * | getFromNetwork (const QNetworkRequest &request, int logId, const CallbackSlot &callback, const ProgressSlot &progress, int maxRedirects=DefaultMaxRedirects) |
Request to get network reply, supporting swift::misc::network::CUrlLog. More... | |
QNetworkReply * | deleteResourceFromNetwork (const QNetworkRequest &request, int logId, const CallbackSlot &callback, int maxRedirects=DefaultMaxRedirects) |
Request to delete a network resource from network, supporting swift::misc::network::CUrlLog. More... | |
QNetworkReply * | postToNetwork (const QNetworkRequest &request, int logId, const QByteArray &data, const CallbackSlot &callback) |
Post to network. More... | |
QNetworkReply * | postToNetwork (const QNetworkRequest &request, int logId, QHttpMultiPart *multiPart, const CallbackSlot &callback) |
Post to network. More... | |
QNetworkReply * | headerFromNetwork (const swift::misc::network::CUrl &url, const CallbackSlot &callback, int maxRedirects=NoRedirects) |
Request to get network repy using HTTP's HEADER method. More... | |
QNetworkReply * | headerFromNetwork (const QNetworkRequest &request, const CallbackSlot &callback, int maxRedirects=NoRedirects) |
Request to get network repy using HTTP's HEADER method. More... | |
QNetworkReply * | downloadFromNetwork (const swift::misc::network::CUrl &url, const QString &saveAsFileName, const swift::misc::CSlot< void(const swift::misc::CStatusMessage &)> &callback, int maxRedirects=DefaultMaxRedirects) |
Download file from network and store it as passed. More... | |
Our runtime.
Normally one instance is to be initialized at the beginning of main, and thereafter it can be used everywhere via QApplication::instance
Definition at line 86 of file application.h.
bool swift::core::CApplication::addParserOption | ( | const QCommandLineOption & | option | ) |
Definition at line 923 of file application.cpp.
bool swift::core::CApplication::addParserOptions | ( | const QList< QCommandLineOption > & | options | ) |
Definition at line 929 of file application.cpp.
|
static |
QNetworkReply * swift::core::CApplication::deleteResourceFromNetwork | ( | const QNetworkRequest & | request, |
int | logId, | ||
const CallbackSlot & | callback, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to delete a network resource from network, supporting swift::misc::network::CUrlLog.
Definition at line 520 of file application.cpp.
QNetworkReply * swift::core::CApplication::downloadFromNetwork | ( | const swift::misc::network::CUrl & | url, |
const QString & | saveAsFileName, | ||
const swift::misc::CSlot< void(const swift::misc::CStatusMessage &)> & | callback, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Download file from network and store it as passed.
Definition at line 571 of file application.cpp.
void swift::core::CApplication::enableCrashDumpUpload | ( | bool | enable | ) |
Enable crash upload.
Definition at line 1276 of file application.cpp.
QNetworkReply * swift::core::CApplication::getFromNetwork | ( | const QNetworkRequest & | request, |
const CallbackSlot & | callback, | ||
const ProgressSlot & | progress, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to get network reply.
Definition at line 502 of file application.cpp.
QNetworkReply * swift::core::CApplication::getFromNetwork | ( | const QNetworkRequest & | request, |
const CallbackSlot & | callback, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to get network reply.
Definition at line 495 of file application.cpp.
QNetworkReply * swift::core::CApplication::getFromNetwork | ( | const QNetworkRequest & | request, |
int | logId, | ||
const CallbackSlot & | callback, | ||
const ProgressSlot & | progress, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to get network reply, supporting swift::misc::network::CUrlLog.
Definition at line 509 of file application.cpp.
QNetworkReply * swift::core::CApplication::getFromNetwork | ( | const swift::misc::network::CUrl & | url, |
const CallbackSlot & | callback, | ||
const ProgressSlot & | progress, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to get network reply.
Definition at line 483 of file application.cpp.
QNetworkReply * swift::core::CApplication::getFromNetwork | ( | const swift::misc::network::CUrl & | url, |
const CallbackSlot & | callback, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to get network reply.
Definition at line 476 of file application.cpp.
QNetworkReply * swift::core::CApplication::getFromNetwork | ( | const swift::misc::network::CUrl & | url, |
int | logId, | ||
const CallbackSlot & | callback, | ||
const ProgressSlot & | progress, | ||
int | maxRedirects = DefaultMaxRedirects |
||
) |
Request to get network reply, supporting swift::misc::network::CUrlLog.
Definition at line 489 of file application.cpp.
CGlobalSetup swift::core::CApplication::getGlobalSetup | ( | ) | const |
|
inline |
Access to access manager.
Definition at line 431 of file application.h.
|
inline |
Access to access manager.
Definition at line 427 of file application.h.
CDistribution swift::core::CApplication::getOwnDistribution | ( | ) | const |
Own distribution.
Definition at line 282 of file application.cpp.
CSetupReader * swift::core::CApplication::getSetupReader | ( | ) | const |
Access to setup reader.
Definition at line 1217 of file application.cpp.
CUrl swift::core::CApplication::getVatsimDataFileUrl | ( | ) | const |
Consolidated version of data file URL, either from CGlobalSetup or CVatsimSetup.
Definition at line 1240 of file application.cpp.
CUrl swift::core::CApplication::getVatsimMetarUrl | ( | ) | const |
Consolidated version of METAR URLs, either from CGlobalSetup or CVatsimSetup.
Definition at line 1228 of file application.cpp.
CWebDataServices * swift::core::CApplication::getWebDataServices | ( | ) | const |
Get the web data services.
Definition at line 356 of file application.cpp.
bool swift::core::CApplication::hasWebDataServices | ( | ) | const |
Web data services available?
Definition at line 350 of file application.cpp.
QNetworkReply * swift::core::CApplication::headerFromNetwork | ( | const QNetworkRequest & | request, |
const CallbackSlot & | callback, | ||
int | maxRedirects = NoRedirects |
||
) |
Request to get network repy using HTTP's HEADER method.
Definition at line 563 of file application.cpp.
QNetworkReply * swift::core::CApplication::headerFromNetwork | ( | const swift::misc::network::CUrl & | url, |
const CallbackSlot & | callback, | ||
int | maxRedirects = NoRedirects |
||
) |
Request to get network repy using HTTP's HEADER method.
Definition at line 558 of file application.cpp.
CStatusMessageList swift::core::CApplication::initAndStartWebDataServices | ( | CWebReaderFlags::WebReader | webReader, |
const db::CDatabaseReaderConfigList & | dbReaderConfig | ||
) |
Init web data services and start them.
Definition at line 696 of file application.cpp.
CStatusMessageList swift::core::CApplication::initContextsAndStartCoreFacade | ( | const CCoreFacadeConfig & | coreConfig | ) |
Init the contexts part and start core facade.
Definition at line 664 of file application.cpp.
|
static |
Similar to.
Definition at line 905 of file application.cpp.
bool swift::core::CApplication::isIncognito | ( | ) | const |
Is incognito mode?
Definition at line 242 of file application.cpp.
bool swift::core::CApplication::isShuttingDown | ( | ) | const |
Is application shutting down?
Definition at line 240 of file application.cpp.
bool swift::core::CApplication::parseCommandLineArgsAndLoadSetup | ( | ) |
Combined function that does a startup check, parses the command line arguments and loads the setup.
Definition at line 969 of file application.cpp.
QNetworkReply * swift::core::CApplication::postToNetwork | ( | const QNetworkRequest & | request, |
int | logId, | ||
const QByteArray & | data, | ||
const CallbackSlot & | callback | ||
) |
Post to network.
Definition at line 531 of file application.cpp.
QNetworkReply * swift::core::CApplication::postToNetwork | ( | const QNetworkRequest & | request, |
int | logId, | ||
QHttpMultiPart * | multiPart, | ||
const CallbackSlot & | callback | ||
) |
Post to network.
multiPart
. Definition at line 541 of file application.cpp.
|
static |
Process all events for some time.
Definition at line 654 of file application.cpp.
|
static |
Register as running.
Definition at line 168 of file application.cpp.
void swift::core::CApplication::setIncognito | ( | bool | incognito | ) |
Set incognito mode.
Definition at line 244 of file application.cpp.
|
protected |
Start the core facade.
Definition at line 717 of file application.cpp.
CStatusMessageList swift::core::CApplication::startCoreFacadeWithoutContexts | ( | ) |
Starts the core facade without any contexts.
Definition at line 684 of file application.cpp.
|
protected |
Start the web data services.
Definition at line 740 of file application.cpp.
bool swift::core::CApplication::supportsContexts | ( | bool | ignoreShutdownTest = false | ) | const |
Supports contexts.
Definition at line 1126 of file application.cpp.
void swift::core::CApplication::toggleIncognito | ( | ) |
Toggle incognito mode.
Definition at line 246 of file application.cpp.
|
static |
Unregister from running.
Definition at line 183 of file application.cpp.