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... | |
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. | |
![]() | |
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? | |
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? | |
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 | |
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.