00001 #ifndef __GEMFIRE_ATTRIBUTESMUTATOR_H__ 00002 #define __GEMFIRE_ATTRIBUTESMUTATOR_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 "ExpirationAction.hpp" 00016 namespace gemfire { 00017 00018 class CacheListener; 00019 class CacheLoader; 00020 class CacheWriter; 00021 00037 class CPPCACHE_EXPORT AttributesMutator : public SharedBase { 00038 00039 private: 00040 00041 RegionPtr m_region; 00042 00043 public: 00044 00047 AttributesMutator( const RegionPtr& region ); 00048 00049 virtual ~AttributesMutator(); 00050 00057 int32_t setEntryIdleTimeout(int32_t idleTimeout); 00058 00063 ExpirationAction::Action setEntryIdleTimeoutAction( ExpirationAction::Action action ); 00064 00071 int32_t setEntryTimeToLive(int32_t timeToLive); 00072 00077 ExpirationAction::Action setEntryTimeToLiveAction(ExpirationAction::Action action); 00078 00085 int32_t setRegionIdleTimeout(int32_t idleTimeout); 00086 00091 ExpirationAction::Action setRegionIdleTimeoutAction(ExpirationAction::Action action); 00092 00099 int32_t setRegionTimeToLive(int32_t timeToLive); 00100 00105 ExpirationAction::Action setRegionTimeToLiveAction(ExpirationAction::Action action); 00106 00113 uint32_t setLruEntriesLimit( uint32_t entriesLimit ); 00114 00119 void setCacheListener(const CacheListenerPtr& aListener); 00120 00126 void setCacheListener(const char* libpath, const char* factoryFuncName); 00127 00132 void setCacheLoader(const CacheLoaderPtr& aLoader); 00133 00139 void setCacheLoader(const char* libpath, const char* factoryFuncName); 00140 00145 void setCacheWriter(const CacheWriterPtr& aWriter); 00146 00152 void setCacheWriter(const char* libpath, const char* factoryFuncName); 00153 00154 }; 00155 00156 }; //namespace gemfire 00157 #endif //ifndef __GEMFIRE_ATTRIBUTESMUTATOR_H__