ewmscp  ..
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
checksum::base Class Referenceabstract

#include <checksumBase.h>

Inheritance diagram for checksum::base:
[legend]
Collaboration diagram for checksum::base:
[legend]

Classes

class  factoryClass
 
class  factoryTemplate
 

Public Member Functions

virtual ~base ()=default
 
virtual bool parallelizable () const
 
const std::string & getName () const
 
const std::string & getResult () const
 
void setExpectedResult (const std::string &expectedResult)
 
const std::string & getExpectedResult () const
 
bool checkExpectation () const
 
virtual void update (void *data, size_t size)=0
 
virtual void update (size_t size)=0
 
virtual void finish ()=0
 

Static Public Member Functions

static factoryClassnewFactory (const std::string &aName)
 
template<class T >
static void addAllowedNamesToOption (T &option)
 

Protected Member Functions

 base (const std::string &aName)
 

Static Protected Member Functions

static std::map< std::string, factoryClass * > & getFactoryMap ()
 

Protected Attributes

const std::string & name
 
std::string result
 
std::string expected
 

Detailed Description

Definition at line 8 of file checksumBase.h.

Constructor & Destructor Documentation

◆ base()

checksum::base::base ( const std::string &  aName)
inlineexplicitprotected

Definition at line 40 of file checksumBase.h.

40 : name(aName) {}

◆ ~base()

virtual checksum::base::~base ( )
virtualdefault

Member Function Documentation

◆ addAllowedNamesToOption()

template<class T >
static void checksum::base::addAllowedNamesToOption ( T &  option)
inlinestatic

Definition at line 75 of file checksumBase.h.

75  {
76  for (const auto& item : getFactoryMap()) {
77  option.fAddToRange(item.first);
78  }
79  };

References getFactoryMap().

Here is the call graph for this function:

◆ checkExpectation()

bool checksum::base::checkExpectation ( ) const
inline

Definition at line 58 of file checksumBase.h.

58  {
59  if (expected.empty()) { // always agree on unset expectation
60  return true;
61  }
62  return result == expected;
63  }

References expected, and result.

◆ finish()

virtual void checksum::base::finish ( )
pure virtual

◆ getExpectedResult()

const std::string& checksum::base::getExpectedResult ( ) const
inline

Definition at line 55 of file checksumBase.h.

55  {
56  return expected;
57  }

References expected.

◆ getFactoryMap()

static std::map<std::string, factoryClass*>& checksum::base::getFactoryMap ( )
inlinestaticprotected

Definition at line 13 of file checksumBase.h.

13  {
14  static std::remove_reference<decltype(getFactoryMap())>::type map;
15  return map;
16  }

Referenced by addAllowedNamesToOption(), checksum::base::factoryClass::factoryClass(), and newFactory().

Here is the caller graph for this function:

◆ getName()

const std::string& checksum::base::getName ( ) const
inline

Definition at line 46 of file checksumBase.h.

46  {
47  return name;
48  };

References name.

◆ getResult()

const std::string& checksum::base::getResult ( ) const
inline

Definition at line 49 of file checksumBase.h.

49  {
50  return result;
51  };

References result.

◆ newFactory()

static factoryClass* checksum::base::newFactory ( const std::string &  aName)
inlinestatic

Definition at line 68 of file checksumBase.h.

68  {
69  auto it = getFactoryMap().find(aName);
70  if (it != getFactoryMap().end()) {
71  return it->second;
72  }
73  throw std::runtime_error("no checksum factory called " + aName);
74  }

References getFactoryMap().

Referenced by copyRequest::base::addExpectedChecksumResult().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parallelizable()

virtual bool checksum::base::parallelizable ( ) const
inlinevirtual

Reimplemented in checksum::crc32, and checksum::adler32.

Definition at line 43 of file checksumBase.h.

43  {
44  return false;
45  }

◆ setExpectedResult()

void checksum::base::setExpectedResult ( const std::string &  expectedResult)
inline

Definition at line 52 of file checksumBase.h.

52  {
53  expected = expectedResult;
54  }

References expected.

◆ update() [1/2]

virtual void checksum::base::update ( size_t  size)
pure virtual

◆ update() [2/2]

virtual void checksum::base::update ( void *  data,
size_t  size 
)
pure virtual

Member Data Documentation

◆ expected

std::string checksum::base::expected
protected

Definition at line 39 of file checksumBase.h.

Referenced by checkExpectation(), getExpectedResult(), and setExpectedResult().

◆ name

const std::string& checksum::base::name
protected

◆ result

std::string checksum::base::result
protected

The documentation for this class was generated from the following file:
checksum::base::getFactoryMap
static std::map< std::string, factoryClass * > & getFactoryMap()
Definition: checksumBase.h:13
checksum::base::name
const std::string & name
Definition: checksumBase.h:37
checksum::base::expected
std::string expected
Definition: checksumBase.h:39
checksum::base::result
std::string result
Definition: checksumBase.h:38