IVA/app/HxDataBase.h

134 lines
2.8 KiB
C
Raw Normal View History

2023-10-20 23:36:22 +08:00
#ifndef HXDATABASE_H
#define HXDATABASE_H
#include <QDateTime>
#include <QMutex>
#include <QSqlQuery>
#include <QStorageInfo>
#include <QSqlDatabase>
#include <QVariant>
#include <QString>
#include "MvObjectEventDetect.h"
#define BSD_MAX_CHANNEL 6
class DataBase
{
private:
/**
* @brief
* @param filepath
* @param connectionName
* @return QSqlDatabase
*/
static QSqlDatabase open(QString filepath, QString connectionName);
/**
* @brief
* @param connectionName
*/
static void close(QString connectionName);
/**
* @brief Setting
* @param name name字段值
* @return
*/
static QVariant read_setting(QString name);
/**
* @brief Setting (int)
* @param name name字段值
* @param defaultValue (int)
* @return (int)
*/
static int read_setting(QString name, int defaultValue);
/**
* @brief Setting (bool)
* @param name name字段值
* @param defaultValue (bool)
* @return (bool)
*/
static bool read_setting(QString name, bool defaultValue);
/**
* @brief Setting (string)
* @param name name字段值
* @param defaultValue (string)
* @return (string)
*/
static QString read_setting(QString name, QString defaultValue);
/**
* @brief Setting
* @param name name字段值
* @param value
*/
static void write_setting(QString name, QString value);
public:
/**
* @brief
*/
static void initialization();
/**
* @brief
* @return true: ; false: ;
*/
static bool save_setting();
/**
* @brief BSD报警区域
* @param channel
* @return BsdWarnRegion
*/
static BsdWarnRegion get_bsd_warn_region(int channel);
private:
static QMutex mutex;
static QSqlDatabase database;
public:
/* 设备编号 */
static QString device_id;
/* FTP地址 */
static QString ftp_address;
/* FTP用户名 */
static QString ftp_username;
/* FTP密码 */
static QString ftp_password;
/**
*
*/
static int algorithm_type;
/**
* DSM
*/
static QString dsm_video_input_source;
/**
* ADAS
*/
static QString adas_video_input_source;
/**
* BSD
*/
static QStringList bsd_video_input_source;
/**
* BSD
*/
static QStringList bsd_warn_regions;
};
#endif // HXDATABASE_H