aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/sourceinterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'NorthstarDedicatedTest/sourceinterface.cpp')
-rw-r--r--NorthstarDedicatedTest/sourceinterface.cpp13
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