libpqxx
connection.hxx
1 
13 #ifndef PQXX_H_CONNECTION
14 #define PQXX_H_CONNECTION
15 
16 #include "pqxx/compiler-public.hxx"
17 #include "pqxx/compiler-internal-pre.hxx"
18 
19 #include "pqxx/connectionpolicy.hxx"
20 #include "pqxx/basic_connection.hxx"
21 
22 namespace pqxx
23 {
24 
76 
87 class PQXX_LIBEXPORT connect_direct : public connectionpolicy
88 {
89 public:
92  explicit connect_direct(const std::string &opts) : connectionpolicy{opts} {}
93  virtual handle do_startconnect(handle) override;
94 };
95 
98 
99 
101 
105 class PQXX_LIBEXPORT connect_lazy : public connectionpolicy
106 {
107 public:
110  explicit connect_lazy(const std::string &opts) : connectionpolicy{opts} {}
111  virtual handle do_completeconnect(handle) override;
112 };
113 
114 
117 
118 
120 
126 class PQXX_LIBEXPORT connect_async : public connectionpolicy
127 {
128 public:
131  explicit connect_async(const std::string &opts);
132  virtual handle do_startconnect(handle) override;
133  virtual handle do_completeconnect(handle) override;
134  virtual handle do_dropconnect(handle) noexcept override;
135  virtual bool is_ready(handle) const noexcept override;
136 
137 private:
139  bool m_connecting;
140 };
141 
142 
145 
146 
148 
152 class PQXX_LIBEXPORT connect_null : public connectionpolicy
153 {
154 public:
155  explicit connect_null(const std::string &opts) : connectionpolicy{opts} {}
156 };
157 
158 
161 
166 }
167 
168 #include "pqxx/compiler-internal-post.hxx"
169 
170 #endif
connect_direct(const std::string &opts)
Definition: connection.hxx:92
Nonfunctional, always-down connection policy for testing/debugging purposes.
Definition: connection.hxx:152
Connection policy; creates an immediate connection to a database.
Definition: connection.hxx:87
Base-class template for all libpqxx connection types.
Definition: basic_connection.hxx:45
connect_null(const std::string &opts)
Definition: connection.hxx:155
Asynchronous connection policy; connects "in the background".
Definition: connection.hxx:126
Definition: connectionpolicy.hxx:31
connect_lazy(const std::string &opts)
Definition: connection.hxx:110
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:25
internal::pq::PGconn * handle
Definition: connectionpolicy.hxx:34
Lazy connection policy; causes connection to be deferred until first use.
Definition: connection.hxx:105