00001 #ifndef __GEMFIRE_ATTRIBUTESMUTATOR_H__
00002 #define __GEMFIRE_ATTRIBUTESMUTATOR_H__
00003
00004
00005
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 };
00157 #endif //ifndef __GEMFIRE_ATTRIBUTESMUTATOR_H__