RDI/src/DatFileEntry.cpp
JackCarterSmith 2da49b53ae
Reforge library structure - 3rd pass
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
2023-01-12 20:25:10 +01:00

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);
}
}
}