00001 /// @file include/dmlite/cpp/dummy/DummyPool.h 00002 /// @brief A dummy plugin that just delegates calls to a decorated one. 00003 /// @details It makes sense as a base for other decorator plug-ins. 00004 /// @author Alejandro Álvarez Ayllón <aalvarez@cern.ch> 00005 #ifndef DMLITE_CPP_DUMMY_POOL_H 00006 #define DMLITE_CPP_DUMMY_POOL_H 00007 00008 #include "../poolmanager.h" 00009 00010 namespace dmlite { 00011 00012 class DummyPoolManager: public PoolManager { 00013 public: 00014 DummyPoolManager(PoolManager* decorated) throw (DmException); 00015 virtual ~DummyPoolManager(); 00016 00017 virtual void setStackInstance(StackInstance*) throw (DmException); 00018 virtual void setSecurityContext(const SecurityContext*) throw (DmException); 00019 00020 virtual std::vector<Pool> getPools(PoolAvailability availability) throw (DmException); 00021 00022 virtual Pool getPool(const std::string& poolname) throw (DmException); 00023 00024 virtual void newPool(const Pool& pool) throw (DmException); 00025 virtual void updatePool(const Pool& pool) throw (DmException); 00026 virtual void deletePool(const Pool& pool) throw (DmException); 00027 00028 virtual Location whereToRead(ino_t inode) throw (DmException); 00029 virtual Location whereToRead(const std::string& path) throw (DmException); 00030 00031 virtual Location whereToWrite(const std::string& path) throw (DmException); 00032 00033 protected: 00034 PoolManager* decorated_; 00035 }; 00036 00037 }; 00038 00039 #endif // DMLITE_DUMMYPOOL_H