00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
#ifndef DIME_TABLE_H
00031
#define DIME_TABLE_H
00032
00033
#include <dime/Base.h>
00034
#include <dime/util/Array.h>
00035
00036
class dimeInput;
00037
class dimeModel;
00038
class dimeOutput;
00039
class dimeTableEntry;
00040
class dimeRecord;
00041
00042 class DIME_DLL_API dimeTable :
public dimeBase
00043 {
00044
public:
00045 dimeTable(
dimeMemHandler *
const memhandler);
00046
virtual ~dimeTable();
00047
00048
bool read(
dimeInput *
const in);
00049
bool write(
dimeOutput *
const out);
00050 dimeTable *copy(
dimeModel *
const model)
const;
00051
int typeId()
const;
00052
int countRecords()
const;
00053
int tableType()
const;
00054
00055
void setTableName(
const char * name);
00056
const char * tableName()
const;
00057
00058
int getNumTableEntries()
const;
00059
dimeTableEntry *getTableEntry(
const int idx);
00060
void insertTableEntry(
dimeTableEntry *
const tableEntry,
const int idx = -1);
00061
void removeTableEntry(
const int idx);
00062
00063
int getNumTableRecords()
const;
00064
dimeRecord *getTableRecord(
const int idx);
00065
void insertTableRecord(
dimeRecord *
const record,
const int idx = -1);
00066
void removeTableRecord(
const int idx);
00067
00068
private:
00069 int16 maxEntries;
00070
char * tablename;
00071 dimeArray <dimeTableEntry*> tableEntries;
00072 dimeArray <dimeRecord*> records;
00073
dimeMemHandler *memHandler;
00074 };
00075
00076
#endif // ! DIME_TABLE_H
00077