00001 #ifndef GEMFIRE_PARTITION_RESOLVER 00002 #define GEMFIRE_PARTITION_RESOLVER 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 "SharedPtr.hpp" 00012 #include "Cacheable.hpp" 00013 #include <string> 00014 00015 namespace gemfire { 00016 00017 class EntryEvent; 00018 00054 class CPPCACHE_EXPORT PartitionResolver : public SharedBase 00055 { 00060 public: 00064 virtual ~PartitionResolver(); 00065 00070 virtual const char* getName(); 00071 00078 virtual CacheableKeyPtr getRoutingObject(const EntryEvent& opDetails) = 0; 00079 00080 protected: 00084 PartitionResolver(); 00085 00086 private: 00087 // never implemented. 00088 PartitionResolver(const PartitionResolver& other); 00089 void operator =(const PartitionResolver& other); 00090 }; 00091 } 00092 #endif