acl  3.5.3.0
sqlite_manager.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 #include "../connpool/connect_manager.hpp"
4 
5 #if !defined(ACL_DB_DISABLE)
6 
7 namespace acl {
8 
10 {
11 public:
12  /**
13  * 构造函数
14  * @param charset {const char*} 数据文件名字符集
15  */
16  sqlite_manager(const char* charset = "utf-8");
17  ~sqlite_manager();
18 
19  /**
20  * @param dbfile {const char*} sqlite 数据库的数据文件
21  * @param dblimit {size_t} 数据库连接池最大连接数限制
22  * @return {sqlite_manager&}
23  */
24  sqlite_manager& add(const char* dbfile, size_t dblimit);
25 
26 protected:
27  /**
28  * 基类 connect_manager 虚函数的实现
29  * @param addr {const char*} 服务器监听地址,格式:ip:port
30  * @param count {size_t} 连接池的大小限制,该值为 0 时没有限制
31  * @param idx {size_t} 该连接池对象在集合中的下标位置(从 0 开始)
32  * @return {connect_pool*} 返回创建的连接池对象
33  */
34  connect_pool* create_pool(const char* addr, size_t count, size_t idx);
35 
36 private:
37  // sqlite 数据文件名
38  char* dbfile_;
39  char* charset_;
40  size_t dblimit_;
41 };
42 
43 } // namespace acl
44 
45 #endif // !defined(ACL_DB_DISABLE)
#define ACL_CPP_API