rasdaman complete source
RasdamanConnector.h
Go to the documentation of this file.
1 /*
2  * This file is part of rasdaman community.
3  *
4  * Rasdaman community is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Rasdaman community is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16  *
17  * Copyright 2003 - 2011 Peter Baumann / rasdaman GmbH.
18  *
19  * For more information please see <http://www.rasdaman.org>
20  * or contact Peter Baumann via <baumann@rasdaman.com>.
21  */
22 
23 /*
24  * Contributed to rasdaman by Alexander Herzig, Landcare Research New Zealand
25  */
26 
37 #ifndef RASDAMANCONNECTOR_H_
38 #define RASDAMANCONNECTOR_H_
39 
40 #define ctxrconnector "RasdamanConnector"
41 
42 #include "rasdaman.hh"
43 #include "raslib/error.hh"
44 
45 // postgresql
46 #include "libpq-fe.h"
47 #include "nmlog.h"
48 
50 {
51 public:
52 
66  RasdamanConnector(int rasport, int pgport,
67  std::string hostname, std::string RasDbName,
68  std::string PetaDbName, std::string RasUser,
69  std::string PetaUser, std::string RasPasswd,
70  std::string PetaPasswd);
71 
89  RasdamanConnector(std::string configfile);
90  virtual ~RasdamanConnector();
91 
93  void connect();
95  void disconnect();
96 
98  const r_Database& getDatabase()
99  {
100  return this->m_db;
101  };
103  r_Database::access_status getStatus()
104  {
105  return this->m_db.get_status();
106  };
108  int getPgPort()
109  {
110  return this->m_iPgPort;
111  };
114  {
115  return this->m_iRasPort;
116  };
117 
119  std::string getHostName()
120  {
121  return this->m_sHostName;
122  };
124  std::string getRasDbName()
125  {
126  return this->m_RasDbName;
127  };
129  std::string getPetaDbName()
130  {
131  return this->m_PetaDbName;
132  };
134  std::string getRasUser()
135  {
136  return this->m_RasUser;
137  };
139  std::string getPetaUser()
140  {
141  return this->m_PetaUser;
142  };
143 
146  std::string getPetaPGConnectString(void);
148  const PGconn* getPetaConnection(void);
149 
152  std::string getRasPGConnectString(void);
154  const PGconn* getRasConnection(void);
155 
156 protected:
159 
162  int parseConfig(std::string configfile) throw (r_Error);
163 
165  std::string removeWhiteSpaces(std::string str);
166 
172  std::string m_sHostName;
174  std::string m_RasDbName;
176  std::string m_PetaDbName;
178  std::string m_RasUser;
180  std::string m_PetaUser;
182  std::string m_RasPasswd;
184  std::string m_PetaPasswd;
185 
187  r_Database m_db;
189  PGconn* m_petaconn;
191  PGconn* m_rasconn;
192 };
193 
194 #endif /* RASDAMANCONNECTOR_H_ */
const PGconn * getPetaConnection(void)
r_Database m_db
Definition: RasdamanConnector.h:187
std::string m_RasPasswd
Definition: RasdamanConnector.h:182
std::string removeWhiteSpaces(std::string str)
const r_Database & getDatabase()
Definition: RasdamanConnector.h:98
std::string m_PetaPasswd
Definition: RasdamanConnector.h:184
std::string getPetaUser()
Definition: RasdamanConnector.h:139
Definition: RasdamanConnector.h:49
std::string m_PetaDbName
Definition: RasdamanConnector.h:176
std::string getRasPGConnectString(void)
r_Database::access_status getStatus()
Definition: RasdamanConnector.h:103
PGconn * m_rasconn
Definition: RasdamanConnector.h:191
std::string m_sHostName
Definition: RasdamanConnector.h:172
std::string getRasUser()
Definition: RasdamanConnector.h:134
std::string getHostName()
Definition: RasdamanConnector.h:119
int m_iPgPort
Definition: RasdamanConnector.h:170
std::string m_RasUser
Definition: RasdamanConnector.h:178
int getPgPort()
Definition: RasdamanConnector.h:108
int parseConfig(std::string configfile)
const PGconn * getRasConnection(void)
int getRasPort()
Definition: RasdamanConnector.h:113
PGconn * m_petaconn
Definition: RasdamanConnector.h:189
std::string m_PetaUser
Definition: RasdamanConnector.h:180
int m_iRasPort
Definition: RasdamanConnector.h:168
std::string m_RasDbName
Definition: RasdamanConnector.h:174
std::string getPetaDbName()
Definition: RasdamanConnector.h:129
virtual ~RasdamanConnector()
std::string getPetaPGConnectString(void)
std::string getRasDbName()
Definition: RasdamanConnector.h:124