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;
14class Scheduler;
15class TaskGroup;
16namespace PositionTrackingDB { class CacheManager; }
17namespace PositionTrackingDB { class TrackingRecord; }
18// clang-format on
19
20namespace PositionTrackingDB {
21
22class PositionTrackingDBServer : public ::std::enable_shared_from_this<::PositionTrackingDB::PositionTrackingDBServer> {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
27 ::ll::TypedStorage<8, 8, ::Scheduler&> mCallbackContext;
28 ::ll::TypedStorage<8, 8, ::LevelStorage&> mLevelStorage;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mAsyncTaskGroup;
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PositionTrackingDB::CacheManager>> mLocalCache;
31 ::ll::TypedStorage<8, 24, ::std::vector<::PositionTrackingDB::TrackingRecord*>> mPendingUpdateQueue;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 PositionTrackingDBServer& operator=(PositionTrackingDBServer const&);
37 PositionTrackingDBServer(PositionTrackingDBServer const&);
38 PositionTrackingDBServer();
39
40public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI PositionTrackingDBServer(::Level& level, ::Scheduler& callbackContext);
44
45 MCAPI void
46 _beginWriteTrackingRecordToLevelStorage(::PositionTrackingDB::TrackingRecord const* record, bool forceWrite);
47
48 MCAPI void _broadcastUpdateToClients(::PositionTrackingDB::TrackingRecord const* record);
49
50 MCAPI void _initializeNewPositionTrackerId(::PositionTrackingId& inOut, bool writeToPersistent);
51
52 MCAPI ::PositionTrackingDB::ResultCode destroyTracker(::PositionTrackingId const& id, bool forceLocalCacheEntry);
53
54 MCAPI ::PositionTrackingDB::ResultCode
55 findTracker(::PositionTrackingId const& id, ::PositionTrackingDB::TrackingRecord** outRecord);
56
57 MCAPI void onReceivePacket(::PositionTrackingDBClientRequestPacket const& packet);
58
59 MCAPI bool tick();
60
61 MCAPI ~PositionTrackingDBServer();
62 // NOLINTEND
63
64public:
65 // constructor thunks
66 // NOLINTBEGIN
67 MCAPI void* $ctor(::Level& level, ::Scheduler& callbackContext);
68 // NOLINTEND
69
70public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCAPI void $dtor();
74 // NOLINTEND
75};
76
77} // namespace PositionTrackingDB
Definition LevelStorage.h:25
Definition Level.h:253
Definition PositionTrackingDBClientRequestPacket.h:20
Definition CacheManager.h:18
Definition TrackingRecord.h:21
Definition PositionTrackingId.h:5
Definition Scheduler.h:14
Definition TaskGroup.h:61