#ifndef DATABASEMANAGERCORE_H #define DATABASEMANAGERCORE_H #include #include #include "model/databaseManager/utils/XmlReader.h" #include "model/databaseManager/type/EDatabaseRequest.h" #include "model/databaseManager/dto/ProbeProperties/DbmProbeProperties.h" #include "model/databaseManager/dto/ProbeProperties/DbmApplicatoin.h" #include "model/databaseManager/dto/ProbeProperties/DbmPreset.h" #include "model/databaseManager/dto/ProbeProperties/DbmPresetValue.h" #include "model/databaseManager/dto/ProbeProperties/DbmLastConfig.h" #include "model/databaseManager/dto/System/DbmSysParameters.h" #include "model/databaseManager/dto/System/DbmGrayMap.h" #include "model/databaseManager/dto/System/DbmTgc.h" #include "model/databaseManager/dto/System/DbmTintMap.h" #include "model/databaseManager/dto/System/DbmSri.h" #include "model/databaseManager/dto/System/DbmDynamicContrast.h" #include "model/databaseManager/dto/System/DbmCriFilter.h" #include "model/databaseManager/dto/System/DbmEnhance.h" #include "model/databaseManager/dto/Hardware/DbmLineFilter.h" #include "model/databaseManager/dto/Hardware/DbmLpf.h" #include "model/databaseManager/dto/Hardware/DbmApodizationLut.h" #include "model/databaseManager/dto/User/DbmUser.h" #include "model/databaseManager/dto/User/DbmUserGrayMap.h" #include "model/databaseManager/dto/User/DbmUserTgc.h" #include "model/databaseManager/core/DatabaseManagerNames.h" /*************************************************************************************************/ /** * @brief Database manager core class * @author Mohammad Mohsen Talaie * @details * @date 20 sep 2020 */ /*************************************************************************************************/ class DatabaseManagerCore : public QObject { Q_OBJECT private: static QMutex _locker; XmlReader* _xmlReader; XmlReader* _xmlDataReader; QSqlDatabase _databaseDriver = QSqlDatabase::addDatabase("QSQLITE"); QString getDatabaseHomeDirectory(); QString createDbName(QString dbName); DbmDtoGrayMap appendUserGrayMapToMainGrayMapList(const QVariant& userGrayVar, QVariant& grayVar); DbmDtoTgc appendUserTgcToMainTgcList(const QVariant& userTgcVar, QVariant& tgcVar); public: DatabaseManagerCore(); ~DatabaseManagerCore(); void init(); QPair read(EDatabaseRequest::eDatabaseRequest databaseRequest, QList args); bool write(EDatabaseRequest::eDatabaseRequest databaseRequest, QList args); }; #endif //DATABASEMANAGERCORE_H