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 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