123456789101112131415161718192021222324252627282930313233 |
- #pragma once
- #include "gc/GarbageCollector.h"
- struct Il2CppIUnknown;
- struct Il2CppObject;
- struct Il2CppException;
- namespace il2cpp
- {
- namespace vm
- {
- class LIBIL2CPP_CODEGEN_API CCW
- {
- public:
- // CreateCCW returns upcasted Il2CppIManagedObjectHolder if the CCW is cachable!
- static Il2CppIUnknown* CreateCCW(Il2CppObject* obj);
- static inline Il2CppIUnknown* GetOrCreate(Il2CppObject* obj, const Il2CppGuid& iid)
- {
- return gc::GarbageCollector::GetOrCreateCCW(obj, iid);
- }
- static Il2CppObject* Unpack(Il2CppIUnknown* unknown);
- static il2cpp_hresult_t HandleInvalidIPropertyConversion(const char* fromType, const char* toType);
- static il2cpp_hresult_t HandleInvalidIPropertyConversion(Il2CppObject* value, const char* fromType, const char* toType);
- static il2cpp_hresult_t HandleInvalidIPropertyArrayConversion(const char* fromArrayType, const char* fromElementType, const char* toElementType, il2cpp_array_size_t index);
- static il2cpp_hresult_t HandleInvalidIPropertyArrayConversion(Il2CppObject* value, const char* fromArrayType, const char* fromElementType, const char* toElementType, il2cpp_array_size_t index);
- };
- } /* namespace vm */
- } /* namespace il2cpp */
|