00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SQLGWCONNECTION_H
00021 #define SQLGWCONNECTION_H
00022 #include<CSql.h>
00023 #include<AbsSqlConnection.h>
00024 #include<SqlFactory.h>
00025 #include<Network.h>
00026
00027 enum GwHandler
00028 {
00029 NoHandler =0,
00030 CSqlHandler = 1,
00031 AdapterHandler =2,
00032 CSqlAndAdapterHandler =3
00033 };
00034 class SqlGwConnection : public AbsSqlConnection
00035 {
00036 Connection dummyConn;
00037 AbsSqlConnection *adapter;
00038 bool isCSqlConnected;
00039 bool isAdapterConnected;
00040 char username[IDENTIFIER_LENGTH];
00041 char password[IDENTIFIER_LENGTH];
00042
00043 public:
00044 GwHandler txnHdlr;
00045 TransSyncMode mode;
00046 SqlGwConnection(){innerConn = NULL; mode = OSYNC; }
00047 void setTxnHandler(GwHandler hdlr) { txnHdlr = hdlr; }
00048 GwHandler getTxnHandler() { return txnHdlr; }
00049
00050 DbRetVal connect (char *user, char * pass);
00051
00052 DbRetVal disconnect();
00053
00054 DbRetVal commit();
00055
00056 DbRetVal rollback();
00057
00058 DbRetVal beginTrans (IsolationLevel isoLevel, TransSyncMode mode = OSYNC);
00059
00060 friend class SqlFactory;
00061
00062 void setAdapter(AbsSqlConnection *conn) { adapter = conn; }
00063 AbsSqlConnection* getAdapterConnection() { return adapter; }
00064
00065 DbRetVal connectCSqlIfNotConnected();
00066 DbRetVal connectAdapterIfNotConnected();
00067
00068
00069 Connection& getConnObject(){ return dummyConn; }
00070 };
00071
00072 #endif