00001 00010 #ifndef __ArchiveDirectory_H__ 00011 #define __ArchiveDirectory_H__ 00012 00013 // Includes 00014 #include "StringId.h" 00015 #include "Array.h" 00016 00017 // Forward declares 00018 00019 // ArchiveDirectory 00020 class ArchiveDirectory 00021 { 00022 public: 00023 StringId GetPath() const; 00024 00025 int GetSubdirectoryCount() const; 00026 StringId GetSubdirectory(int index) const; 00027 00028 int GetFileCount() const; 00029 StringId GetFile(int index) const; 00030 00031 private: 00032 void SetPath(const char* fullpath); 00033 void AddSubdirectory(const char* fullpath); 00034 void AddFile(const char* fullpath); 00035 00036 private: 00037 friend class Archive; 00038 friend class ArchiveManager; 00039 00040 StringId path_; 00041 Array<StringId> subdirectories_; 00042 Array<StringId> files_; 00043 }; 00044 00045 00046 #endif /* __ArchiveDirectory_H__ */