00001 #ifndef GEMFIRE_PARTITION_RESOLVER 00002 #define GEMFIRE_PARTITION_RESOLVER 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 "SharedPtr.hpp" 00010 #include "Cacheable.hpp" 00011 #include <string> 00012 00013 namespace gemfire { 00014 00015 class EntryEvent; 00016 00052 class CPPCACHE_EXPORT PartitionResolver : public SharedBase 00053 { 00058 public: 00062 virtual ~PartitionResolver(); 00063 00068 virtual const char* getName(); 00069 00076 virtual CacheableKeyPtr getRoutingObject(const EntryEvent& opDetails) = 0; 00077 00078 protected: 00082 PartitionResolver(); 00083 00084 private: 00085 // never implemented. 00086 PartitionResolver(const PartitionResolver& other); 00087 void operator =(const PartitionResolver& other); 00088 }; 00089 } 00090 #endif