/[PAMELA software]/yodaUtility/YSQLConnection.cpp
ViewVC logotype

Contents of /yodaUtility/YSQLConnection.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Sun Apr 30 11:08:14 2006 UTC (18 years, 7 months ago) by kusanagi
Branch: MAIN
CVS Tags: yodaUtility2_0/00, yodaUtility1_0/00, yodaUtility2_2/00, yodaUtility2_1/00, HEAD
Changes since 1.1: +0 -0 lines
Various utilities for the yoda environment and its related softwares.
YFile 	   	- Inheriths from TFile     - Add custom features to a TFile object.
YException 	- Inheriths from exception - YODA specific Exceptions.
YMcmd	   	- Decoder for the Mcmd packets.
YSQLConnection 	- Singletn class for DB connections.
yodaUtility     - Various functions.
sgp4		- C++ NORAD SGP4/SDP4 Implementation - Developed by Michael F. Henry.

1 #include <log4cxx/logger.h>
2 #include <YSQLConnection.h>
3
4 using namespace log4cxx;
5 using namespace yngn;
6 using namespace yngn::sql;
7 using namespace yngn::YException;
8
9 TSQLServer *YSQLConnection::sqlServer = 0;
10 YSQLConnection *YSQLConnection::sqlConnection = 0;
11 static LoggerPtr logger = Logger::getLogger(_T("yngn.sql.YSQLConnection"));
12
13 /**
14 * Private constructor for the YSQLConnection.
15 * @param URL Path to the database to be used.
16 * @param user Name of the user to open the database connection.
17 * @param psw Password of the user to open the database connection.
18 */
19 YSQLConnection::YSQLConnection(char *URL, char *user, char *psw) throw (YSQLNotConnectedException) {
20 YSQLConnection::sqlServer = TSQLServer::Connect(URL, user, psw);
21 if (YSQLConnection::sqlServer == 0) throw YSQLNotConnectedException("Connection to database failed");
22 }
23
24 /**
25 * Get an instance of YSQLConnection opening a connection to the database.
26 * @param URL Path to the database to be used.
27 * @param user Name of the user to open the database connection.
28 * @param psw Password of the user to open the database connection.
29 */
30 TSQLServer* YSQLConnection::getConnection(char *URL, char *user, char *psw) throw (YSQLNotConnectedException) {
31 if (YSQLConnection::sqlConnection == 0){
32 YSQLConnection::sqlConnection = new YSQLConnection(URL, user, psw);
33 }
34 return sqlServer;
35 }
36
37 /**
38 * Get an instance of YSQLConnection opening a connection to the database.
39 * @param URL Path to the database to be used.
40 * @param fileName Name of the file containing user/password to use for connection.
41
42 TSQLServer* YSQLConnection::getConnection(char *URL, char *fileName) throw (YSQLNotConnectedException) {
43 if (YSQLConnection::sqlConnection == 0){
44 FILE * pFile;
45 long lSize;
46 char * buffer;
47 pFile = fopen (fileName, "r" );
48 // obtain file size.
49 fseek (pFile , 0 , SEEK_END);
50 lSize = ftell (pFile);
51 rewind (pFile);
52 // allocate memory to contain the whole file.
53 buffer = (char*) malloc (lSize);
54 if (buffer == NULL) throw YSQLNotConnectedException("Connection file empty");
55 // copy the file into the buffer.
56 fread (buffer,1,lSize,pFile);
57 // the whole file is loaded in the buffer.
58 // terminate
59 fclose (pFile);
60 YSQLConnection::sqlConnection = new YSQLConnection(URL, user, psw);
61 }
62 return sqlServer;
63 }
64 */
65
66 /**
67 * Get an instance of YSQLConnection if a connection has already been opened connection to the database.
68 */
69 TSQLServer* YSQLConnection::getConnection(void) throw (YSQLNotConnectedException) {
70 if (sqlConnection == NULL) throw YSQLNotConnectedException("Please connect to the database specifing the required parameters");
71 return sqlServer;
72 }
73

  ViewVC Help
Powered by ViewVC 1.1.23