CCWBase.h 828 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "vm/ComObjectBase.h"
  3. namespace il2cpp
  4. {
  5. namespace vm
  6. {
  7. struct LIBIL2CPP_CODEGEN_API NOVTABLE CCWBase : ComObjectBase, Il2CppIManagedObjectHolder, Il2CppIWeakReferenceSource
  8. {
  9. private:
  10. Il2CppObject* m_ManagedObject;
  11. public:
  12. inline CCWBase(Il2CppObject* obj) :
  13. m_ManagedObject(obj)
  14. {
  15. IL2CPP_ASSERT(obj != NULL);
  16. }
  17. IL2CPP_FORCE_INLINE Il2CppObject* GetManagedObjectInline() const
  18. {
  19. return m_ManagedObject;
  20. }
  21. il2cpp_hresult_t GetRuntimeClassNameImpl(Il2CppHString* className);
  22. virtual Il2CppObject* STDCALL GetManagedObject() IL2CPP_OVERRIDE;
  23. virtual il2cpp_hresult_t STDCALL GetWeakReference(Il2CppIWeakReference** weakReference) IL2CPP_FINAL IL2CPP_OVERRIDE;
  24. };
  25. }
  26. }