LeviLamina
Loading...
Searching...
No Matches
SessionInfoManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Connector.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace Bedrock { class SessionInfo; }
13namespace Bedrock { class SessionInfoManagerImpl; }
14// clang-format on
15
16namespace Bedrock {
17
19 public ::Bedrock::ImplBase<::Bedrock::SessionInfoManager> {
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 virtual void initialize() = 0;
24
25 virtual void beginNewSession() = 0;
26
27 virtual ::std::shared_ptr<::Bedrock::SessionInfo const> getCurrentSession() const = 0;
28
29 virtual ::Bedrock::AccessUpdateEditor<
30 ::std::shared_ptr<::Bedrock::SessionInfo>,
33 ::std::mutex>
34 editCurrentSession() = 0;
35
36 virtual ::Bedrock::PubSub::Connector<void(
38 ::std::shared_ptr<::Bedrock::SessionInfo const> const&
39 )>&
40 onCurrentSessionChanged() = 0;
41
42 virtual ::std::string serializeSession(::Bedrock::SessionInfo const& session) const = 0;
43
44 virtual ::std::shared_ptr<::Bedrock::SessionInfo> deserializeSession(::std::string_view contents) const = 0;
45 // NOLINTEND
46};
47
48} // namespace Bedrock
Definition EnableNonOwnerReferences.h:7
Definition _HeaderOutputPredefine.h:362
Definition NonOwnerPointer.h:9
Definition SessionInfoManagerImpl.h:19
Definition SessionInfoManager.h:19
Definition SessionInfo.h:7
Definition _HeaderOutputPredefine.h:371