RDI/src/DatFileEntry.cpp
JackCarterSmith 4a0b0df410
Reforge library structure - final pass
Rework files lister

DatEntries class got new path member


Play with vectors concatenation


Harmonize configuration
2023-02-03 18:12:04 +01:00

60 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, 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<DatFileEntry*>;
}
DatFileEntryDirectory::DatFileEntryDirectory( string name, string path, DAT_FILE_FLAGS fFlags )
: DatFileEntry::DatFileEntry(name, path, fFlags), rootDir(false) {
vSubFiles = new vector<DatFileEntry*>;
}
DatFileEntryDirectory::DatFileEntryDirectory( string name, string path, DAT_FILE_FLAGS fFlags, DatFileEntry* hFileEntry )
: DatFileEntry::DatFileEntry(name, path, fFlags), rootDir(false) {
vSubFiles = new vector<DatFileEntry*>;
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);
}
}
}