14#include "CoreMinimal.h"
16#include "Interfaces/IPluginManager.h"
54 template <CConvertibleTo<const TCHAR*>... DllFiles>
58 (Dlls.Emplace(dllFiles), ...);
66 template <CConvertibleTo<const TCHAR*>... DllFiles>
67 FScopedDllSet(TSharedPtr<IPlugin> plugin, FString
const& pushPath, DllFiles... dllFiles)
70 FString absPushPath = plugin->GetBaseDir() / pushPath;
72 (Dlls.Emplace(dllFiles), ...);
77 TArray<FScopedDll> Dlls;
94 template <CObservableModule M>
99 template <CConvertibleTo<const TCHAR*>... DllFiles>
103 [pushPath, dllFiles...]
#define ASSERT_CRASH(condition,...)
Use this instead of check macro if the checked expression shouldn't be ignored in shipping builds....
This header exists because STL headers in Android doesn't define STL concepts (other than same_as whi...
Namespace for utilities handling Unreal modules.
FString InferModuleName()
Infer the module name from an input type. This exists because there's a very reliable naming conventi...
Handle multiple DLL files in one set and an optional base path for them.
FScopedDllSet(TSharedPtr< IPlugin > plugin, FString const &pushPath, DllFiles... dllFiles)
FScopedDllSet(FString const &pushPath, DllFiles... dllFiles)
RAII wrapper around GetDllHandle / FreeDllHandle.
FScopedDll(const TCHAR *fileName)
RAII wrapper around PushDllDirectory / PopDllDirectory.
FScopedSearchPath(FString const &path)
List DLL's which is used by a specific module and its owning plugin.
TModuleBoundDlls(const TCHAR *pushPath, DllFiles... dllFiles)
A wrapper around a given object which lifespan is bound to given module.