Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI PositionTrackingDBServer(::Level& level, ::Scheduler& callbackContext);
44
45 MCNAPI void
47
49
50 MCNAPI void _initializeNewPositionTrackerId(::PositionTrackingId& inOut, bool writeToPersistent);
51
52 MCNAPI ::PositionTrackingDB::ResultCode destroyTracker(::PositionTrackingId const& id, bool forceLocalCacheEntry);
53
54 MCAPI ::PositionTrackingDB::ResultCode
55 findTracker(::PositionTrackingId const& id, ::PositionTrackingDB::TrackingRecord** outRecord);
56
58
59 MCNAPI bool tick();
60
62 // NOLINTEND
63
64public:
65 // constructor thunks
66 // NOLINTBEGIN
67 MCNAPI void* $ctor(::Level& level, ::Scheduler& callbackContext);
68 // NOLINTEND
69
70public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCNAPI void $dtor();
74 // NOLINTEND
75};
76
77} // namespace PositionTrackingDB
Definition LevelStorage.h:26
Definition Level.h:255
Definition PositionTrackingDBClientRequestPacket.h:20
Definition CacheManager.h:18
MCAPI::PositionTrackingDB::ResultCode destroyTracker(::PositionTrackingId const &id, bool forceLocalCacheEntry)
MCAPI void _beginWriteTrackingRecordToLevelStorage(::PositionTrackingDB::TrackingRecord const *record, bool forceWrite)
MCAPI void _broadcastUpdateToClients(::PositionTrackingDB::TrackingRecord const *record)
MCAPI void onReceivePacket(::PositionTrackingDBClientRequestPacket const &packet)
MCAPI void _initializeNewPositionTrackerId(::PositionTrackingId &inOut, bool writeToPersistent)
MCAPI PositionTrackingDBServer(::Level &level, ::Scheduler &callbackContext)
MCAPI void * $ctor(::Level &level, ::Scheduler &callbackContext)
Definition TrackingRecord.h:21
Definition PositionTrackingId.h:5
Definition Scheduler.h:15
Definition TaskGroup.h:85