2022-04-10 00:17:06 +00:00
|
|
|
#ifndef _CFACTORYMGR_HPP
|
|
|
|
#define _CFACTORYMGR_HPP
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
2022-07-14 16:24:26 +00:00
|
|
|
#include "CToken.hpp"
|
|
|
|
#include "IObjectStore.hpp"
|
|
|
|
#include "TGameTypes.hpp"
|
|
|
|
|
2022-04-10 00:17:06 +00:00
|
|
|
class CFactoryMgr {
|
|
|
|
public:
|
|
|
|
private:
|
|
|
|
u8 pad[0x38];
|
|
|
|
};
|
|
|
|
|
2022-07-14 16:24:26 +00:00
|
|
|
class CFactoryFnReturn {
|
|
|
|
public:
|
|
|
|
template < typename T >
|
|
|
|
CFactoryFnReturn(T* ptr);
|
|
|
|
// TODO this forces inlining, were they really manually specialized?
|
|
|
|
// : obj(TToken< T >::GetIObjObjectFor(ptr).release()) {}
|
|
|
|
|
|
|
|
private:
|
|
|
|
rstl::auto_ptr< TObjOwnerDerivedFromIObjUntyped > obj;
|
|
|
|
};
|
|
|
|
|
|
|
|
CFactoryFnReturn FStringTableFactory(const SObjectTag& tag, CInputStream& in, const CVParamTransfer& xfer);
|
|
|
|
|
2022-04-10 00:17:06 +00:00
|
|
|
#endif
|