Stub out CSimplePool

This commit is contained in:
Phillip Stephens 2025-05-13 11:52:37 -07:00
parent f5d8b36dce
commit 58bf733091
3 changed files with 54 additions and 12 deletions

View File

@ -1,6 +1,7 @@
#ifndef _CSIMPLEPOOL #ifndef _CSIMPLEPOOL
#define _CSIMPLEPOOL #define _CSIMPLEPOOL
#include "Kyoto/CVParamTransfer.hpp"
#include "types.h" #include "types.h"
#include "rstl/hash_map.hpp" #include "rstl/hash_map.hpp"
@ -14,23 +15,24 @@ class CSimplePool : public IObjectStore {
public: public:
CSimplePool(IFactory& factory); CSimplePool(IFactory& factory);
~CSimplePool(); ~CSimplePool();
void DumpDebugPool() const; void DebugDumpPool() const;
virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer); virtual CToken GetObj(const SObjectTag& tag, const CVParamTransfer& xfer);
virtual CToken GetObj(const SObjectTag& tag); virtual CToken GetObj(const SObjectTag& tag);
virtual CToken GetObj(const char* name); virtual CToken GetObj(const char* name);
virtual CToken GetObj(const char* name, CVParamTransfer xfer); virtual CToken GetObj(const char* name, const CVParamTransfer& xfer);
virtual bool HasObject(const SObjectTag& tag); virtual bool HasObject(const SObjectTag& tag) const;
virtual bool ObjectIsLive(const SObjectTag& tag); virtual bool ObjectIsLive(const SObjectTag& tag) const;
virtual IFactory& GetFactory() { return x18_factory; } virtual IFactory& GetFactory() const { return x18_factory; }
virtual void Flush(); virtual void Flush();
virtual void ObjectUnreferenced(const SObjectTag& tag); virtual void ObjectUnreferenced(const SObjectTag& tag);
rstl::vector< SObjectTag > GetReferencedTags();
private: private:
uchar x4_; uchar x4_;
uchar x5_; uchar x5_;
rstl::hash_map< unkptr, unkptr, void, void > x8_resources; rstl::hash_map< unkptr, unkptr, void, void > x8_resources;
IFactory& x18_factory; IFactory& x18_factory;
rstl::rc_ptr< CVParamTransfer > x1c_paramXfr; CVParamTransfer x1c_paramXfr;
}; };
CHECK_SIZEOF(CSimplePool, 0x20) CHECK_SIZEOF(CSimplePool, 0x20)

View File

@ -12,13 +12,13 @@ class IFactory;
class IObjectStore { class IObjectStore {
public: public:
IObjectStore() {} IObjectStore() {}
virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer) = 0; virtual CToken GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) = 0;
virtual CToken GetObj(const SObjectTag& tag) = 0; virtual CToken GetObj(const SObjectTag& tag) = 0;
virtual CToken GetObj(const char* name) = 0; virtual CToken GetObj(const char* name) = 0;
virtual CToken GetObj(const char* name, CVParamTransfer xfer) = 0; virtual CToken GetObj(const char* name, const CVParamTransfer& xfer) = 0;
virtual bool HasObject(const SObjectTag& tag) = 0; virtual bool HasObject(const SObjectTag& tag) const = 0;
virtual bool ObjectIsLive(const SObjectTag& tag) = 0; virtual bool ObjectIsLive(const SObjectTag& tag) const = 0;
virtual IFactory& GetFactory() = 0; virtual IFactory& GetFactory() const = 0;
virtual void Flush() = 0; virtual void Flush() = 0;
virtual void ObjectUnreferenced(const SObjectTag& tag) = 0; virtual void ObjectUnreferenced(const SObjectTag& tag) = 0;
}; };

40
src/Kyoto/CSimplePool.cpp Normal file
View File

@ -0,0 +1,40 @@
#include "Kyoto/CSimplePool.hpp"
#include "Kyoto/CVParamTransfer.hpp"
#include "Kyoto/SObjectTag.hpp"
CSimplePool::CSimplePool(IFactory& factory)
: x18_factory(factory), x1c_paramXfr(CVParamTransfer::Null()) {}
CSimplePool::~CSimplePool() {
DebugDumpPool();
}
void CSimplePool::ObjectUnreferenced(const SObjectTag& tag) {}
CToken CSimplePool::GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) { return CToken(); }
CToken CSimplePool::GetObj(const SObjectTag& tag) { return CSimplePool::GetObj(tag, x1c_paramXfr); }
CToken CSimplePool::GetObj(const char* name) { return CToken(); }
CToken CSimplePool::GetObj(const char* name, const CVParamTransfer& xfer) { return CToken(); }
bool CSimplePool::HasObject(const SObjectTag& tag) const {
return false;
}
bool CSimplePool::ObjectIsLive(const SObjectTag& tag) const {
return false;
}
void CSimplePool::Flush() {
}
void CSimplePool::DebugDumpPool() const {
}
rstl::vector<SObjectTag> CSimplePool::GetReferencedTags() {
return rstl::vector<SObjectTag>();
}