E:/gfcppsancout/product/include/gfcpp/CacheLoader.hpp

Go to the documentation of this file.
00001 #ifndef __GEMFIRE_CACHELOADER_H__
00002 #define __GEMFIRE_CACHELOADER_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 
00013 #include "gfcpp_globals.hpp"
00014 #include "gf_types.hpp"
00015 #include "CacheableKey.hpp"
00016 #include "Cacheable.hpp"
00017 #include "UserData.hpp"
00018 
00019 
00020 namespace gemfire {
00021 
00041 class CPPCACHE_EXPORT CacheLoader
00042 : public SharedBase
00043 {
00044 public:
00058   virtual CacheablePtr load(const RegionPtr& rp,
00059                             const CacheableKeyPtr& key,
00060                             const UserDataPtr& aCallbackArgument) = 0;
00061 
00077    virtual void close( const RegionPtr& rp );
00078 
00079   virtual ~CacheLoader( );
00080 
00081   protected:
00082 
00083   CacheLoader( );
00084 
00085   protected:
00086   // never implemented.
00087     CacheLoader( const CacheLoader& other );
00088     void operator = ( const CacheLoader& other );
00089 
00090 };
00091 
00092 } //namespace
00093 #endif //ifndef __GEMFIRE_CACHELOADER_H__

GemFire C++ Cache API Documentation