2022-04-10 00:17:06 +00:00
|
|
|
#ifndef _IOBJECTSTORE_HPP
|
|
|
|
#define _IOBJECTSTORE_HPP
|
|
|
|
|
|
|
|
#include "types.h"
|
2022-10-01 08:32:56 +00:00
|
|
|
#include "Kyoto/CToken.hpp"
|
2022-04-10 00:17:06 +00:00
|
|
|
|
2022-08-13 01:26:00 +00:00
|
|
|
#include "rstl/auto_ptr.hpp"
|
2022-04-10 00:17:06 +00:00
|
|
|
#include "rstl/rc_ptr.hpp"
|
|
|
|
|
2022-09-13 04:26:54 +00:00
|
|
|
class IObjectStore {
|
|
|
|
public:
|
|
|
|
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;
|
|
|
|
virtual unkptr GetFactory() = 0;
|
|
|
|
virtual void Flush() = 0;
|
|
|
|
virtual void ObjectUnreferenced(const SObjectTag& tag) = 0;
|
|
|
|
};
|
|
|
|
|
2022-04-10 00:17:06 +00:00
|
|
|
#endif
|