00001 #ifndef _GroupFile_H_ 00002 #define _GroupFile_H_ 00003 00004 #include "stdafx.h" 00005 #include "fileformatdefs.h" 00006 #include <stdio.h> 00007 #include "linkedlist.h" 00008 00010 class GroupFile 00011 { 00012 public: 00014 GroupFile(const char* filename); 00015 00017 GroupFile(); 00018 00020 ~GroupFile(); 00021 00023 int Load(); 00024 00026 int Save(); 00027 00029 void SetFilename(const char* sFilename); 00030 00032 char* GetFileName(){ return m_sFileName; } 00033 00035 uint32 GetNumFiles(){ return m_nNumFiles; } 00036 00040 FILESTRUCT* GetFileEntry(uint32 nEntry) 00041 { 00042 if(nEntry >= m_nNumFiles) 00043 { 00044 return NULL; 00045 }else 00046 { 00047 return &m_Files[nEntry]; 00048 } 00049 } 00050 00052 ErrorCode AddFile(char* sFilename); 00053 00055 ErrorCode RemoveFile(char* sFilename); 00056 00061 int GetStatus(){ return m_nStatus; } 00062 00063 protected: 00064 00065 int Open(const char* sFlags); 00066 int Close(); 00067 00069 char m_sFileName[256]; 00070 00072 char m_sAuthorName[12]; 00073 00075 uint32 m_nNumFiles; 00076 00078 //FILESTRUCT* m_Files; 00079 LinkedList<FILESTRUCT> m_Files; 00080 00082 FILE *m_pFilePointer; 00083 00085 int m_nStatus; 00086 00087 }; 00088 00089 #endif