acl  3.5.3.0
pgsql_conf.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 
4 #if !defined(ACL_CLIENT_ONLY) && !defined(ACL_DB_DISABLE)
5 
6 namespace acl {
7 
9 {
10 public:
11  /**
12  * 构造函数
13  * @param dbaddr {const char*} 服务器地址,地址格式为:ip:port,或
14  * unix_domain_path,当为 unix 域套接口时,应为 unix 域套接口文件
15  * 所在目录且不包含文件名,假设 postgresql 正在监听 unix 域套接口
16  * 的文件为:/tmp/.s.PGSQL.5432,则 dbaddr 地址应设为 /tmp
17  * 注意:注意在连接 unix 域套接口的与 mysql 的不同,mysql 的域套接
18  * 口为全路径
19  * @param dbname {const char*} 数据库名
20  */
21  pgsql_conf(const char* dbaddr, const char* dbname);
22 
23  /**
24  * 拷贝构造函数
25  * @param conf {const pgsql_conf&} 内部将会创建新配置对象并拷贝该参数
26  * 里的内容项
27  */
28  pgsql_conf(const pgsql_conf& conf);
29 
30  ~pgsql_conf(void);
31 
32  /**
33  * 设置连接数据库时的用户账号,当不调用此方法时则不需账号
34  * @param dbuser {const char*} 用户账号,为非空字符串时才有效
35  * @return {pgsql_conf&}
36  */
37  pgsql_conf& set_dbuser(const char* dbuser);
38 
39  /**
40  * 设置连接数据库时的账号密码,当不调用此方法时则不设密码
41  * @param dbpass {const char*} 账号密码,为非空字符串时才有效
42  * @return {pgsql_conf&}
43  */
44  pgsql_conf& set_dbpass(const char* dbpass);
45 
46  /**
47  * 设置数据库连接池最大连接上限
48  * @param dblimit {size_t} 连接池最大连接数限制,当为 0 时则不限制
49  * @return {pgsql_conf&}
50  */
51  pgsql_conf& set_dblimit(size_t dblimit);
52 
53  /**
54  * 设置连接数据库的超时时间
55  * @param timeout {int}
56  * @return {pgsql_conf&}
57  */
58  pgsql_conf& set_conn_timeout(int timeout);
59 
60  /**
61  * 设置读取数据库结果的超时时间
62  * @param timeout {int}
63  * @return {pgsql_conf&}
64  */
65  pgsql_conf& set_rw_timeout(int timeout);
66 
67  /**
68  * 设置数据库连接的字符集
69  * @param charset {const char*}
70  * @return {pgsql_conf&}
71  */
72  pgsql_conf& set_charset(const char* charset);
73 
74  const char* get_dbaddr() const
75  {
76  return dbaddr_;
77  }
78 
79  const char* get_dbname() const
80  {
81  return dbname_;
82  }
83 
84  const char* get_dbkey() const
85  {
86  return dbkey_;
87  }
88 
89  const char* get_dbuser() const
90  {
91  return dbuser_;
92  }
93 
94  const char* get_dbpass() const
95  {
96  return dbpass_;
97  }
98 
99  size_t get_dblimit() const
100  {
101  return dblimit_;
102  }
103 
104  int get_conn_timeout() const
105  {
106  return conn_timeout_;
107  }
108 
109  int get_rw_timeout() const
110  {
111  return rw_timeout_;
112  }
113 
114  const char* get_charset() const
115  {
116  return charset_;
117  }
118 
119 private:
120  char* dbaddr_;
121  char* dbname_;
122  char* dbkey_;
123  char* dbuser_;
124  char* dbpass_;
125  char* charset_;
126  size_t dblimit_;
127  int conn_timeout_;
128  int rw_timeout_;
129 };
130 
131 } // namespace acl
132 
133 #endif // !defined(ACL_CLIENT_ONLY) && !defined(ACL_DB_DISABLE)
const char * get_dbuser() const
Definition: pgsql_conf.hpp:89
const char * get_dbkey() const
Definition: pgsql_conf.hpp:84
const char * get_dbname() const
Definition: pgsql_conf.hpp:79
size_t get_dblimit() const
Definition: pgsql_conf.hpp:99
int get_rw_timeout() const
Definition: pgsql_conf.hpp:109
const char * get_dbaddr() const
Definition: pgsql_conf.hpp:74
#define ACL_CPP_API
int get_conn_timeout() const
Definition: pgsql_conf.hpp:104
const char * get_charset() const
Definition: pgsql_conf.hpp:114
const char * get_dbpass() const
Definition: pgsql_conf.hpp:94