LeviLamina
Loading...
Searching...
No Matches
PositionTrackingDBServer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/position_trackingdb/ResultCode.h"
7
8// auto generated forward declare list
9// clang-format off
10class Level;
11class LevelStorage;
13class Scheduler;
14class TaskGroup;
15namespace PositionTrackingDB { class CacheManager; }
16namespace PositionTrackingDB { class TrackingRecord; }
17// clang-format on
18
19namespace PositionTrackingDB {
20
21class PositionTrackingDBServer : public ::std::enable_shared_from_this<::PositionTrackingDB::PositionTrackingDBServer> {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
26 ::ll::TypedStorage<8, 8, ::Scheduler&> mCallbackContext;
27 ::ll::TypedStorage<8, 8, ::LevelStorage&> mLevelStorage;
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mAsyncTaskGroup;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PositionTrackingDB::CacheManager>> mLocalCache;
30 ::ll::TypedStorage<8, 24, ::std::vector<::PositionTrackingDB::TrackingRecord*>> mPendingUpdateQueue;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 PositionTrackingDBServer& operator=(PositionTrackingDBServer const&);
36 PositionTrackingDBServer(PositionTrackingDBServer const&);
37 PositionTrackingDBServer();
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI PositionTrackingDBServer(::Level& level, ::Scheduler& callbackContext);
43
44 MCAPI void _addRecordToPendingUpdateQueue(::PositionTrackingDB::TrackingRecord* record);
45
46 MCAPI void
47 _beginWriteTrackingRecordToLevelStorage(::PositionTrackingDB::TrackingRecord const* record, bool forceWrite);
48
49 MCAPI void _broadcastUpdateToClients(::PositionTrackingDB::TrackingRecord const* record);
50
51 MCAPI void _initializeNewPositionTrackerId(::PositionTrackingId& inOut, bool writeToPersistent);
52
53 MCAPI ::PositionTrackingDB::ResultCode destroyTracker(::PositionTrackingId const& id, bool forceLocalCacheEntry);
54
55 MCAPI ::PositionTrackingDB::ResultCode
56 findTracker(::PositionTrackingId const& id, ::PositionTrackingDB::TrackingRecord** outRecord);
57
58 MCAPI ~PositionTrackingDBServer();
59 // NOLINTEND
60
61public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor(::Level& level, ::Scheduler& callbackContext);
65 // NOLINTEND
66
67public:
68 // destructor thunk
69 // NOLINTBEGIN
70 MCAPI void $dtor();
71 // NOLINTEND
72};
73
74} // namespace PositionTrackingDB
Definition LevelStorage.h:25
Definition Level.h:250
Definition CacheManager.h:19
Definition TrackingRecord.h:22
Definition PositionTrackingId.h:5
Definition Scheduler.h:14
Definition TaskGroup.h:57