entriesblk.h

00001 #ifndef ENTRIESBLK_H
00002 #define ENTRIESBLK_H
00003 
00004 #include <sysdata.h>
00005 #include <defs.h>
00006 
00007 SWORD_NAMESPACE_START
00008 
00009 class SWDLLEXPORT EntriesBlock {
00010         static const int METAHEADERSIZE;
00011         static const int METAENTRYSIZE;
00012 
00013 private:
00014         char *block;
00015         void setCount(int count);
00016         void getMetaEntry(int index, unsigned long *offset, unsigned long *size);
00017         void setMetaEntry(int index, unsigned long offset, unsigned long size);
00018 
00019 public:
00020         EntriesBlock(const char *iBlock, unsigned long size);
00021         EntriesBlock();
00022         ~EntriesBlock();
00023 
00024         int getCount();
00025         int addEntry(const char *entry);
00026         const char *getEntry(int entryIndex);
00027         unsigned long getEntrySize(int entryIndex);
00028         void removeEntry(int entryIndex);
00029         const char *getRawData(unsigned long *size);
00030 };
00031 
00032 
00033 SWORD_NAMESPACE_END
00034 #endif