00001 #ifndef VALUES_H
00002 #define VALUES_H
00003
00004 #include "global.h"
00005 #include "Range.h"
00006 #include "Option.h"
00007
00008 #include <vector>
00009 using namespace std;
00010
00018
00019
00020 class Values {
00021
00022 public:
00026 Values();
00027
00028
00029
00033 ~Values();
00034
00038 Values operator=(const Values &v);
00039
00043 Values(const Values &v);
00044
00045 int setID(char * ID, int * status);
00046 int setType(values_type type, int *status);
00047 int setNull(char * null, int *status);
00048 int setInvalidFlag(bool invalid , int *status);
00049 int setMinimun(Range * min, int *status);
00050 int setMaximum(Range * max, int *status);
00051 int setOptions(vector<Option> option, int *status);
00052
00056 int getID(char * &ID, int * status);
00057
00061 int getType(values_type & type, int *status);
00062
00066 int getNull(char * &null, int *status);
00067
00071 int isValid(bool &invalid , int *status);
00072
00076 int getMinimun(Range * &min, int *status);
00077
00081 int getMaximum(Range * &max, int *status);
00082
00087 int getOption(Option & option, int index, int *status);
00088
00092 int getNumOfOptions(int &numOfOptions, int *status);
00093
00094 private:
00095 char * m_ID;
00096 values_type m_type;
00097 char * m_nullval;
00098 bool m_invalid;
00099 Range *m_minimum;
00100 Range *m_maximum;
00101 vector<Option> m_optionList;
00102
00103 void makecopy(const Values &v);
00104 void cleanup(void);
00105 void init(void);
00106
00107 };
00108
00109 #endif