/** * @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, DAT_FILE_FLAGS fFlags, unsigned int size, MEMFILE fPtr ) { this->name = name; this->size = size; this->fFlags.raw = fFlags.raw; this->fileMemPtr = fPtr; } DatFileEntryFile::~DatFileEntryFile() {} DatFileEntryDirectory::DatFileEntryDirectory( string name ) { this->name = name; this->fFlags.raw = 0; this->rootDir = true; vSubFiles = new vector; } DatFileEntryDirectory::DatFileEntryDirectory( string name, DAT_FILE_FLAGS fFlags ) { this->name = name; this->fFlags.raw = fFlags.raw; this->rootDir = false; vSubFiles = new vector; } DatFileEntryDirectory::DatFileEntryDirectory( string name, DAT_FILE_FLAGS fFlags, DatFileEntry* hFileEntry ) { this->name = name; this->fFlags.raw = fFlags.raw; vSubFiles = new vector; AddEntry(hFileEntry); } DatFileEntryDirectory::~DatFileEntryDirectory() { for ( DatFileEntry* e : *vSubFiles ) delete e; delete vSubFiles; } /*std::string DirectoryEntry::toString() { }*/ void DatFileEntryDirectory::ClearLinkedFiles() { vSubFiles->clear(); } void DatFileEntryDirectory::AddEntry( DatFileEntry* hFileEntry ) { vSubFiles->push_back(hFileEntry); } } }