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
22namespace pqxx
23{
24
77
87class PQXX_LIBEXPORT connect_direct : public connectionpolicy
88{
89public:
92 explicit connect_direct(const std::string &opts) : connectionpolicy{opts} {}
93 virtual handle do_startconnect(handle) override;
94};
95
98
99
101
105class PQXX_LIBEXPORT connect_lazy : public connectionpolicy
106{
107public:
110 explicit connect_lazy(const std::string &opts) : connectionpolicy{opts} {}
111 virtual handle do_completeconnect(handle) override;
112};
113
114
117
118
120
126class PQXX_LIBEXPORT connect_async : public connectionpolicy
127{
128public:
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
137private:
139 bool m_connecting;
140};
141
142
145
146
148
152class PQXX_LIBEXPORT connect_null : public connectionpolicy
153{
154public:
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
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:26
Base-class template for all libpqxx connection types.
Definition: basic_connection.hxx:47
Connection policy; creates an immediate connection to a database.
Definition: connection.hxx:88
connect_direct(const std::string &opts)
Definition: connection.hxx:92
Lazy connection policy; causes connection to be deferred until first use.
Definition: connection.hxx:106
connect_lazy(const std::string &opts)
Definition: connection.hxx:110
Asynchronous connection policy; connects "in the background".
Definition: connection.hxx:127
Nonfunctional, always-down connection policy for testing/debugging purposes.
Definition: connection.hxx:153
connect_null(const std::string &opts)
Definition: connection.hxx:155
Definition: connectionpolicy.hxx:32
internal::pq::PGconn * handle
Definition: connectionpolicy.hxx:34