25 lines
665 B
C++
25 lines
665 B
C++
#pragma once
|
|
|
|
#include "il2cpp-api-types.h"
|
|
#include "il2cpp-vm-support.h"
|
|
#include "os/Mutex.h"
|
|
#include <map>
|
|
|
|
namespace il2cpp
|
|
{
|
|
namespace utils
|
|
{
|
|
typedef std::map<Il2CppMethodPointer, const VmMethod*> NativeDelegateMap;
|
|
|
|
class NativeDelegateMethodCache
|
|
{
|
|
public:
|
|
static const VmMethod* GetNativeDelegate(Il2CppMethodPointer nativeFunctionPointer);
|
|
static void AddNativeDelegate(Il2CppMethodPointer nativeFunctionPointer, const VmMethod* managedMethodInfo);
|
|
private:
|
|
static il2cpp::os::FastMutex m_CacheMutex;
|
|
static NativeDelegateMap m_NativeDelegateMethods;
|
|
};
|
|
} // namespace utils
|
|
} // namespace il2cpp
|