CommonLibVR
Loading...
Searching...
No Matches
GlobalLocations.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
4#include "RE/B/BSTSingleton.h"
5#include "RE/L/Location.h"
6
7namespace RE
8{
9 namespace BSResource
10 {
12 public Location, // 00
13 public BSTSingletonSDM<GlobalLocations> // 10
14 {
15 public:
16 inline static constexpr auto RTTI = RTTI_BSResource____GlobalLocations;
17 inline static constexpr auto VTABLE = VTABLE_BSResource____GlobalLocations;
18
19 struct Entry
20 {
21 public:
22 // members
23 Entry* next; // 00
25 std::uint32_t priority; // 10
26 std::uint32_t pad14; // 14
27 };
28 static_assert(sizeof(Entry) == 0x18);
29
30 ~GlobalLocations() override; // 00
31
32 // override (Location)
33 ErrorCode DoMount() override; // 01
34 void DoUnmount() override; // 02
35 ErrorCode DoCreateStream(const char* a_path, BSTSmartPointer<Stream>& a_stream, Location*& a_location, bool a_readOnly) override; // 03
36 ErrorCode DoCreateAsyncStream(const char* a_path, BSTSmartPointer<AsyncStream>& a_out, Location*& a_location, bool a_readOnly) override; // 04
37 ErrorCode DoTraversePrefix(const char* a_path, LocationTraverser& a_traverser) override; // 05
38 ErrorCode DoGetInfo1(const char* a_path, Info& a_info, Location*& a_location) override; // 06
39 ErrorCode DoGetInfo2(const char* a_path, Info& a_info, LocationTraverser* a_traverser) override; // 07
40 ErrorCode DoDelete(const char* a_path) override; // 08
41
42 // members
43 std::uint8_t pad11; // 11
44 std::uint16_t pad12; // 12
45 mutable BSSpinLock lock; // 14
46 std::uint32_t pad1C; // 1C
47 Entry* head; // 20
49 Entry* free; // 30
50 };
51 static_assert(sizeof(GlobalLocations) == 0x38);
52 }
53}
Definition GlobalLocations.h:14
ErrorCode DoCreateStream(const char *a_path, BSTSmartPointer< Stream > &a_stream, Location *&a_location, bool a_readOnly) override
ErrorCode DoCreateAsyncStream(const char *a_path, BSTSmartPointer< AsyncStream > &a_out, Location *&a_location, bool a_readOnly) override
Entry * free
Definition GlobalLocations.h:49
ErrorCode DoDelete(const char *a_path) override
Entry * head
Definition GlobalLocations.h:47
std::uint16_t pad12
Definition GlobalLocations.h:44
std::uint8_t pad11
Definition GlobalLocations.h:43
ErrorCode DoGetInfo2(const char *a_path, Info &a_info, LocationTraverser *a_traverser) override
static constexpr auto RTTI
Definition GlobalLocations.h:16
ErrorCode DoTraversePrefix(const char *a_path, LocationTraverser &a_traverser) override
ErrorCode DoGetInfo1(const char *a_path, Info &a_info, Location *&a_location) override
static constexpr auto VTABLE
Definition GlobalLocations.h:17
std::uint32_t pad1C
Definition GlobalLocations.h:46
ErrorCode DoMount() override
Entry * pendingMount
Definition GlobalLocations.h:48
BSSpinLock lock
Definition GlobalLocations.h:45
Definition LocationTraverser.h:10
Definition Location.h:17
Definition BSAtomic.h:92
Definition BSTSmartPointer.h:37
ErrorCode
Definition ErrorCodes.h:8
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_BSResource____GlobalLocations(static_cast< std::uint64_t >(690353))
constexpr std::array< REL::ID, 1 > VTABLE_BSResource____GlobalLocations
Definition Offsets_VTABLE.h:9415
Definition GlobalLocations.h:20
std::uint32_t pad14
Definition GlobalLocations.h:26
Location * location
Definition GlobalLocations.h:24
Entry * next
Definition GlobalLocations.h:23
std::uint32_t priority
Definition GlobalLocations.h:25
Definition Info.h:10
Definition BSTSingleton.h:50