Simulator::COMSerializer class

Base classes

class DefaultRefCounted
The default implementation of a reference counted class.
class ICOMSerializer

Constructors, destructors, conversion operators

COMSerializer(ISerializerDatabase* pDatabase)
ASSERT_SIZE(IDInfo, 0x4) protected
ASSERT_SIZE(ClassInfo, 0x24) protected

Public functions

auto AddRef() -> int override
auto Release() -> int override
auto Cast(uint32_t type) const -> void* override
auto Open(ISerializerDatabase* pDatabase, int mode_DEPRECATED) -> bool override
auto Close() -> bool override
auto LoadClassObjects(uint32_t clientVersion) -> bool override
auto SaveClassObjects() -> bool override
auto Write(ISerializerWriteStream& oSPStream, const ISimulatorSerializable* pSerializable) -> bool override
auto Read(ISerializerReadStream& iSPStream, const ISimulatorSerializable** ppSerializable, bool bLoadImmediately) -> bool override

Protected types

struct ClassInfo
struct IDInfo

Protected functions

auto GetCRC(Resource::IRecord* pRecord, uint32_t nCRCDataLength, uint32_t& nCRC) -> bool
auto reset() -> void
auto onSetSPSerializable(const ISimulatorSerializable* pSerializable, uint32_t instanceID, uint32_t classID) -> bool
auto onGetSPSerializable(ISimulatorSerializable** ppSerializable, uint32_t instanceID, uint32_t classID) -> bool
auto loadSingleObject(ISimulatorSerializable* pSerializable, uint32_t instanceID, uint32_t classID) -> bool

Protected variables

bool mbBusyWritingClassObjects
eastl::map<uint32_t, ClassInfo, eastl::less<uint32_t>> mClassIDMapForWriting
eastl::map<uint32_t, ClassInfo, eastl::less<uint32_t>> mClassIDMap
int mTotalSerializableCount
bool mbClassObjectsLoaded
bool mbClassObjectsSaved
ISerializerDatabasePtr mpDatabase
eastl::vector<uint8_t> mCRCDataBuffer