IVA/app/HxDataBase.h

149 lines
3.4 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
2023-10-20 23:36:22 +08:00
#define TEMPORARY_LOG_DIRECTORY "log"
#define TEMPORARY_RECORD_DIRECTORY "record"
2023-11-27 14:03:29 +08:00
class HxDataBase
2023-10-20 23:36:22 +08:00
{
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);
static void read_warm_param_config(void);
static void write_warm_param_config(void);
static void read_adas_camera_calibration(void);
static void write_adas_camera_calibration(void);
2023-10-20 23:36:22 +08:00
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;
/* 预录时长 Seconds */
static int recording_prepend_time;
2023-10-20 23:36:22 +08:00
/* FTP地址 */
static QString ftp_address;
/* FTP用户名 */
static QString ftp_username;
/* FTP密码 */
static QString ftp_password;
static QString qamqp_address, qamqp_username, qamqp_password;
/* 算法类型 */
2023-10-20 23:36:22 +08:00
static int algorithm_type;
/* DSM 视频输入源 */
2023-10-20 23:36:22 +08:00
static QString dsm_video_input_source;
/* ADAS 视频输入源 */
2023-10-20 23:36:22 +08:00
static QString adas_video_input_source;
/* BSD 视频输入源 */
2023-10-20 23:36:22 +08:00
static QStringList bsd_video_input_source;
/* BSD 报警区域 */
2023-10-20 23:36:22 +08:00
static QStringList bsd_warn_regions;
/* 报警参数配置 */
static EventWarnParamConfig warm_param_config;
/* ADAS 相机内外参 */
static CameraCalibration adas_camera_calibration;
/* 报警保护时长 */
static QStringList alarm_protect_timestamp;
2023-10-20 23:36:22 +08:00
};
#endif // HXDATABASE_H