#include "IFSFolder.h" namespace LifeCore { IFSFolder::~IFSFolder(void) { for( FolderMap::iterator it = g_folderCollection.begin(); it != g_folderCollection.end(); it++ ) delete it->second; } IFSFolder::IFSFolder() { } IFSFolder::IFSFolder(const String& folderName, const String& entryName) { this->Name = folderName; this->EntryName = entryName; CreateDirectoryA(EntryName.c_str(), NULL); } IFolder* IFSFolder::NewFolder(const String& name) { IFolder* test; if(this->GetFolder(name, &test) != SC_OK) { IFSFolder* newFolder = new IFSFolder(name, this->EntryName + name + _text("\\")); newFolder->setParent(this); newFolder->Provider = this->Provider; this->AddFolder(newFolder); return newFolder; } else { return test; } } IFile* IFSFolder::NewFile(const String& name, int size) { IFile* f; if(this->GetFile(name, &f) != SC_OK) { IFSFile* newFile = new IFSFile(this->EntryName + name, size); newFile->FileName = name; newFile->Provider = this->Provider; this->AddFile(newFile); return newFile; } else { return f; } } }