//
|
// Created by pans on 4/28/18.
|
//
|
|
#ifndef TESTSQLITE_SQLITEFACEENCAP_H
|
#define TESTSQLITE_SQLITEFACEENCAP_H
|
|
#include "sqliteEncapsulation.h"
|
|
#include "SqliteToolkit.hpp"
|
|
/**
|
* #todo sqlite -> Qt.sqlite
|
*/
|
|
class SqliteFaceEncap : public sqliteEncapsulation {
|
public:
|
explicit SqliteFaceEncap(std::string t_string);
|
|
bool createTable(std::string t_tableName, FieldValues &fieldValues);
|
|
bool updateTable(std::string t_tableName, FieldValues &fieldValues);
|
|
bool deleteTable(std::string t_tableName);
|
|
/***
|
* 根据底库类型获取底库列表
|
* @param type 底库类型
|
* @return 底库列表
|
*/
|
std::vector<std::string> getTableNameList(std::string type);
|
|
TableInfos getTableInfos();
|
|
public:
|
|
std::string addFace(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues);
|
|
bool updateFace(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues);
|
|
std::string addFaceData(std::string t_tableName, AddFaceData &faceData);
|
|
//#todo
|
bool addFaceInfo(std::string t_tableName, FieldValues &fieldValues);
|
|
bool updateFaceData(std::string t_tableName, AddFaceData &faceData);
|
|
bool updateFaceInfo(std::string t_tableName, FieldValues &fieldValues);
|
|
bool deleteFace(std::string t_tableName, std::string uuid);
|
|
private:
|
bool deleteFaceData(std::string t_tableName, std::string uuid);
|
|
public:
|
/***
|
* 根据人脸表名称获取人脸特征列表
|
* @param tableName 表面
|
* @return 人脸特征集合
|
*/
|
FeatureDBWithUrlCache *getFacesFromTable(std::string tableName);
|
|
FaceInfosCache getFaceInfoFromTable(std::string tableName);
|
|
FeatureDBWithUrlCache getFacesFromTableWhereDate(std::string tableName, std::string date);
|
|
|
private:
|
|
void initDB(const char *t_string) const;
|
|
private:
|
sqlite3 *db;
|
char *zErrMsg = 0;
|
std::mutex dataMtx;
|
|
|
|
// FeatureDBCache m_db;
|
|
std::map<std::string, FeatureDBWithUrlCache> m_dbCache;
|
};
|
|
|
#endif //TESTSQLITE_SQLITEFACEENCAP_H
|