r5sdk/r5dev/pluginsdk/ifactory.h
Marvin D 10b87b3bbc PluginSDK init and PluginSystem improvements
* Plugins can be loaded now (commented)
2022-08-21 00:59:55 +02:00

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";