00001 #include "Sti/Base/Parameter.h"
00002 #include <stdexcept>
00003
00004 const int Parameter::Boolean = 0;
00005 const int Parameter::Integer = 1;
00006 const int Parameter::Float = 2;
00007 const int Parameter::Double = 3;
00008
00009 Parameter::Parameter()
00010 : Named(""),
00011 Described(""),
00012 _key(0),
00013 _type(Double),
00014 _value(0.),
00015 _exValue(0)
00016
00017 { }
00018
00019 Parameter::Parameter(const string & name,
00020 const string & description,
00021 double value,
00022 int type,
00023 int key)
00024 : Named(name),
00025 Described(description),
00026 _key(key),
00027 _type(type),
00028 _value(value),
00029 _exValue(0)
00030 { }
00031
00032 Parameter::Parameter(const string & name, const string & description, bool * value, int key)
00033 : Named(name),
00034 Described(description),
00035 _key(key),
00036 _type(Boolean),
00037 _value(0),
00038 _exValue(static_cast<bool*>(value))
00039 {}
00040
00041 Parameter::Parameter(const string & name, const string & description, int * value, int key)
00042 : Named(name),
00043 Described(description),
00044 _key(key),
00045 _type(Integer),
00046 _value(0),
00047 _exValue(static_cast<int*>(value))
00048 {}
00049
00050 Parameter::Parameter(const string & name, const string & description, float * value, int key)
00051 : Named(name),
00052 Described(description),
00053 _key(key),
00054 _type(Float),
00055 _value(0),
00056 _exValue(static_cast<float*>(value))
00057 {}
00058
00059 Parameter::Parameter(const string & name, const string & description, double* value, int key)
00060 : Named(name),
00061 Described(description),
00062 _key(key),
00063 _type(Double),
00064 _value(0),
00065 _exValue(static_cast<double*>(value))
00066 {}
00067
00068 Parameter::Parameter(const Parameter & parameter)
00069 {
00070 setName(parameter.getName());
00071 _description = parameter._description;
00072 _key = parameter._key;
00073 _type = parameter._type;
00074 _value = parameter._value;
00075 _exValue = parameter._exValue;
00076 }
00077
00078 Parameter::~Parameter()
00079 {}