/** * @file DatFileEntry.cpp * @date 12/01/2023 * @author JackCarterSmith * @copyright GPL-v3.0 * @brief Data file entry descriptor objects helper class. * */ #include #include #include #include "DatFileEntry.hpp" using std::string; using std::vector; namespace RDI { namespace DatFile { DatFileEntryFile::DatFileEntryFile( string name, string path, DAT_FILE_FLAGS fFlags, unsigned int size, MEMFILE fPtr ) : DatFileEntry::DatFileEntry(name, path, fFlags), size(size), fileMemPtr(fPtr) {} DatFileEntryFile::~DatFileEntryFile() {} DatFileEntryDirectory::DatFileEntryDirectory( string name, string path ) : DatFileEntry::DatFileEntry(name, path), rootDir(true) { vSubFiles = new vector; } DatFileEntryDirectory::DatFileEntryDirectory( string name, string path, DAT_FILE_FLAGS fFlags ) : DatFileEntry::DatFileEntry(name, path, fFlags), rootDir(false) { vSubFiles = new vector; } DatFileEntryDirectory::DatFileEntryDirectory( string name, string path, DAT_FILE_FLAGS fFlags, DatFileEntry* hFileEntry ) : DatFileEntry::DatFileEntry(name, path, fFlags), rootDir(false) { vSubFiles = new vector; AddEntry(hFileEntry); } DatFileEntryDirectory::~DatFileEntryDirectory() { for ( DatFileEntry* e : *vSubFiles ) delete e; delete vSubFiles; } void DatFileEntryDirectory::ClearLinkedFiles() { vSubFiles->clear(); } void DatFileEntryDirectory::AddEntry( DatFileEntry* hFileEntry ) { vSubFiles->push_back(hFileEntry); } } }