CCWBase.h
828 Bytes
#pragma once
#include "vm/ComObjectBase.h"
namespace il2cpp
{
namespace vm
{
struct LIBIL2CPP_CODEGEN_API NOVTABLE CCWBase : ComObjectBase, Il2CppIManagedObjectHolder, Il2CppIWeakReferenceSource
{
private:
Il2CppObject* m_ManagedObject;
public:
inline CCWBase(Il2CppObject* obj) :
m_ManagedObject(obj)
{
IL2CPP_ASSERT(obj != NULL);
}
IL2CPP_FORCE_INLINE Il2CppObject* GetManagedObjectInline() const
{
return m_ManagedObject;
}
il2cpp_hresult_t GetRuntimeClassNameImpl(Il2CppHString* className);
virtual Il2CppObject* STDCALL GetManagedObject() IL2CPP_OVERRIDE;
virtual il2cpp_hresult_t STDCALL GetWeakReference(Il2CppIWeakReference** weakReference) IL2CPP_FINAL IL2CPP_OVERRIDE;
};
}
}