prime/include/Kyoto/IObjectStore.hpp

27 lines
723 B
C++
Raw Normal View History

#ifndef _IOBJECTSTORE
#define _IOBJECTSTORE
#include "types.h"
#include "Kyoto/CToken.hpp"
2022-08-13 01:26:00 +00:00
#include "rstl/auto_ptr.hpp"
#include "rstl/rc_ptr.hpp"
2023-01-14 06:27:43 +00:00
class IFactory;
class IObjectStore {
public:
IObjectStore() {}
virtual CToken GetObj(const SObjectTag& tag, CVParamTransfer xfer) = 0;
virtual CToken GetObj(const SObjectTag& tag) = 0;
virtual CToken GetObj(const char* name) = 0;
virtual CToken GetObj(const char* name, CVParamTransfer xfer) = 0;
virtual bool HasObject(const SObjectTag& tag) = 0;
virtual bool ObjectIsLive(const SObjectTag& tag) = 0;
2023-01-14 06:27:43 +00:00
virtual IFactory& GetFactory() = 0;
virtual void Flush() = 0;
virtual void ObjectUnreferenced(const SObjectTag& tag) = 0;
};
#endif // _IOBJECTSTORE