|
/********************************************************************
|
|
* CONFIDENTIAL - All source code is the propriety and confidential *
|
|
* information of David Sorber. *
|
|
* *
|
|
* Copyright 2024 David Sorber *
|
|
* Unpublished -- all rights reserved under the copyright laws *
|
|
* of the United States. *
|
|
********************************************************************/
|
|
|
|
#ifndef __COPYTOOL_COPYMANAGEROPTIONS_H_
|
|
#define __COPYTOOL_COPYMANAGEROPTIONS_H_
|
|
|
|
#include <cstdint>
|
|
#include <map>
|
|
#include <string>
|
|
|
|
namespace DBS
|
|
{
|
|
|
|
class CopyManagerOptions
|
|
{
|
|
public:
|
|
|
|
static const uint32_t LOG_LEVEL_DEFAULT{3};
|
|
static const uint32_t FC_THRESHOLD_DEFAULT{1000};
|
|
static const uint32_t NUM_PROC_THREADS_DEFAULT{4};
|
|
|
|
CopyManagerOptions(
|
|
const char* srcPath,
|
|
const char* destPath);
|
|
|
|
CopyManagerOptions(
|
|
const std::string srcPath,
|
|
const std::string destPath);
|
|
|
|
~CopyManagerOptions();
|
|
|
|
//--- Getters -------------------------------------------------------------
|
|
inline const std::string& getSrcPath() const
|
|
{
|
|
return m_srcPath;
|
|
}
|
|
|
|
inline const std::string& getDestPath() const
|
|
{
|
|
return m_destPath;
|
|
}
|
|
|
|
inline uint32_t getLogLevel() const
|
|
{
|
|
return m_logLevel;
|
|
}
|
|
|
|
inline uint32_t getFlowControlThreshold() const
|
|
{
|
|
return m_flowControlThreshold;
|
|
}
|
|
|
|
inline uint32_t getNumProcThreads() const
|
|
{
|
|
return m_numProcThreads;
|
|
}
|
|
|
|
//--- Setters -------------------------------------------------------------
|
|
inline void setFlowControlThreshold(uint32_t threshold)
|
|
{
|
|
m_flowControlThreshold = threshold;
|
|
}
|
|
|
|
private:
|
|
|
|
std::string m_srcPath; // source path; "copy from"
|
|
std::string m_destPath; // destination path; "copy to"
|
|
|
|
uint32_t m_logLevel;
|
|
uint32_t m_flowControlThreshold;
|
|
uint32_t m_numProcThreads;
|
|
|
|
};
|
|
|
|
} // namespace DBS
|
|
|
|
|
|
#endif //__COPYTOOL_COPYMANAGEROPTIONS_H_
|