UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DirectLinkEndpoint.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Async/Future.h"
6#include "Containers/Array.h"
7#include "Containers/Map.h"
9#include "DirectLinkCommon.h"
10#include "HAL/Platform.h"
11#include "HAL/PlatformCrt.h"
12#include "IMessageContext.h"
13#include "Misc/EngineVersion.h"
14#include "Misc/EnumClassFlags.h"
15#include "Misc/Guid.h"
17#include "Templates/UniquePtr.h"
19
20#include <atomic>
21
22#define UE_API DIRECTLINK_API
23
25
26namespace DirectLink
27{
28class ISceneGraphNode;
29
30
39
41{
43 {
44 FString Name;
46 bool bIsPublic = false;
47 };
48
50 {
51 FEndpointInfo() = default;
52 FString Name;
53 FEngineVersion Version; // Unreal version. This field is empty when the client predates 4.27.0
56 FString UserName;
58 FString ComputerName;
59 bool bIsLocal = false;
61 };
62
64 {
66 FString Name;
67 bool bIsSource = false; // as opposed to a destination
68 bool bIsOnThisEndpoint = false;
69 bool bIsPublic = false; // if public, can be displayed as candidate for connection
70 };
71
84};
85
86
88{
89public:
90 virtual ~IEndpointObserver() = default;
91
92 virtual void OnStateChanged(const FRawInfo& RawInfo) {}
93};
94
95
98
99
100
130 : public FNoncopyable
131{
132public:
142
143public:
144 UE_API FEndpoint(const FString& InName);
146
147 UE_API void SetVerbose(bool bVerbose=true);
148
157
162 UE_API void RemoveSource(const FSourceHandle& Source);
163
171
176 UE_API void SnapshotSource(const FSourceHandle& Source);
177
178
188
194 UE_API void RemoveDestination(const FDestinationHandle& Destination);
195
203
209
215
222 UE_API EOpenStreamResult OpenStream(const FSourceHandle& SourceId, const FDestinationHandle& DestinationId);
223
229 UE_API void CloseStream(const FSourceHandle& SourceId, const FDestinationHandle& DestinationId);
230
231private:
232 TUniquePtr<class FSharedState> SharedStatePtr;
233 class FSharedState& SharedState;
234
237};
238
239} // namespace DirectLink
240
241#undef UE_API
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define UE_API
Definition SColorGradingComponentViewer.h:12
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition EngineVersion.h:12
Definition MessageEndpoint.h:70
Definition UnrealTemplate.h:321
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition UniquePtr.h:107
Definition ByteSwap.h:14
Definition Visibility.h:12
Definition Guid.h:109
Definition IMessageContext.h:26