UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LiveLinkProvider.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
7#include "CoreMinimal.h"
8#include "CoreTypes.h"
10#include "HAL/PlatformCrt.h"
11#include "LiveLinkRole.h"
12#include "LiveLinkTypes.h"
13#include "Math/Transform.h"
18#include "UObject/NameTypes.h"
19
20class ULiveLinkRole;
21
24
26{
27public:
29
36 template<typename T>
37 static TSharedPtr<ILiveLinkProvider> CreateLiveLinkProvider(const FString& ProviderName,
39 {
40 return MakeShared<T>(ProviderName, MoveTemp(EndpointBuilder));
41 }
42
43 virtual ~ILiveLinkProvider() {}
44
57
62 virtual void RemoveSubject(const FName SubjectName) = 0;
63
74 virtual bool UpdateSubjectFrameData(const FName SubjectName, FLiveLinkFrameDataStruct&& FrameData, const TMap<FName, FString>& ExtraAnnotations = {}) = 0;
75
77 virtual bool HasConnection() const = 0;
78
80 virtual FDelegateHandle RegisterConnStatusChangedHandle(const FLiveLinkProviderConnectionStatusChanged::FDelegate& ConnStatusChanged) = 0;
81
84};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SubclassOf.h:30
Definition LiveLinkRole.h:18
Definition MessageEndpointBuilder.h:18
Definition LiveLinkProvider.h:26
virtual ~ILiveLinkProvider()
Definition LiveLinkProvider.h:43
virtual FDelegateHandle RegisterConnStatusChangedHandle(const FLiveLinkProviderConnectionStatusChanged::FDelegate &ConnStatusChanged)=0
virtual void RemoveSubject(const FName SubjectName)=0
virtual bool UpdateSubjectFrameData(const FName SubjectName, FLiveLinkFrameDataStruct &&FrameData, const TMap< FName, FString > &ExtraAnnotations={})=0
virtual bool UpdateSubjectStaticData(const FName SubjectName, TSubclassOf< ULiveLinkRole > Role, FLiveLinkStaticDataStruct &&StaticData, const TMap< FName, FString > &ExtraAnnotations={})=0
virtual void UnregisterConnStatusChangedHandle(FDelegateHandle Handle)=0
static TSharedPtr< ILiveLinkProvider > CreateLiveLinkProvider(const FString &ProviderName, struct FMessageEndpointBuilder &&EndpointBuilder)
Definition LiveLinkProvider.h:37
static LIVELINKMESSAGEBUSFRAMEWORK_API TSharedPtr< ILiveLinkProvider > CreateLiveLinkProvider(const FString &ProviderName)
Definition LiveLinkProvider.cpp:615
virtual bool HasConnection() const =0