00001 #ifndef _GEMFIRE_ENTRYEVENT_HPP_ 00002 #define _GEMFIRE_ENTRYEVENT_HPP_ 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 #include "gfcpp_globals.hpp" 00009 #include "gf_types.hpp" 00010 #include "CacheableKey.hpp" 00011 #include "UserData.hpp" 00012 00016 namespace gemfire { 00017 00019 class CPPCACHE_EXPORT EntryEvent 00020 { 00021 protected: 00022 00023 RegionPtr m_region; 00024 CacheableKeyPtr m_key; 00025 CacheablePtr m_oldValue; 00026 CacheablePtr m_newValue; 00027 bool m_remoteOrigin; 00029 public: 00031 EntryEvent( const RegionPtr& region, 00032 const CacheableKeyPtr& key, 00033 const CacheablePtr& oldValue, 00034 const CacheablePtr& newValue, 00035 const bool remoteOrigin ); 00036 00038 virtual ~EntryEvent( ) ; 00039 00041 EntryEvent(); 00042 00043 00045 RegionPtr getRegion() const; 00046 00048 CacheableKeyPtr getKey() const { 00049 return m_key; 00050 } 00051 00056 CacheablePtr getOldValue() const { 00057 return m_oldValue; 00058 } 00059 00064 CacheablePtr getNewValue() const { 00065 return m_newValue; 00066 } 00067 00069 bool remoteOrigin() const; 00070 00071 private: 00072 00073 // never implemented. 00074 EntryEvent( const EntryEvent& other ); 00075 void operator = ( const EntryEvent& other ); 00076 00077 00078 00079 }; 00080 00081 } 00082 00083 00084 #endif