Advertisement
Guest User

Untitled

a guest
Jan 21st, 2013
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. enum ValueDataType { STRING_TYPE, INTEGER_TYPE, DOUBLE_TYPE, BOOLEAN_TYPE };
  2.  
  3. class MessageParameter
  4. {
  5.     private:
  6.         string _name;
  7.         string _value;
  8.         ValueDataType _valueDataType;
  9.  
  10.     public:
  11.         template<typename T>
  12.         T getValue()
  13.         {
  14.             switch(_valueDataType)
  15.             {
  16.                 case ValueDataType::BOOLEAN_TYPE:
  17.                     if (_value == "true") {
  18.                         return true;
  19.                     } else {
  20.                         return false;
  21.                     }
  22.                     break;
  23.                 case ValueDataType::INTEGER_TYPE:
  24.                     return atoi(_value.c_str());
  25.                     break;
  26.                 case ValueDataType::DOUBLE_TYPE:
  27.                     return atof(_value.c_str());
  28.                     break;
  29.                 default:
  30.                     return _value;
  31.                     break;
  32.             }
  33.         }
  34.  
  35.         ValueDataType getValueType()
  36.         {
  37.             return _valueDataType;
  38.         }
  39.        
  40.         string getName()
  41.         {
  42.             return _name;
  43.         }
  44.  
  45.         MessageParameter(char* name, string value, ValueDataType valDataType)
  46.         {
  47.             _name = string(name);
  48.             _value = value;
  49.             _valueDataType = valDataType;
  50.         }
  51. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement