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_SECTION_H
00031 #define DIME_SECTION_H
00032
00033 #include <dime/Basic.h>
00034 #include <dime/Base.h>
00035
00036 class dimeInput;
00037 class dimeModel;
00038 class dimeOutput;
00039
00040 class dimeSection : public dimeBase
00041 {
00042 public:
00043 dimeSection(dimeMemHandler * const memhandler);
00044 virtual ~dimeSection();
00045
00046 virtual const char *getSectionName() const = 0;
00047 virtual dimeSection *copy(dimeModel * const model) const = 0;
00048
00049 virtual bool read(dimeInput * const file) = 0;
00050 virtual bool write(dimeOutput * const file) = 0;
00051 virtual int typeId() const = 0;
00052 virtual bool isOfType(const int thetypeid) const;
00053 virtual int countRecords() const = 0;
00054
00055 public:
00056 static dimeSection *createSection(const char * const sectionname,
00057 dimeMemHandler *memhandler);
00058
00059 protected:
00060 dimeMemHandler *memHandler;
00061
00062 };
00063
00064 #endif // ! DIME_SECTION_H
00065