postgresxx.hpp

Go to the documentation of this file.
00001 /*
00002 _______________________________________________________________________________
00003 
00004                                  SqlWrapperXX
00005 
00006 -------------------------------------------------------------------------------
00007 Copyright (c) 2007 Kai Braaten
00008 
00009 Permission is hereby granted, free of charge, to any person obtaining a copy
00010 of this software and associated documentation files (the "Software"), to deal
00011 in the Software without restriction, including without limitation the rights
00012 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00013 copies of the Software, and to permit persons to whom the Software is
00014 furnished to do so, subject to the following conditions:
00015 
00016 The above copyright notice and this permission notice shall be included in
00017 all copies or substantial portions of the Software.
00018 
00019 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00020 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00021 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00022 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00023 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00024 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00025 THE SOFTWARE.
00026 -------------------------------------------------------------------------------
00027 */
00028 
00029 #ifndef POSTGRESXX_HPP
00030 #define POSTGRESXX_HPP
00031 
00032 #include <libpq-fe.h>
00033 #include "sqldatabase.hpp"
00034 
00036 class PostgresContext : public SqlDatabase
00037 {
00038   friend SqlResult SqlQuery::operator()( const string& );
00039 public:
00053   PostgresContext( const string &dbName = "",
00054                    const string &user = "",
00055                    const string &passwd = "",
00056                    const string &host = "localhost",
00057                    const int port = 0,
00058                    const string &unixSocket = "",
00059                    const unsigned long clientFlags = 0 );
00061   ~PostgresContext();
00062   void close();
00063   string escapeString( const string &original ) const;
00064   string version() const;
00065 
00066 private:
00067   void open();
00068   SqlResult query( const string &sql ) const;
00069   PGconn *handle;
00070   const string _dbName;
00071   const string _user;
00072   const string _passwd;
00073   const string _host;
00074   const int _port;
00075   const string _clientFlags;
00076 };
00077 
00078 #endif // include guard

Generated on Sat Aug 18 16:21:44 2007 for SqlWrapperXX by  doxygen 1.5.0