Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement