LeviLamina
Loading...
Searching...
No Matches
WorldActivitySessionTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/world/SessionTrackerOperationResult.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/threading/TaskGroup.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/core/utility/pub_sub/Subscription.h"
11#include "mc/world/events/ClientInstanceEventListener.h"
12#include "mc/world/events/EventResult.h"
13
14// auto generated forward declare list
15// clang-format off
16class ClientInstance;
17namespace Social { class IUserManager; }
18namespace World { class WorldJoinedRecord; }
19// clang-format on
20
21namespace World {
22
23class WorldActivitySessionTracker : public ::ClientInstanceEventListener,
24 public ::std::enable_shared_from_this<::World::WorldActivitySessionTracker> {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::World::WorldJoinedRecord>>> mJoinedRecords;
29 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string> const> mRecordFilePath;
30 ::ll::TypedStorage<8, 336, ::TaskGroup> mSerializeJoinedActivity;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSignInSubscription;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 WorldActivitySessionTracker();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~WorldActivitySessionTracker() /*override*/ = default;
42
43 virtual ::EventResult onClientEnteredWorld(::ClientInstance& instance) /*override*/;
44 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI explicit WorldActivitySessionTracker(::Core::PathBuffer<::std::string> const& tempDirectory);
50
51 MCAPI ::World::SessionTrackerOperationResult
52 _addOrUpdate(::std::unique_ptr<::World::WorldJoinedRecord> pJoinedRecord);
53
54 MCAPI void initialize(::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager);
55 // NOLINTEND
56
57public:
58 // constructor thunks
59 // NOLINTBEGIN
60 MCAPI void* $ctor(::Core::PathBuffer<::std::string> const& tempDirectory);
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI ::EventResult $onClientEnteredWorld(::ClientInstance& instance);
67 // NOLINTEND
68};
69
70} // namespace World
Definition ClientInstance.h:5
Definition IUserManager.h:7
Definition WorldActivitySessionTracker.h:7
Definition WorldJoinedRecord.h:7