Files

27 lines
755 B
C++
Raw Permalink Normal View History

#ifndef _IOBJECTSTORE
#define _IOBJECTSTORE
#include "types.h"
#include "Kyoto/CToken.hpp"
2022-08-12 21:26:00 -04:00
#include "rstl/auto_ptr.hpp"
#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:
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;
};
#endif // _IOBJECTSTORE