mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
17 lines
632 B
C
17 lines
632 B
C
|
#pragma once
|
||
|
|
||
|
struct FactoryInfo_t;
|
||
|
|
||
|
// TODO: Make this abstract and make it base class of CFactory.
|
||
|
class IFactory
|
||
|
{
|
||
|
public:
|
||
|
virtual void AddFactory(const string& svFactoryName, void* pFactory) = 0;
|
||
|
virtual void AddFactory(FactoryInfo_t factoryInfo) = 0;
|
||
|
virtual size_t GetVersionIndex(const string& svInterfaceName) const = 0;
|
||
|
virtual void GetFactoriesFromRegister(void) = 0;
|
||
|
virtual CMemory GetFactoryPtr(const string& svFactoryName, bool versionLess = true) const = 0;
|
||
|
virtual const char* GetFactoryFullName(const string& svFactoryName) const = 0;
|
||
|
};
|
||
|
|
||
|
constexpr const char* FACTORY_INTERFACE_VERSION = "VFactorySystem001";
|