00001 #ifndef __GEMFIRE_REGIONENTRY_H__ 00002 #define __GEMFIRE_REGIONENTRY_H__ 00003 /*========================================================================= 00004 * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved. 00005 * This product is protected by U.S. and international copyright 00006 * and intellectual property laws. Pivotal products are covered by 00007 * more patents listed at http://www.pivotal.io/patents. 00008 *======================================================================== 00009 */ 00010 00011 #include "gfcpp_globals.hpp" 00012 #include "gf_types.hpp" 00013 #include "CacheableKey.hpp" 00014 #include "CacheStatistics.hpp" 00015 00020 namespace gemfire { 00021 00022 00023 class RegionInternal; 00024 00038 class CPPCACHE_EXPORT RegionEntry : public SharedBase { 00039 00040 public: 00041 00042 00047 CacheableKeyPtr getKey( ); 00048 00054 CacheablePtr getValue( ); 00055 00060 void getRegion(RegionPtr& region ) ; 00061 00068 void getStatistics(CacheStatisticsPtr& csptr ); 00069 00077 bool isDestroyed() const; 00081 virtual ~RegionEntry(); 00082 00083 private: 00088 RegionEntry(const RegionPtr& region, 00089 const CacheableKeyPtr& key, 00090 const CacheablePtr& value); 00091 RegionPtr m_region ; 00092 CacheableKeyPtr m_key; 00093 CacheablePtr m_value; 00094 CacheStatisticsPtr m_statistics; 00095 bool m_destroyed; 00096 friend class RegionInternal; 00097 }; 00098 00099 } //namespace gemfire 00100 00101 #endif