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 "Region.hpp" 00011 #include "CacheableKey.hpp" 00012 #include "UserData.hpp" 00013 00017 namespace gemfire { 00018 00020 class CPPCACHE_EXPORT EntryEvent 00021 { 00022 protected: 00023 00024 RegionPtr m_region; 00025 CacheableKeyPtr m_key; 00026 CacheablePtr m_oldValue; 00027 CacheablePtr m_newValue; 00028 UserDataPtr m_callbackArgument; 00029 bool m_remoteOrigin; 00031 public: 00033 EntryEvent( const RegionPtr& region, 00034 const CacheableKeyPtr& key, 00035 const CacheablePtr& oldValue, 00036 const CacheablePtr& newValue, 00037 const UserDataPtr& aCallbackArgument, 00038 const bool remoteOrigin ); 00039 00041 virtual ~EntryEvent( ) ; 00042 00044 EntryEvent(); 00045 00046 00048 inline RegionPtr getRegion() const 00049 { 00050 return m_region; 00051 } 00052 00054 inline CacheableKeyPtr getKey() const 00055 { 00056 return m_key; 00057 } 00058 00063 inline CacheablePtr getOldValue() const 00064 { 00065 return m_oldValue; 00066 } 00067 00072 inline CacheablePtr getNewValue() const 00073 { 00074 return m_newValue; 00075 } 00076 00082 inline UserDataPtr getCallbackArgument() const 00083 { 00084 return m_callbackArgument; 00085 } 00086 00088 inline bool remoteOrigin() const 00089 { 00090 return m_remoteOrigin; 00091 } 00092 00093 private: 00094 00095 // never implemented. 00096 EntryEvent( const EntryEvent& other ); 00097 void operator = ( const EntryEvent& other ); 00098 00099 00100 00101 }; 00102 00103 } 00104 00105 00106 #endif