4#ifndef DMLITE_CPP_POOLMANAGER_H
5#define DMLITE_CPP_POOLMANAGER_H
7#include "dmlite/common/config.h"
91 virtual void getDirSpaces(
const std::string& path, int64_t &totalfree, int64_t &used) ;
Base class for factories.
Definition base.h:48
Base class for interfaces.
Definition base.h:18
Helpful typedef for KeyValue containers.
Definition extensible.h:20
Represent the complete location of a file.
Definition pooldriver.h:50
CatalogInterface can only be instantiated through this class.
Definition dmlite.h:42
Internal interface for handling pool metadata.
Definition poolmanager.h:22
bool operator<(const Pool &) const
bool operator!=(const Pool &) const
std::string name
Definition poolmanager.h:24
std::string type
Definition poolmanager.h:25
bool operator==(const Pool &) const
bool operator>(const Pool &) const
Plug-ins must implement a concrete factory to be instantiated.
Definition poolmanager.h:109
static PoolManager * createPoolManager(PoolManagerFactory *factory, PluginManager *pm)
Children of PoolManagerFactory are allowed to instantiate too (decorator)
virtual ~PoolManagerFactory()
Virtual destructor.
virtual PoolManager * createPoolManager(PluginManager *pm)
Instantiate a implementation of Pool.
Interface for pool types.
Definition poolmanager.h:41
virtual void newPool(const Pool &pool)
Create a new pool.
virtual void updatePool(const Pool &pool)
Update pool metadata.
virtual Location whereToRead(const std::string &path)
virtual Location whereToRead(ino_t inode)
virtual void getDirSpaces(const std::string &path, int64_t &totalfree, int64_t &used)
virtual void deletePool(const Pool &pool)
Remove a pool.
PoolAvailability
Definition poolmanager.h:43
@ kForBoth
Definition poolmanager.h:43
@ kForWrite
Definition poolmanager.h:43
@ kForRead
Definition poolmanager.h:43
@ kNone
Definition poolmanager.h:43
@ kAny
Definition poolmanager.h:43
virtual DmStatus fileCopyPush(const std::string &localsrcpath, const std::string &remotedesturl, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata)
virtual Location whereToWrite(const std::string &path)
virtual DmStatus fileCopyPull(const std::string &localdestpath, const std::string &remotesrcurl, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata)
virtual Location chooseServer(const std::string &path)
virtual ~PoolManager()
Destructor.
virtual Pool getPool(const std::string &poolname)
Get a specific pool.
virtual std::vector< Pool > getPools(PoolAvailability availability=kAny)
virtual void cancelWrite(const Location &loc)
Exceptions used by the API.
Extensible types (hold metadata).
Namespace for the dmlite C++ API.
Definition authn.h:16
struct dmlite::xferprogmarker xferprogmarker
Progress markers for file copies. FTS jargon calls these "FTS performance markers" beware,...
C wrapper for DMLite Pool API.
Progress markers for file copies. FTS jargon calls these "FTS performance markers" beware,...
Definition poolmanager.h:35
int64_t xferred
Definition poolmanager.h:36
Progress markers for file copies. FTS jargon calls these "FTS performance markers".
Definition pool.h:73