feat(datastore): add dtor

This commit is contained in:
fallenoak 2023-02-25 10:33:12 -06:00
parent f98814690c
commit 7536dd706c
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
2 changed files with 12 additions and 2 deletions

View file

@ -5,6 +5,16 @@
#include <storm/Memory.hpp>
#include <storm/String.hpp>
CDataStore::~CDataStore() {
this->Destroy();
}
void CDataStore::Destroy() {
if (this->m_alloc != -1) {
this->InternalDestroy(this->m_data, this->m_base, this->m_alloc);
}
}
void CDataStore::DetachBuffer(void** data, uint32_t* size, uint32_t* alloc) {
// TODO
}

View file

@ -17,8 +17,7 @@ class CDataStore {
virtual void InternalDestroy(uint8_t*& data, uint32_t& base, uint32_t& alloc);
virtual int32_t InternalFetchRead(uint32_t pos, uint32_t bytes, uint8_t*& data, uint32_t& base, uint32_t& alloc);
virtual int32_t InternalFetchWrite(uint32_t pos, uint32_t bytes, uint8_t*& data, uint32_t& base, uint32_t& alloc, const char* fileName, int32_t lineNumber);
// TODO
// virtual ~CDataStore();
virtual ~CDataStore();
virtual int32_t IsRead() const;
virtual void Reset();
virtual void Finalize();
@ -27,6 +26,7 @@ class CDataStore {
virtual uint32_t GetHeaderSpace();
// Member functions
void Destroy();
int32_t FetchRead(uint32_t pos, uint32_t bytes);
int32_t FetchWrite(uint32_t pos, uint32_t bytes, const char* fileName, int32_t lineNumber);
CDataStore& Get(uint8_t& val);