Badminton-Scoreboard/Libraries/libil2cpp/include/vm/CCW.h
2023-10-08 10:24:48 +08:00

34 lines
1.2 KiB
C++

#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 */