Action: make sure that null constructor is not used

This commit is contained in:
Felipe Zimmerle 2020-06-04 21:06:19 -03:00
parent e0cd76355f
commit 9f264d6f54
No known key found for this signature in database
GPG Key ID: E6DFB08CE8B11277
4 changed files with 23 additions and 13 deletions

View File

@ -17,6 +17,8 @@
#include <string>
#include <assert.h>
#endif
@ -35,7 +37,9 @@ class Action {
Action()
: m_parserPayload(""),
m_name("")
{ }
{
assert(0);
}
explicit Action(const std::string& action)
@ -44,9 +48,9 @@ class Action {
{ }
Action(const Action &a)
: m_parserPayload(a.m_parserPayload),
m_name(a.m_name)
Action(const Action &other)
: m_parserPayload(other.m_parserPayload),
m_name(other.m_name)
{ }
@ -76,7 +80,7 @@ class Action {
}
const std::string *getName() const {
const std::string *getName() const noexcept {
return &m_name;
}

View File

@ -65,17 +65,23 @@ namespace actions {
namespace transformations {
class TransformationDoesNotExist: public std::exception {
class TransformationDoesNotExist : public std::exception {
public:
explicit TransformationDoesNotExist(const char *name)
: m_transformation(name)
{ }
explicit TransformationDoesNotExist(const std::string& name)
: m_transformation(name)
{ }
virtual const char* what() const throw() {
return std::string("Transformation not found: " + m_transformation + \
". Make sure that the new transformation is registered at: " + \
"transformation.cc").c_str();
}
virtual ~TransformationDoesNotExist() throw (){}
virtual const char* what() const throw() {
return strdup(std::string("Transformation not found: " + m_transformation + \
". Make sure that the new transformation is registered at: " + \
"transformation.cc").c_str());
}
private:
std::string m_transformation;

View File

@ -34,7 +34,7 @@ namespace transformations {
class TrimLeft : public Trim {
public:
TrimLeft()
: Trim("t:trimLeft")
: Action("t:trimLeft")
{ }
void execute(const Transaction *t,

View File

@ -34,7 +34,7 @@ namespace transformations {
class TrimRight : public Trim {
public:
TrimRight()
: Trim("t:trimRight")
: Action("t:trimRight")
{ }
void execute(const Transaction *t,