CommonLibSSE NG
Loading...
Searching...
No Matches
IObjectHandlePolicy.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/F/FormTypes.h"
5
6namespace RE
7{
8 class TESForm;
9
10 namespace BSScript
11 {
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_BSScript__IObjectHandlePolicy;
16
17 virtual ~IObjectHandlePolicy(); // 00
18
19 // add
20 [[nodiscard]] virtual bool HandleIsType(VMTypeID a_typeID, VMHandle a_handle) const = 0; // 01
21 [[nodiscard]] virtual bool IsHandleObjectAvailable(VMHandle a_handle) const = 0; // 02
22 [[nodiscard]] virtual VMHandle EmptyHandle() const = 0; // 03
23 virtual VMHandle GetHandleForObject(VMTypeID a_typeID, const void* a_srcData) const = 0; // 04
24 [[nodiscard]] virtual bool HasParent(VMHandle a_handle) const = 0; // 05
25 [[nodiscard]] virtual VMHandle GetParentHandle(VMHandle a_handle) const = 0; // 06
26 [[nodiscard]] virtual VMHandle GetHandleScriptsMovedFrom(VMHandle a_handle) const = 0; // 07
27 [[nodiscard]] virtual void* GetObjectForHandle(VMTypeID a_typeID, VMHandle a_handle) const = 0; // 08
28 virtual void PersistHandle(VMHandle a_handle) = 0; // 09
29 virtual void ReleaseHandle(VMHandle a_handle) = 0; // 0A
30 virtual void ConvertHandleToString(VMHandle a_handle, BSFixedString& a_strOut) const = 0; // 0B
31
32 bool HandleIsType(FormType a_typeID, VMHandle a_handle);
33 VMHandle GetHandleForObject(FormType a_typeID, const TESForm* a_srcData);
35 };
36 static_assert(sizeof(IObjectHandlePolicy) == 0x8);
37 }
38}
Definition TESForm.h:35
Definition AbsorbEffect.h:6
FormType
Definition FormTypes.h:139
constexpr REL::VariantID RTTI_BSScript__IObjectHandlePolicy(689077, 396932, 0x1f4b898)
std::uint32_t VMTypeID
Definition BSCoreTypes.h:9
std::uint64_t VMHandle
Definition BSCoreTypes.h:7
Definition IObjectHandlePolicy.h:13
virtual VMHandle GetHandleScriptsMovedFrom(VMHandle a_handle) const =0
virtual void * GetObjectForHandle(VMTypeID a_typeID, VMHandle a_handle) const =0
virtual VMHandle GetHandleForObject(VMTypeID a_typeID, const void *a_srcData) const =0
TESForm * GetObjectForHandle(FormType a_typeID, VMHandle a_handle)
bool HandleIsType(FormType a_typeID, VMHandle a_handle)
virtual VMHandle GetParentHandle(VMHandle a_handle) const =0
static constexpr auto RTTI
Definition IObjectHandlePolicy.h:15
virtual void ReleaseHandle(VMHandle a_handle)=0
virtual bool HandleIsType(VMTypeID a_typeID, VMHandle a_handle) const =0
virtual bool IsHandleObjectAvailable(VMHandle a_handle) const =0
virtual void PersistHandle(VMHandle a_handle)=0
virtual void ConvertHandleToString(VMHandle a_handle, BSFixedString &a_strOut) const =0
virtual VMHandle EmptyHandle() const =0
VMHandle GetHandleForObject(FormType a_typeID, const TESForm *a_srcData)
virtual bool HasParent(VMHandle a_handle) const =0