UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SessionInstanceInfo.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/Guid.h"
7#include "IMessageContext.h"
8#include "IMessageBus.h"
9#include "MessageEndpoint.h"
11#include "ISessionInfo.h"
12
17
22 : public TSharedFromThis<FSessionInstanceInfo>
24{
25public:
26
29
31 virtual ~FSessionInstanceInfo();
32
41
42public:
43
51
59
60public:
61
62 //~ IGameInstanceInfo interface
63
64 virtual void ExecuteCommand(const FString& CommandString) override;
65
66 virtual const FString& GetBuildDate() const override
67 {
68 return BuildDate;
69 }
70
71 virtual const FString& GetCurrentLevel() const override
72 {
73 return CurrentLevel;
74 }
75
76 virtual const FString& GetDeviceName() const override
77 {
78 return DeviceName;
79 }
80
81 virtual int32 GetEngineVersion() const override
82 {
83 return EngineVersion;
84 }
85
86 virtual const FGuid& GetInstanceId() const override
87 {
88 return InstanceId;
89 }
90
91 virtual const FString& GetInstanceName() const override
92 {
93 return InstanceName;
94 }
95
96 virtual const FString& GetInstanceType() const override
97 {
98 return InstanceType;
99 }
100
101 virtual const FDateTime& GetLastUpdateTime() const override
102 {
103 return LastUpdateTime;
104 }
105
107 {
108 return LogMessages;
109 }
110
112 {
113 return Owner.Pin();
114 }
115
116 virtual const FString& GetPlatformName() const override
117 {
118 return PlatformName;
119 }
120
121 virtual float GetWorldTimeSeconds() const override
122 {
123 return WorldTimeSeconds;
124 }
125
126 virtual bool IsAuthorized() const override
127 {
128 return Authorized;
129 }
130
131 DECLARE_DERIVED_EVENT(FSessionInstanceInfo, ISessionInstanceInfo::FLogReceivedEvent, FLogReceivedEvent);
133 {
134 return LogReceivedEvent;
135 }
136
137 virtual bool PlayHasBegun() const override
138 {
139 return HasBegunPlay;
140 }
141
142 virtual void Terminate() override;
143
144private:
145
147 void HandleSessionLogMessage(const FSessionServiceLog& Message, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context);
148
149private:
150
152 FMessageAddress ApplicationAddress;
153
155 bool Authorized = false;
156
158 FString BuildDate;
159
161 FString CurrentLevel;
162
164 FString DeviceName;
165
167 FMessageAddress EngineAddress;
168
170 int32 EngineVersion = 0;
171
173 bool HasBegunPlay = false;
174
176 FGuid InstanceId;
177
179 FString InstanceName;
180
182 FString InstanceType;
183
185 FDateTime LastUpdateTime;
186
189
192
195
197 FString PlatformName;
198
200 float WorldTimeSeconds = 0.0f;
201
202private:
203
205 FLogReceivedEvent LogReceivedEvent;
206};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition SessionInstanceInfo.h:24
virtual float GetWorldTimeSeconds() const override
Definition SessionInstanceInfo.h:121
virtual const FString & GetPlatformName() const override
Definition SessionInstanceInfo.h:116
virtual int32 GetEngineVersion() const override
Definition SessionInstanceInfo.h:81
virtual void Terminate() override
Definition SessionInstanceInfo.cpp:85
virtual FLogReceivedEvent & OnLogReceived() override
Definition SessionInstanceInfo.h:132
virtual TSharedPtr< ISessionInfo > GetOwnerSession() override
Definition SessionInstanceInfo.h:111
virtual const FString & GetInstanceType() const override
Definition SessionInstanceInfo.h:96
void UpdateFromMessage(const FEngineServicePong &Message, const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context)
Definition SessionInstanceInfo.cpp:34
virtual const FString & GetInstanceName() const override
Definition SessionInstanceInfo.h:91
virtual const FString & GetDeviceName() const override
Definition SessionInstanceInfo.h:76
virtual const FString & GetBuildDate() const override
Definition SessionInstanceInfo.h:66
virtual const TArray< TSharedPtr< FSessionLogMessage > > & GetLog() override
Definition SessionInstanceInfo.h:106
virtual bool PlayHasBegun() const override
Definition SessionInstanceInfo.h:137
virtual const FDateTime & GetLastUpdateTime() const override
Definition SessionInstanceInfo.h:101
virtual ~FSessionInstanceInfo()
Definition SessionInstanceInfo.cpp:26
virtual const FString & GetCurrentLevel() const override
Definition SessionInstanceInfo.h:71
virtual bool IsAuthorized() const override
Definition SessionInstanceInfo.h:126
DECLARE_DERIVED_EVENT(FSessionInstanceInfo, ISessionInstanceInfo::FLogReceivedEvent, FLogReceivedEvent)
virtual void ExecuteCommand(const FString &CommandString) override
Definition SessionInstanceInfo.cpp:76
virtual const FGuid & GetInstanceId() const override
Definition SessionInstanceInfo.h:86
FSessionInstanceInfo()
Definition SessionInstanceInfo.h:28
Definition ISessionInstanceInfo.h:14
Definition Array.h:670
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
UE_FORCEINLINE_HINT TSharedPtr< ObjectType, Mode > Pin() const &
Definition SharedPointer.h:1512
Definition DateTime.h:76
Definition EngineServiceMessages.h:29
Definition Guid.h:109
Definition IMessageContext.h:26
Definition SessionLogMessage.h:12
Definition SessionServiceMessages.h:94
Definition SessionServiceMessages.h:41