00001 #ifndef __GEMFIRE_ATTRIBUTESMUTATOR_H__ 00002 #define __GEMFIRE_ATTRIBUTESMUTATOR_H__ 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 00011 #include "gfcpp_globals.hpp" 00012 #include "gf_types.hpp" 00013 #include "ExpirationAction.hpp" 00018 namespace gemfire { 00019 00020 class CacheListener; 00021 class CacheLoader; 00022 class CacheWriter; 00023 00039 class CPPCACHE_EXPORT AttributesMutator : public SharedBase { 00040 00041 private: 00042 00043 RegionPtr m_region; 00044 00045 public: 00046 00049 AttributesMutator( const RegionPtr& region ); 00050 00051 virtual ~AttributesMutator(); 00052 00059 int32_t setEntryIdleTimeout(int32_t idleTimeout); 00060 00065 ExpirationAction::Action setEntryIdleTimeoutAction( ExpirationAction::Action action ); 00066 00073 int32_t setEntryTimeToLive(int32_t timeToLive); 00074 00079 ExpirationAction::Action setEntryTimeToLiveAction(ExpirationAction::Action action); 00080 00087 int32_t setRegionIdleTimeout(int32_t idleTimeout); 00088 00093 ExpirationAction::Action setRegionIdleTimeoutAction(ExpirationAction::Action action); 00094 00101 int32_t setRegionTimeToLive(int32_t timeToLive); 00102 00107 ExpirationAction::Action setRegionTimeToLiveAction(ExpirationAction::Action action); 00108 00115 uint32_t setLruEntriesLimit( uint32_t entriesLimit ); 00116 00121 void setCacheListener(const CacheListenerPtr& aListener); 00122 00128 void setCacheListener(const char* libpath, const char* factoryFuncName); 00129 00134 void setCacheLoader(const CacheLoaderPtr& aLoader); 00135 00141 void setCacheLoader(const char* libpath, const char* factoryFuncName); 00142 00147 void setCacheWriter(const CacheWriterPtr& aWriter); 00148 00154 void setCacheWriter(const char* libpath, const char* factoryFuncName); 00155 00156 }; 00157 00158 }; //namespace gemfire 00159 #endif //ifndef __GEMFIRE_ATTRIBUTESMUTATOR_H__