
Untitled
By: a guest on
Jan 21st, 2013 | syntax:
C++ | size: 0.92 KB | hits: 36 | expires: Never
enum ValueDataType { STRING_TYPE, INTEGER_TYPE, DOUBLE_TYPE, BOOLEAN_TYPE };
class MessageParameter
{
private:
string _name;
string _value;
ValueDataType _valueDataType;
public:
template<typename T>
T getValue()
{
switch(_valueDataType)
{
case ValueDataType::BOOLEAN_TYPE:
if (_value == "true") {
return true;
} else {
return false;
}
break;
case ValueDataType::INTEGER_TYPE:
return atoi(_value.c_str());
break;
case ValueDataType::DOUBLE_TYPE:
return atof(_value.c_str());
break;
default:
return _value;
break;
}
}
ValueDataType getValueType()
{
return _valueDataType;
}
string getName()
{
return _name;
}
MessageParameter(char* name, string value, ValueDataType valDataType)
{
_name = string(name);
_value = value;
_valueDataType = valDataType;
}
};