ewmscp  ..
outputHandler.cpp
Go to the documentation of this file.
1 #include "outputHandler.h"
2 #include "copyRequestTypes.h"
3 #include <sys/types.h>
4 #include <unistd.h>
5 
6 
7 
8 namespace outputHandler {
9  std::unique_ptr<base::writer> base::newTmpWriter(std::string& path,
10  size_t sourceSize,
11  bool noWrite,
12  std::unique_ptr<ioHandle::attrDataType> attrData,
13  std::unique_ptr<acl::list> aclData) {
14  {
15  std::string suffix(".");
16  suffix += std::to_string(copyRequest::clock_type::now().time_since_epoch().count());
17  suffix += std::to_string(getpid());
18  suffix += ".tmp";
19  shortenNameToMax(path,path,suffix);
20  path += suffix;
21  }
23  return newWriter(path, false, sourceSize, 0, dummy, noWrite,
24  std::move(attrData),
25  std::move(aclData));
26  }
27  void base::writer::seek(size_t /*position*/) {
28  throw unimplementedActionError("seek not implemented");
29  }
30  size_t base::writer::getSize() const {
31  throw unimplementedActionError("getSize not implemented");
32  return 0;
33  }
34  size_t base::getMaxNameLength(const std::string& /* dirPath */) {
35 #ifdef NAME_MAX
36  return NAME_MAX
37 #else
38  return 255; // best guess for most cases
39 #endif
40  }
41 }; // end namespace outputHandler
copyRequestTypes.h
outputHandler::base::newWriter
virtual std::unique_ptr< writer > newWriter(const std::string &path, bool mightAppend, size_t sourceSize, size_t readBlockSize, copyRequest::stateType &state, bool noWrite, std::unique_ptr< ioHandle::attrDataType > attrData, std::unique_ptr< acl::list > aclData)=0
outputHandler::base::newTmpWriter
virtual std::unique_ptr< writer > newTmpWriter(std::string &path, size_t sourceSize, bool noWrite, std::unique_ptr< ioHandle::attrDataType > attrData, std::unique_ptr< acl::list > aclData)
Definition: outputHandler.cpp:9
unimplementedActionError
class for exceptions that result from unimplemented functions Exceptions of this kind are to be throw...
Definition: copyRequestTypes.h:32
outputHandler
Definition: ioHandle.h:9
copyRequest::stateType
Definition: copyRequestTypes.h:66
outputHandler::base::writer::seek
virtual void seek(size_t position)
Definition: outputHandler.cpp:27
outputHandler::base::getMaxNameLength
virtual size_t getMaxNameLength(const std::string &dirPath)
Definition: outputHandler.cpp:34
outputHandler::base::shortenNameToMax
void shortenNameToMax(const std::string &path, C &pathBuf, const std::string &suffix)
Definition: outputHandler.h:122
outputHandler::base::writer::getSize
virtual size_t getSize() const
Definition: outputHandler.cpp:30
outputHandler.h