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) ; 00015 virtual ~DummyPoolManager(); 00016 00017 virtual void setStackInstance(StackInstance*) ; 00018 virtual void setSecurityContext(const SecurityContext*) ; 00019 00020 virtual std::vector<Pool> getPools(PoolAvailability availability) ; 00021 00022 virtual Pool getPool(const std::string& poolname) ; 00023 00024 virtual void newPool(const Pool& pool) ; 00025 virtual void updatePool(const Pool& pool) ; 00026 virtual void deletePool(const Pool& pool) ; 00027 00028 virtual Location whereToRead(ino_t inode) ; 00029 virtual Location whereToRead(const std::string& path) ; 00030 00031 virtual Location whereToWrite(const std::string& path) ; 00032 00033 virtual DmStatus fileCopyPush(const std::string& localsrcpath, const std::string &remotedesturl, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata) ; 00034 00035 virtual DmStatus fileCopyPull(const std::string& localdestpath, const std::string &remotesrcurl, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata) ; 00036 00037 protected: 00038 PoolManager* decorated_; 00039 }; 00040 00041 }; 00042 00043 #endif // DMLITE_DUMMYPOOL_H