diff options
Diffstat (limited to 'NorthstarDedicatedTest/sourceinterface.cpp')
-rw-r--r-- | NorthstarDedicatedTest/sourceinterface.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/NorthstarDedicatedTest/sourceinterface.cpp b/NorthstarDedicatedTest/sourceinterface.cpp new file mode 100644 index 00000000..49a2f164 --- /dev/null +++ b/NorthstarDedicatedTest/sourceinterface.cpp @@ -0,0 +1,13 @@ +#include "pch.h" +#include "sourceinterface.h" +#include <string> +#include "tier0.h" + +template<typename T> SourceInterface<T>::SourceInterface(const std::string& moduleName, const std::string& interfaceName) +{ + HMODULE handle = GetModuleHandleA(moduleName.c_str()); + CreateInterfaceFn createInterface = (CreateInterfaceFn)GetProcAddress(handle, interfaceName.c_str()); + m_interface = (T*)createInterface(interfaceName.c_str(), NULL); + if (m_interface == nullptr) + Error("Failed to call CreateInterface for %s in %s", interfaceName, moduleName); +}
\ No newline at end of file |