CommonLibVR
HandlePolicy.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTHashMap.h"
5 
6 namespace RE
7 {
8  namespace SkyrimScript
9  {
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_SkyrimScript__HandlePolicy;
14  inline static constexpr auto VTABLE = VTABLE_SkyrimScript__HandlePolicy;
15 
16  ~HandlePolicy() override; // 00
17 
18  // override (BSScript::IObjectHandlePolicy)
19  bool HandleIsType(VMTypeID a_typeID, VMHandle a_handle) const override; // 01
20  bool IsHandleObjectAvailable(VMHandle a_handle) const override; // 02
21  VMHandle EmptyHandle() const override; // 03
22  VMHandle GetHandleForObject(VMTypeID a_typeID, const void* a_srcData) const override; // 04
23  bool HasParent(VMHandle a_handle) const override; // 05
24  VMHandle GetParentHandle(VMHandle a_handle) const override; // 06
25  VMHandle GetHandleScriptsMovedFrom(VMHandle a_handle) const override; // 07
26  void* GetObjectForHandle(VMTypeID a_typeID, VMHandle a_handle) const override; // 08
27  void PersistHandle(VMHandle a_handle) override; // 09
28  void ReleaseHandle(VMHandle a_handle) override; // 0A
29  void ConvertHandleToString(VMHandle a_handle, BSFixedString& a_strOut) const override; // 0B
30 
31  // members
32  std::uint64_t unk08; // 08
35  };
36  static_assert(sizeof(HandlePolicy) == 0x70);
37  }
38 }
Definition: BSTHashMap.h:21
Definition: HandlePolicy.h:11
void * GetObjectForHandle(VMTypeID a_typeID, VMHandle a_handle) const override
bool IsHandleObjectAvailable(VMHandle a_handle) const override
void ConvertHandleToString(VMHandle a_handle, BSFixedString &a_strOut) const override
VMHandle EmptyHandle() const override
VMHandle GetHandleForObject(VMTypeID a_typeID, const void *a_srcData) const override
BSTHashMap< UnkKey, UnkValue > unk40
Definition: HandlePolicy.h:34
static constexpr auto RTTI
Definition: HandlePolicy.h:13
VMHandle GetHandleScriptsMovedFrom(VMHandle a_handle) const override
bool HasParent(VMHandle a_handle) const override
std::uint64_t unk08
Definition: HandlePolicy.h:32
static constexpr auto VTABLE
Definition: HandlePolicy.h:14
void ReleaseHandle(VMHandle a_handle) override
void PersistHandle(VMHandle a_handle) override
VMHandle GetParentHandle(VMHandle a_handle) const override
bool HandleIsType(VMTypeID a_typeID, VMHandle a_handle) const override
BSTHashMap< UnkKey, UnkValue > unk10
Definition: HandlePolicy.h:33
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_SkyrimScript__HandlePolicy
Definition: Offsets_VTABLE.h:12682
std::uint32_t VMTypeID
Definition: BSCoreTypes.h:9
std::uint64_t VMHandle
Definition: BSCoreTypes.h:7
constexpr REL::ID RTTI_SkyrimScript__HandlePolicy(static_cast< std::uint64_t >(689126))
Definition: IObjectHandlePolicy.h:13