swift
|
Load the aircraft for a simulator. More...
Public Types | |
enum | LoadModeFlag { NotSet = 0 , LoadDirectly = 1 << 0 , LoadInBackground = 1 << 1 , CacheFirst = 1 << 2 , CacheSkipped = 1 << 3 , CacheOnly = 1 << 4 , InBackgroundWithCache = LoadInBackground | CacheFirst , InBackgroundNoCache = LoadInBackground | CacheSkipped } |
Parser mode. More... | |
enum | LoadFinishedInfo { CacheLoaded , ParsedData , LoadingSkipped , LoadingFailed } |
Load mode. More... | |
using | ModelConsolidationCallback = std::function< int(swift::misc::simulation::CAircraftModelList &, bool)> |
Callback to consolidate data, normally with DB data. More... | |
![]() | |
enum | TimerId |
Signals | |
void | diskLoadingStarted (const CSimulatorInfo &simulator, IAircraftModelLoader::LoadMode loadMode) |
Disk loading started. More... | |
void | loadingFinished (const CStatusMessageList &status, const CSimulatorInfo &simulator, IAircraftModelLoader::LoadFinishedInfo info) |
Parsing is finished or cache has been loaded. More... | |
void | loadingProgress (const CSimulatorInfo &simulator, const QString &message, int progressPercentage) |
Loading progress, normally from disk. More... | |
void | cacheChanged (const CSimulatorInfo &simulator) |
Relayed from centralized caches. More... | |
Public Member Functions | |
virtual | ~IAircraftModelLoader () |
Destructor. | |
virtual bool | isLoadingFinished () const =0 |
Loading finished? | |
void | startLoading (LoadMode mode=InBackgroundWithCache, const ModelConsolidationCallback &modelConsolidation={}, const QStringList &modelDirectories={}) |
Start the loading process from disk. Optional DB models can be passed and used for data consolidation. | |
bool | isLoadingInProgress () const |
Loading in progress. More... | |
QStringList | getModelDirectoriesOrDefault () const |
Model directories. | |
QString | getFirstModelDirectoryOrDefault () const |
First directory, can be used when only 1 directory is expected. | |
QStringList | getModelExcludeDirectoryPatterns () const |
Exclude directories. | |
const CSimulatorInfo & | getSimulator () const |
Simulator. | |
bool | supportsSimulator (const CSimulatorInfo &simulator) const |
Supported simulator. | |
virtual void | setModels (const CAircraftModelList &models) |
Set models. | |
virtual int | updateModels (const CAircraftModelList &models) |
Update models. | |
![]() | |
QBindable< QString > | bindableObjectName () |
QObject (QObject *parent) | |
QT_NO_CONTEXTLESS_CONNECT QT_NO_CONTEXTLESS_CONNECT | |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUMS (...) | |
Q_ENUM_NS (...) | |
Q_FLAG (...) | |
Q_FLAGS (...) | |
Q_FLAG_NS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qobject_cast (QObject *object) |
T | qobject_cast (const QObject *object) |
bool | blockSignals (bool block) |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
bool | moveToThread (QThread *targetThread) |
bool | setProperty (const char *name, QVariant &&value) |
bool | setProperty (const char *name, const QVariant &value) |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::nanoseconds interval, Qt::TimerType timerType) |
void | deleteLater () |
void | destroyed (QObject *obj) |
void | installEventFilter (QObject *filterObj) |
void | killTimer (Qt::TimerId id) |
void | killTimer (int id) |
void | objectNameChanged (const QString &objectName) |
void | removeEventFilter (QObject *obj) |
void | setObjectName (QAnyStringView name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
QList< QByteArray > | dynamicPropertyNames () const const |
QList< T > | findChildren (QAnyStringView name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
QObject * | parent () const const |
QString | objectName () const const |
QThread * | thread () const const |
QVariant | property (const char *name) const const |
T | findChild (QAnyStringView name, Qt::FindChildOptions options) const const |
T | findChild (Qt::FindChildOptions options) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | inherits (const char *className) const const |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
bool | signalsBlocked () const const |
virtual const QMetaObject * | metaObject () const const |
const QObjectList & | children () const const |
void | dumpObjectInfo () const const |
void | dumpObjectTree () const const |
![]() | |
void | setModelsForSimulator (const CAircraftModelList &models, const CSimulatorInfo &simulator) |
Set models. More... | |
int | updateModelsForSimulator (const CAircraftModelList &models, const CSimulatorInfo &simulator) |
Set models. More... | |
CAircraftModelList | getCachedModels (const CSimulatorInfo &simulator) const |
Look like IMultiSimulatorModelCaches interface. | |
int | getCachedModelsCount (const CSimulatorInfo &simulator) const |
Look like IMultiSimulatorModelCaches interface. | |
QString | getCacheCountAndTimestamp (const CSimulatorInfo &simulator) const |
Look like IMultiSimulatorModelCaches interface. | |
CStatusMessage | setCachedModels (const CAircraftModelList &models, const CSimulatorInfo &simulator) |
Look like IMultiSimulatorModelCaches interface. | |
CStatusMessage | clearCachedModels (const CSimulatorInfo &simulator) |
Look like IMultiSimulatorModelCaches interface. | |
QDateTime | getCacheTimestamp (const CSimulatorInfo &simulator) const |
Look like IMultiSimulatorModelCaches interface. | |
CStatusMessage | setCacheTimestamp (const QDateTime &ts, const CSimulatorInfo &simulator) |
Look like IMultiSimulatorModelCaches interface. | |
void | synchronizeCache (const CSimulatorInfo &simulator) |
Look like IMultiSimulatorModelCaches interface. | |
void | admitCache (const CSimulatorInfo &simulator) |
Look like IMultiSimulatorModelCaches interface. | |
QString | getFilename (const CSimulatorInfo &simulator) const |
Look like IMultiSimulatorModelCaches interface. | |
bool | isSaved (const CSimulatorInfo &simulator) const |
Look like IMultiSimulatorModelCaches interface. | |
QString | getDescription () const |
Look like IMultiSimulatorModelCaches interface. | |
QString | getInfoString () const |
Look like IMultiSimulatorModelCaches interface. | |
QString | getInfoStringFsFamily () const |
Look like IMultiSimulatorModelCaches interface. | |
![]() | |
IModelsForSimulatorSetable () | |
Ctor, dtor, copy operators (CLANG warnings) | |
virtual | ~IModelsForSimulatorSetable () |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsForSimulatorSetable (const IModelsForSimulatorSetable &)=default | |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsForSimulatorSetable & | operator= (const IModelsForSimulatorSetable &)=default |
Ctor, dtor, copy operators (CLANG warnings) | |
![]() | |
IModelsForSimulatorUpdatable () | |
Ctor, dtor, copy operators (CLANG warnings) | |
virtual | ~IModelsForSimulatorUpdatable () |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsForSimulatorUpdatable (const IModelsForSimulatorUpdatable &)=default | |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsForSimulatorUpdatable & | operator= (const IModelsForSimulatorUpdatable &)=default |
Ctor, dtor, copy operators (CLANG warnings) | |
![]() | |
IModelsSetable () | |
Ctor, dtor, copy operators (CLANG warnings) | |
virtual | ~IModelsSetable () |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsSetable (const IModelsSetable &)=default | |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsSetable & | operator= (const IModelsSetable &)=default |
Ctor, dtor, copy operators (CLANG warnings) | |
![]() | |
IModelsUpdatable () | |
Ctor, dtor, copy operators (CLANG warnings) | |
virtual | ~IModelsUpdatable () |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsUpdatable (const IModelsUpdatable &)=default | |
Ctor, dtor, copy operators (CLANG warnings) | |
IModelsUpdatable & | operator= (const IModelsUpdatable &)=default |
Ctor, dtor, copy operators (CLANG warnings) | |
Static Public Member Functions | |
static const QStringList & | getLogCategories () |
Log categories. | |
static bool | isLoadedInfo (LoadFinishedInfo info) |
Loaded info. | |
static const QString & | enumToString (LoadFinishedInfo info) |
Enum as string. | |
static const QString & | enumToString (LoadModeFlag modeFlag) |
Enum as string. | |
static QString | enumToString (LoadMode mode) |
Enum as string. | |
static bool | needsCacheSynchronized (LoadMode mode) |
Is that mode needing caches synchronized? | |
![]() | |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
Protected Member Functions | |
IAircraftModelLoader (const CSimulatorInfo &simulator, QObject *parent=nullptr) | |
Constructor. | |
virtual void | startLoadingFromDisk (LoadMode mode, const ModelConsolidationCallback &modelConsolidation, const QStringList &modelDirectories)=0 |
Start the loading process from disk. | |
QStringList | getInitializedModelDirectories (const QStringList &modelDirectories, const CSimulatorInfo &simulator) const |
Get model directories from settings if empty, otherwise checked and UNC path fixed. | |
bool | hasCachedData () const |
Any cached data? | |
![]() | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
virtual void | timerEvent (QTimerEvent *event) |
QObject * | sender () const const |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
int | senderSignalIndex () const const |
Protected Attributes | |
const CSimulatorInfo | m_simulator |
related simulator | |
std::atomic< bool > | m_loadingInProgress { false } |
loading in progress | |
std::atomic< bool > | m_cancelLoading { false } |
flag, requesting to cancel loading | |
std::atomic< bool > | m_skipLoadingEmptyModelDir |
loading empty model dirs might erase the cache, so normally we skip it More... | |
CStatusMessageList | m_loadingMessages |
loading messages | |
settings::CMultiSimulatorSettings | m_settings { this } |
settings | |
Additional Inherited Members | |
![]() | |
typedef | QObjectList |
Invalid | |
![]() | |
objectName | |
Load the aircraft for a simulator.
Definition at line 34 of file aircraftmodelloader.h.
using swift::misc::simulation::IAircraftModelLoader::ModelConsolidationCallback = std::function<int(swift::misc::simulation::CAircraftModelList &, bool)> |
Callback to consolidate data, normally with DB data.
Definition at line 90 of file aircraftmodelloader.h.
Load mode.
Enumerator | |
---|---|
CacheLoaded | cache was loaded |
ParsedData | parsed data |
LoadingSkipped | loading skipped (empty directory) |
LoadingFailed | loading failed |
Definition at line 65 of file aircraftmodelloader.h.
Parser mode.
Definition at line 51 of file aircraftmodelloader.h.
|
signal |
Relayed from centralized caches.
|
signal |
Disk loading started.
|
inline |
Loading in progress.
Definition at line 106 of file aircraftmodelloader.h.
|
signal |
Parsing is finished or cache has been loaded.
|
signal |
Loading progress, normally from disk.
simulator | corresponding simulator |
message | a progress message which can be sent by each individual loader implementation as needed |
progressPercentage | 0-100 or -1 if not available |
|
protected |
loading empty model dirs might erase the cache, so normally we skip it
Definition at line 165 of file aircraftmodelloader.h.