/export/rook2/users/build/gfcppsancout64/product/include/gfcpp/CacheTransactionManager.hpp

00001 #ifndef CACHETRANSACTIONMANAGER_H_
00002 #define CACHETRANSACTIONMANAGER_H_
00003 
00004 /*=========================================================================
00005  * (c) Copyright 2002-2007, GemStone Systems, Inc. All Rights Reserved.
00006  * 1260 NW Waterhouse Ave., Suite 200,  Beaverton, OR 97006
00007  *
00008  * The specification of function behaviors is found in the corresponding .cpp file.
00009  *
00010  *========================================================================
00011  */
00012 
00013 //#### Warning: DO NOT directly include Region.hpp, include Cache.hpp instead.
00014 
00015 #include "gfcpp_globals.hpp"
00016 #include "gf_types.hpp"
00017 
00018 
00019 namespace gemfire {
00020 
00021 class CPPCACHE_EXPORT CacheTransactionManager: public gemfire::SharedBase {
00022 public:
00029         virtual void begin() = 0;
00030 
00057         virtual void commit() = 0;
00058 
00067         virtual void rollback() = 0;
00068 
00078     virtual TransactionIdPtr suspend() = 0;
00079  
00092     virtual void resume(TransactionIdPtr transactionId) = 0;
00093 
00104     virtual bool isSuspended(TransactionIdPtr transactionId) = 0;
00105 
00123      virtual bool tryResume(TransactionIdPtr transactionId) = 0;
00124 
00145      virtual bool tryResume(TransactionIdPtr transactionId, int32_t waitTimeInMilliSec) = 0;
00146      
00158     virtual bool exists(TransactionIdPtr transactionId) = 0;
00159 
00166     virtual TransactionIdPtr getTransactionId() = 0;
00167 
00174           virtual bool exists() = 0;
00175 
00176 protected:
00177         CacheTransactionManager();
00178         virtual ~CacheTransactionManager();
00179 };
00180 
00181 }
00182 
00183 #endif /* CACHETRANSACTIONMANAGER_H_ */

GemFire C++ Cache API Documentation