Added a new method in order to update the value of a parameter

This commit is contained in:
anschrammh 2019-11-17 13:57:01 +01:00
parent b1f137abf5
commit 28ad4c0342
2 changed files with 15 additions and 1 deletions

View File

@ -4,6 +4,7 @@ CFGParameterValue::CFGParameterValue():DictionaryInterface(),_parameter(NULL), _
{ {
} }
CFGParameterValue::CFGParameterValue(const char *parameter, const char *value, boolean quotedParameter, boolean quotedValue):_quotedParameter(quotedParameter), _quotedValue(quotedValue) CFGParameterValue::CFGParameterValue(const char *parameter, const char *value, boolean quotedParameter, boolean quotedValue):_quotedParameter(quotedParameter), _quotedValue(quotedValue)
{ {
_parameter = (char *) malloc((strlen(parameter) * sizeof(char)) + 1); //+1 for the string terminating character _parameter = (char *) malloc((strlen(parameter) * sizeof(char)) + 1); //+1 for the string terminating character
@ -12,6 +13,7 @@ CFGParameterValue::CFGParameterValue(const char *parameter, const char *value, b
strcpy(_parameter, parameter); strcpy(_parameter, parameter);
strcpy(_value, value); strcpy(_value, value);
} }
CFGParameterValue::CFGParameterValue(const char *parameter, const char *value):CFGParameterValue() CFGParameterValue::CFGParameterValue(const char *parameter, const char *value):CFGParameterValue()
{ {
_parameter = (char *) malloc((strlen(parameter) * sizeof(char)) + 1); //+1 for the string terminating character _parameter = (char *) malloc((strlen(parameter) * sizeof(char)) + 1); //+1 for the string terminating character
@ -20,6 +22,7 @@ CFGParameterValue::CFGParameterValue(const char *parameter, const char *value):C
strcpy(_parameter, parameter); strcpy(_parameter, parameter);
strcpy(_value, value); strcpy(_value, value);
} }
CFGParameterValue::CFGParameterValue(const CFGParameterValue &Object) CFGParameterValue::CFGParameterValue(const CFGParameterValue &Object)
{ {
_parameter = (char *) malloc((strlen(Object._parameter) * sizeof(char)) + 1); //+1 for the string terminating character _parameter = (char *) malloc((strlen(Object._parameter) * sizeof(char)) + 1); //+1 for the string terminating character
@ -31,6 +34,7 @@ CFGParameterValue::CFGParameterValue(const CFGParameterValue &Object)
_quotedParameter = Object._quotedParameter; _quotedParameter = Object._quotedParameter;
_quotedValue = Object._quotedValue; _quotedValue = Object._quotedValue;
} }
CFGParameterValue::~CFGParameterValue() CFGParameterValue::~CFGParameterValue()
{ {
free(_parameter); free(_parameter);
@ -38,3 +42,12 @@ CFGParameterValue::~CFGParameterValue()
free(_value); free(_value);
_value = NULL; _value = NULL;
} }
void CFGParameterValue::setValue(const char *value, bool isQuoted)
{
_quotedValue = isQuoted;
free(_value);_value = NULL;
_value = (char *) malloc((strlen(value) * sizeof(char)) + 1); //+1 for the string terminating character
strcpy(_value, value);
}

View File

@ -29,10 +29,11 @@ public:
const char *getParameter() const{return _parameter == NULL ? "" : _parameter;} const char *getParameter() const{return _parameter == NULL ? "" : _parameter;}
const bool isQuotedParameter()const{return _quotedParameter;} const bool isQuotedParameter()const{return _quotedParameter;}
const bool isQuotedValue()const{return _quotedValue;} const bool isQuotedValue()const{return _quotedValue;}
virtual const char *toString() virtual const char *toString()
{ {
return _value; return _value;
} }
void setValue(const char *value, bool isQuoted);
protected: protected:
private: private:
char *_parameter; char *_parameter;