00001 #ifndef __GEMFIRE_REGIONENTRY_H__ 00002 #define __GEMFIRE_REGIONENTRY_H__ 00003 /*========================================================================= 00004 * (c) Copyright 2002-2007, GemStone Systems, Inc. All Rights Reserved. 00005 * 1260 NW Waterhouse Ave., Suite 200, Beaverton, OR 97006 00006 *======================================================================== 00007 */ 00008 00009 #include "gfcpp_globals.hpp" 00010 #include "gf_types.hpp" 00011 #include "CacheableKey.hpp" 00012 #include "CacheStatistics.hpp" 00013 00018 namespace gemfire { 00019 00020 00021 class RegionInternal; 00022 00036 class CPPCACHE_EXPORT RegionEntry : public SharedBase { 00037 00038 public: 00039 00040 00045 CacheableKeyPtr getKey( ); 00046 00052 CacheablePtr getValue( ); 00053 00058 void getRegion(RegionPtr& region ) ; 00059 00066 void getStatistics(CacheStatisticsPtr& csptr ); 00067 00075 bool isDestroyed() const; 00079 virtual ~RegionEntry(); 00080 00081 private: 00086 RegionEntry(const RegionPtr& region, 00087 const CacheableKeyPtr& key, 00088 const CacheablePtr& value); 00089 RegionPtr m_region ; 00090 CacheableKeyPtr m_key; 00091 CacheablePtr m_value; 00092 CacheStatisticsPtr m_statistics; 00093 bool m_destroyed; 00094 friend class RegionInternal; 00095 }; 00096 00097 } //namespace gemfire 00098 00099 #endif