2022-10-09 01:13:17 -04:00
|
|
|
#ifndef _IOBJECTSTORE
|
|
|
|
|
#define _IOBJECTSTORE
|
2022-04-09 20:17:06 -04:00
|
|
|
|
|
|
|
|
#include "types.h"
|
2022-10-09 01:13:17 -04:00
|
|
|
|
2022-10-01 01:32:56 -07:00
|
|
|
#include "Kyoto/CToken.hpp"
|
2022-04-09 20:17:06 -04:00
|
|
|
|
2022-08-12 21:26:00 -04:00
|
|
|
#include "rstl/auto_ptr.hpp"
|
2022-04-09 20:17:06 -04:00
|
|
|
#include "rstl/rc_ptr.hpp"
|
|
|
|
|
|
2023-01-13 22:27:43 -08:00
|
|
|
class IFactory;
|
2022-09-13 00:26:54 -04:00
|
|
|
class IObjectStore {
|
|
|
|
|
public:
|
2023-01-14 02:00:14 -08:00
|
|
|
IObjectStore() {}
|
2025-05-13 11:52:37 -07:00
|
|
|
virtual CToken GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) = 0;
|
2022-09-13 00:26:54 -04:00
|
|
|
virtual CToken GetObj(const SObjectTag& tag) = 0;
|
|
|
|
|
virtual CToken GetObj(const char* name) = 0;
|
2025-05-13 11:52:37 -07:00
|
|
|
virtual CToken GetObj(const char* name, const CVParamTransfer& xfer) = 0;
|
|
|
|
|
virtual bool HasObject(const SObjectTag& tag) const = 0;
|
|
|
|
|
virtual bool ObjectIsLive(const SObjectTag& tag) const = 0;
|
|
|
|
|
virtual IFactory& GetFactory() const = 0;
|
2022-09-13 00:26:54 -04:00
|
|
|
virtual void Flush() = 0;
|
|
|
|
|
virtual void ObjectUnreferenced(const SObjectTag& tag) = 0;
|
|
|
|
|
};
|
|
|
|
|
|
2022-10-09 01:13:17 -04:00
|
|
|
#endif // _IOBJECTSTORE
|