00001 #ifndef CACHETRANSACTIONMANAGER_H_
00002 #define CACHETRANSACTIONMANAGER_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "gfcpp_globals.hpp"
00018 #include "gf_types.hpp"
00019
00020
00021 namespace gemfire {
00022
00023 class CPPCACHE_EXPORT CacheTransactionManager: public gemfire::SharedBase {
00024 public:
00031 virtual void begin() = 0;
00032
00059 virtual void commit() = 0;
00060
00069 virtual void rollback() = 0;
00070
00080 virtual TransactionIdPtr suspend() = 0;
00081
00094 virtual void resume(TransactionIdPtr transactionId) = 0;
00095
00106 virtual bool isSuspended(TransactionIdPtr transactionId) = 0;
00107
00125 virtual bool tryResume(TransactionIdPtr transactionId) = 0;
00126
00147 virtual bool tryResume(TransactionIdPtr transactionId, int32_t waitTimeInMilliSec) = 0;
00148
00160 virtual bool exists(TransactionIdPtr transactionId) = 0;
00161
00168 virtual TransactionIdPtr getTransactionId() = 0;
00169
00176 virtual bool exists() = 0;
00177
00178 protected:
00179 CacheTransactionManager();
00180 virtual ~CacheTransactionManager();
00181 };
00182
00183 }
00184
00185 #endif