00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
#include "pqxx/connection_base"
00020 
00021 
00022 
00023 
00024 
00025 
namespace pqxx
00026 {
00027 
00029 
00045 class PQXX_LIBEXPORT connection : 
public connection_base
00046 {
00047 
public:
00049 
00053   connection();                                                         
00054 
00056 
00066   
explicit connection(
const PGSTD::string &ConnInfo);                   
00067 
00069 
00077   
explicit connection(
const char ConnInfo[]);                           
00078 
00079   
virtual ~connection() 
throw ();
00080 
00081 
private:
00082   
virtual void startconnect();
00083   
virtual void completeconnect();
00084 };
00085 
00086 
00088 
00096 class PQXX_LIBEXPORT lazyconnection : 
public connection_base
00097 {
00098 
public:
00100   lazyconnection();                                                     
00101 
00103 
00111   
explicit lazyconnection(
const PGSTD::string &ConnInfo);               
00112 
00114 
00123   
explicit lazyconnection(
const char ConnInfo[]);                       
00124 
00125   
virtual ~lazyconnection() 
throw ();
00126 
00127 
private:
00128   
virtual void startconnect() {}
00129   
virtual void completeconnect();
00130 };
00131 
00132 
00134 class PQXX_LIBEXPORT asyncconnection : 
public connection_base
00135 {
00136 
public:
00138   asyncconnection();                                                    
00139 
00141 
00149   
explicit asyncconnection(
const PGSTD::string &ConnInfo);              
00150 
00152 
00161   
explicit asyncconnection(
const char ConnInfo[]);                      
00162 
00163   
virtual ~asyncconnection() 
throw ();
00164 
00165 
private:
00166   
virtual void startconnect();
00167   
virtual void completeconnect();
00168   
virtual void dropconnect() 
throw () { m_connecting = 
false; }
00169 
00171   
bool m_connecting;
00172 };
00173 
00174 }
00175 
00176