ESP8266_swiss_army_board/src/app/CFGParameterValue.h

49 lines
1.6 KiB
C++

#ifndef CFGPARAMETERVALUE_H
#define CFGPARAMETERVALUE_H
#include <string.h>
#include <stdlib.h>
#include <Arduino.h>
#include "DictionaryInterface.h"
class CFGParameterValue : public DictionaryInterface
{
public:
CFGParameterValue();
CFGParameterValue(const char *parameter, const char *value, boolean quotedParameter, boolean quotedValue);
CFGParameterValue(const char *parameter, const char *value);
CFGParameterValue(const CFGParameterValue &Object);
~CFGParameterValue();
const char *stringValue() const{return _value == NULL ? "":_value;}
long longValue() const {return _value == NULL ? 0 : strtol(_value, NULL, 10);}
int intValue() const {return (int) (_value == NULL ? 0 : strtol(_value, NULL, 10));}
unsigned long uintValue() const {return _value == NULL ? 0 : strtoul(_value, NULL, 10);}
double doubleValue() const {return _value == NULL ? 0 : strtod(_value, NULL);}
float floatValue() const {return _value == NULL ? 0 : strtof(_value, NULL);}
boolean booleanValue() const
{
if(_value == NULL)
return false;
return strcasecmp(_value,"true") == 0 ? true : false;
}
const char *getParameter() const{return _parameter == NULL ? "" : _parameter;}
bool isQuotedParameter()const{return _quotedParameter;}
bool isQuotedValue()const{return _quotedValue;}
virtual const char *toString()
{
return _value;
}
void setValue(const char *value, bool isQuoted);
protected:
private:
char *_parameter = NULL;
char *_value = NULL;
bool _quotedParameter = false;
bool _quotedValue = false;
};
#endif //CFGPARAMETERVALUE_H