ewmscp  ..
inputHandlerDummy.h
Go to the documentation of this file.
1 #ifndef __inputHandlerDummy_h__
2 #define __inputHandlerDummy_h__
3 #include "inputHandler.h"
4 #include <Options.h>
5 #include <deque>
6 #include <dirent.h>
7 #include <string>
8 #include <sys/stat.h>
9 #include <sys/types.h>
10 
11 
12 namespace inputHandler {
13 
14  class dummy: public base, virtual public pathHandler {
16  static const block& randomBlock();
22  static genericStat::clock_type::time_point mTime;
23  public:
24  class readerDummy: public reader, virtual public ioHandle {
25  size_t size;
26  public:
27  readerDummy(const std::string& aPath,
29  const genericStat& inititalStat);
30  ~readerDummy() override;
31  bool parallelizable() const override;
32  bool readBlock(block &b) override;
33  void readBlockP(block& b, size_t bytesToRead, off_t offset) override;
34  void checkUnchangedness() override;
35  std::unique_ptr<const genericStat> getStat() override;
36  };
37  dummy();
38  ~dummy() override = default;
39  std::unique_ptr<reader> newReader(const std::string& aPath,
41  const genericStat& inititalStat) override;
42  bool pathExists(const std::string&) override;
43  std::unique_ptr<const genericStat> getStat(const std::string& path,
44  bool followLink) override;
45 
46  class DummyDirectory: public Directory {
47  unsigned int nFilesLeft;
48  unsigned int nDirsLeft;
49  unsigned int level;
50  public:
51  DummyDirectory(const std::string& path);
52  ~DummyDirectory() noexcept(false) override;
53  std::unique_ptr<Entry> getNextEntry(bool ignoreMissing) override;
54  };
55  std::unique_ptr<Directory> getDirectory(const std::string& path) override;
56 
57  };
58 
59 } // end namespace inputHandler
60 #endif
inputHandler::dummy::~dummy
~dummy() override=default
inputHandler::dummy::readerDummy
Definition: inputHandlerDummy.h:24
inputHandler::dummy::readerDummy::~readerDummy
~readerDummy() override
Definition: inputHandlerDummy.cpp:63
options::single
generic option class with any type that can be used with std::istream and std::ostream
Definition: Options.h:533
inputHandler::dummy::readerDummy::readBlock
bool readBlock(block &b) override
read one block from the file
Definition: inputHandlerDummy.cpp:71
inputHandler
Definition: inputHandler.h:29
inputHandler::dummy::DummyDirectory
Definition: inputHandlerDummy.h:46
inputHandler::dummy::DummyDirectory::level
unsigned int level
Definition: inputHandlerDummy.h:49
options::single< bool >
class specialisation for options of type bool
Definition: Options.h:595
inputHandler::dummy::DummyDirectory::~DummyDirectory
~DummyDirectory() noexcept(false) override
Definition: inputHandlerDummy.cpp:165
genericStat
generic stat abstraction class Used to abstract the variants of the stat structure.
Definition: genericStat.h:12
inputHandler::dummy::dummy
dummy()
Definition: inputHandlerDummy.cpp:41
inputHandler::dummy::noCopy
static options::single< bool > noCopy
Definition: inputHandlerDummy.h:21
inputHandler::base::factoryTemplate
Definition: inputHandler.h:55
copyRequest::stateType
Definition: copyRequestTypes.h:66
inputHandler::dummy::maxSize
static options::single< options::postFixedNumber< size_t > > maxSize
Definition: inputHandlerDummy.h:20
inputHandler::dummy::DummyDirectory::getNextEntry
std::unique_ptr< Entry > getNextEntry(bool ignoreMissing) override
Definition: inputHandlerDummy.cpp:167
Options.h
inputHandler::dummy::readerDummy::getStat
std::unique_ptr< const genericStat > getStat() override
Definition: inputHandlerDummy.cpp:112
inputHandler::dummy::nDirs
static options::container< unsigned int > nDirs
Definition: inputHandlerDummy.h:18
inputHandler::dummy::factory
static factoryTemplate< dummy > factory
Definition: inputHandlerDummy.h:15
options::container< unsigned int >
inputHandler::dummy::readerDummy::readBlockP
void readBlockP(block &b, size_t bytesToRead, off_t offset) override
read one block from the file, starting at offset.
Definition: inputHandlerDummy.cpp:93
block
data block, used to hold the data that are being copied (or checksummed).
Definition: block.h:7
inputHandler::dummy::DummyDirectory::nFilesLeft
unsigned int nFilesLeft
Definition: inputHandlerDummy.h:47
inputHandler::dummy::DummyDirectory::nDirsLeft
unsigned int nDirsLeft
Definition: inputHandlerDummy.h:48
inputHandler::dummy::pathExists
bool pathExists(const std::string &) override
Definition: inputHandlerDummy.cpp:116
inputHandler::dummy::minSize
static options::single< options::postFixedNumber< size_t > > minSize
Definition: inputHandlerDummy.h:19
inputHandler::dummy::mTime
static genericStat::clock_type::time_point mTime
Definition: inputHandlerDummy.h:22
pathHandler
Definition: pathHandler.h:6
inputHandler::dummy::readerDummy::readerDummy
readerDummy(const std::string &aPath, copyRequest::stateType &state, const genericStat &inititalStat)
Definition: inputHandlerDummy.cpp:56
inputHandler::base
class for handling input This is the (abstract) base class for handling input, both reading a file vi...
Definition: inputHandler.h:35
inputHandler::dummy::newReader
std::unique_ptr< reader > newReader(const std::string &aPath, copyRequest::stateType &state, const genericStat &inititalStat) override
get a reader for the file at path
Definition: inputHandlerDummy.cpp:44
inputHandler::dummy::readerDummy::checkUnchangedness
void checkUnchangedness() override
check if the file is unchanged by comparing cuttent stat to initial stat
Definition: inputHandlerDummy.cpp:109
inputHandler::dummy::readerDummy::parallelizable
bool parallelizable() const override
tell if this handler is capable of parallel IO. Unsually not the case
Definition: inputHandlerDummy.cpp:68
inputHandler::dummy::getDirectory
std::unique_ptr< Directory > getDirectory(const std::string &path) override
Definition: inputHandlerDummy.cpp:199
inputHandler::dummy::randomBlock
static const block & randomBlock()
Definition: inputHandlerDummy.cpp:24
ioHandle
class as base for inputHandler::base::reader and outputHandler::base::writer containing the common pa...
Definition: ioHandle.h:15
inputHandler::dummy::DummyDirectory::DummyDirectory
DummyDirectory(const std::string &path)
Definition: inputHandlerDummy.cpp:141
inputHandler::dummy::readerDummy::size
size_t size
Definition: inputHandlerDummy.h:25
inputHandler::base::reader
(abstract) class for reading a file An instance of this class is used to read data from a file vie th...
Definition: inputHandler.h:72
inputHandler::dummy::nFiles
static options::container< unsigned int > nFiles
Definition: inputHandlerDummy.h:17
inputHandler::dummy
Definition: inputHandlerDummy.h:14
inputHandler.h
inputHandler::dummy::getStat
std::unique_ptr< const genericStat > getStat(const std::string &path, bool followLink) override
Definition: inputHandlerDummy.cpp:119