Updated CMakeFile with MSVC options Review Erso lib interface Better tree display in RDIDebug tool Change lib interface functions naming Separate namespace for date file entries
73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
/**
|
|
* @file DatFileEntry.cpp
|
|
* @date 12/01/2023
|
|
* @author JackCarterSmith
|
|
* @copyright GPL-v3.0
|
|
* @brief Data file entry descriptor objects helper class.
|
|
*
|
|
*/
|
|
|
|
#include <RDI_Datatypes.h>
|
|
#include <vector>
|
|
#include <string>
|
|
#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<DatFileEntry*>;
|
|
}
|
|
|
|
DatFileEntryDirectory::DatFileEntryDirectory( string name, DAT_FILE_FLAGS fFlags ) {
|
|
this->name = name;
|
|
this->fFlags.raw = fFlags.raw;
|
|
this->rootDir = false;
|
|
vSubFiles = new vector<DatFileEntry*>;
|
|
}
|
|
|
|
DatFileEntryDirectory::DatFileEntryDirectory( string name, DAT_FILE_FLAGS fFlags, DatFileEntry* hFileEntry ) {
|
|
this->name = name;
|
|
this->fFlags.raw = fFlags.raw;
|
|
vSubFiles = new vector<DatFileEntry*>;
|
|
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);
|
|
}
|
|
|
|
}
|
|
}
|