00001 #ifndef VTABLE_H
00002 #define VTABLE_H
00003
00004 #include "global.h"
00005 #include "TableMetaData.h"
00006 #include "TableData.h"
00007
00015
00016
00017 class VTable {
00018
00019 public:
00020
00024 VTable();
00025
00026
00027
00044 VTable(const char * filename, const char * path, int iomode, int * status);
00045
00049 ~VTable();
00050
00054 VTable operator=(const VTable &v);
00055
00059 VTable(const VTable &v);
00060
00077 int openFile(const char * filename,
00078 const char * path, int iomode, int * status);
00079
00083 int closeFile(int * status);
00084
00085
00086 int setMetaData(TableMetaData tmd, int * status);
00087
00088
00089 int setData(TableData td, int * status);
00090
00091
00092 int setName(char * name, int * status);
00093
00094
00095 int setID(char * ID, int * status);
00096
00097
00098 int setRef(char * ref, int * status);
00099
00103 int getMetaData(TableMetaData &tmd, int * status);
00104
00108 int getData(TableData &td, int * status);
00109
00113 int getName(char * &name, int * status);
00114
00118 int getID(char * &ID, int * status);
00119
00123 int getRef(char * &ref, int * status);
00124
00125 private:
00126
00127 TableMetaData m_tmd;
00128 TableData m_td;
00129 char * m_ID;
00130 char * m_name;
00131 char * m_ref;
00132
00133 void cleanup(void);
00134 void makecopy(const VTable &v);
00135 void init(void);
00136
00137 };
00138
00139 #endif