Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jan 21st, 2013  |  syntax: C++  |  size: 0.92 KB  |  views: 37  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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. };
clone this paste RAW Paste Data