00001 #ifndef _GEMFIRE_ENTRYEVENT_HPP_ 00002 #define _GEMFIRE_ENTRYEVENT_HPP_ 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 #include "gfcpp_globals.hpp" 00011 #include "gf_types.hpp" 00012 #include "Region.hpp" 00013 #include "CacheableKey.hpp" 00014 #include "UserData.hpp" 00015 00019 namespace gemfire { 00020 00022 class CPPCACHE_EXPORT EntryEvent : public gemfire::SharedBase 00023 { 00024 protected: 00025 00026 RegionPtr m_region; 00027 CacheableKeyPtr m_key; 00028 CacheablePtr m_oldValue; 00029 CacheablePtr m_newValue; 00030 UserDataPtr m_callbackArgument; 00031 bool m_remoteOrigin; 00033 public: 00035 EntryEvent( const RegionPtr& region, 00036 const CacheableKeyPtr& key, 00037 const CacheablePtr& oldValue, 00038 const CacheablePtr& newValue, 00039 const UserDataPtr& aCallbackArgument, 00040 const bool remoteOrigin ); 00041 00043 virtual ~EntryEvent( ) ; 00044 00046 EntryEvent(); 00047 00048 00050 inline RegionPtr getRegion() const 00051 { 00052 return m_region; 00053 } 00054 00056 inline CacheableKeyPtr getKey() const 00057 { 00058 return m_key; 00059 } 00060 00065 inline CacheablePtr getOldValue() const 00066 { 00067 return m_oldValue; 00068 } 00069 00074 inline CacheablePtr getNewValue() const 00075 { 00076 return m_newValue; 00077 } 00078 00084 inline UserDataPtr getCallbackArgument() const 00085 { 00086 return m_callbackArgument; 00087 } 00088 00090 inline bool remoteOrigin() const 00091 { 00092 return m_remoteOrigin; 00093 } 00094 00095 private: 00096 00097 // never implemented. 00098 EntryEvent( const EntryEvent& other ); 00099 void operator = ( const EntryEvent& other ); 00100 00101 00102 00103 }; 00104 00105 } 00106 00107 00108 #endif