You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

66 lines
2.5 KiB

#ifndef DATABASEMANAGERCORE_H
#define DATABASEMANAGERCORE_H
#include <QObject>
#include <QtSql>
#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<bool, QVariant> read(EDatabaseRequest::eDatabaseRequest databaseRequest,
QList<QVariant> args);
bool write(EDatabaseRequest::eDatabaseRequest databaseRequest,
QList<QVariant> args);
};
#endif //DATABASEMANAGERCORE_H