Project

General

Profile

Download (2.11 KB) Statistics
| Branch: | Revision:
/********************************************************************
* 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_
(4-4/8)