00001 #ifndef FIELDPARAM_H
00002 #define FIELDPARAM_H
00003
00004 #include "global.h"
00005 #include "Values.h"
00006 #include "Link.h"
00007
00008 #include <vector>
00009 using namespace std;
00010
00023
00024
00025
00026 class FieldParam {
00027
00028 public:
00032 int getDescription (char * &desc, int * status);
00033
00037 int getNumOfValues (int &numOfValues, int *status);
00038
00039
00044 int getValues (Values &v, int index, int *status);
00045
00050 int getNumOfLinks (int &nLinks, int *status);
00051
00056 int getLink (Link &link, int linkNum, int *status);
00057
00061 int getID (char * &ID, int *status);
00062
00066 int getUnit (char * &unit, int *status);
00067
00072 int getDatatype (field_datatype &datatype, int *status);
00073
00077 int getPrecision (char * &precision, int *status);
00078
00082 int getWidth (int &width, int *status);
00083
00087 int getRef (char * &ref, int *status);
00088
00092 int getName (char * &name, int *status);
00093
00097 int getUCD (char * &ucd, int *status);
00098
00102 int getArraySize (char * &arraySize, int *status);
00103
00104
00108 int isVariableType (bool &b, int *status);
00109
00110 int setID(char * ID, int *status);
00111 int setUnit(char * unit, int *status);
00112 int setDatatype(field_datatype datatype, int *status);
00113 int setPrecision(char * precision, int *status);
00114 int setWidth(int width, int *status);
00115 int setRef(char * ref, int *status);
00116 int setName(char * name, int *status);
00117 int setUCD(char * ucd, int *status);
00118 int setArraySize(char * arraySize, int *status);
00119 virtual int setType(field_type type, int *status);
00120 virtual int setValue(char *str, int *status);
00121
00122 int setDescription(char * desc, int * status);
00123 int setLinks(vector<Link> link, int *status);
00124 int setValues(Values v[], int numOfValues, int *status);
00125
00126
00127 protected:
00128 char * m_description;
00129 vector<Values> m_values;
00130 vector<Link> m_linkList;
00131
00132 char * m_ID;
00133 char * m_unit;
00134 field_datatype m_datatype;
00135 char * m_precision;
00136 unsigned int m_width;
00137 char * m_ref;
00138 char * m_name;
00139 char * m_UCD;
00140 char * m_arraySize;
00141
00142 virtual void cleanup(void);
00143 virtual void makecopy(const FieldParam &f);
00144 virtual void init(void);
00145
00146 virtual void doNothing(void)=0;
00147
00148
00149
00150 };
00151
00152 #endif