派生自 development/c++

pansen
2018-12-17 ac00f7d508e020e2e5d1a0d497f43155ed34e6a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//
// 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