11#define UE_API LIVELINKMESSAGEBUSFRAMEWORK_API
37 const FString ProviderName;
38 const FString MachineName;
81 void ClearTrackedSubject(
const FName& SubjectName);
115 template<
typename MessageType>
125 if (Addresses.
Num() != 0)
132 template<
typename MessageType>
135 if (!Message || !Address.
IsValid())
144 template<
typename MessageType>
147 if (!Message || !Addresses.
Num())
156 template<
typename MessageType>
164 MessageEndpoint->Publish(Message);
168 template<
typename MessageType>
173 MessageEndpoint->Subscribe<MessageType>();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
EMessageFlags
Definition IMessageContext.h:186
#define UE_API
Definition LiveLinkProviderImpl.h:11
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
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition SharedPointer.h:153
Definition SubclassOf.h:30
static FDateTime MaxValue()
Definition DateTime.h:656
Definition LiveLinkAnimationTypes.h:50
Definition LiveLinkMessages.h:101
Definition LiveLinkMessages.h:110
static UE_API FName TopologyModeAnnotation
Definition LiveLinkMessages.h:17
Definition LiveLinkMessages.h:43
Definition LiveLinkProviderImpl.h:35
virtual UE_API void UnregisterConnStatusChangedHandle(FDelegateHandle Handle) override
Definition LiveLinkProvider.cpp:529
void SendMessage(MessageType *Message, EMessageFlags Flags=EMessageFlags::None)
Definition LiveLinkProviderImpl.h:116
UE_API virtual PRAGMA_DISABLE_DEPRECATION_WARNINGS void UpdateSubjectFrame(const FName &SubjectName, const TArray< FTransform > &BoneTransforms, const TArray< FLiveLinkCurveElement > &CurveData, double Time)
Definition LiveLinkProvider.cpp:383
virtual UE_API void RemoveSubject(const FName SubjectName) override
Definition LiveLinkProvider.cpp:375
void Subscribe()
Definition LiveLinkProviderImpl.h:169
virtual UE_API FDelegateHandle RegisterConnStatusChangedHandle(const FLiveLinkProviderConnectionStatusChanged::FDelegate &ConnStatusChanged) override
Definition LiveLinkProvider.cpp:524
void Publish(MessageType *Message)
Definition LiveLinkProviderImpl.h:157
virtual void OnMessageBusNotification(const FMessageBusNotification &Notification)
Definition LiveLinkProviderImpl.h:112
UE_API virtual PRAGMA_ENABLE_DEPRECATION_WARNINGS bool UpdateSubjectFrameData(const FName SubjectName, FLiveLinkFrameDataStruct &&FrameData, const TMap< FName, FString > &ExtraAnnotations={}) override
Definition LiveLinkProvider.cpp:411
UE_API void SendClearSubjectToConnections(FName SubjectName)
Definition LiveLinkProvider.cpp:316
virtual TMap< FName, FString > GetAnnotations() const
Definition LiveLinkProviderImpl.h:193
UE_API void CloseConnection(FMessageAddress Address)
Definition LiveLinkProvider.cpp:136
void SendMessage(MessageType *Message, const FMessageAddress &Address, EMessageFlags Flags=EMessageFlags::None, const TMap< FName, FString > &Annotations={})
Definition LiveLinkProviderImpl.h:133
UE_API TPair< UClass *, FLiveLinkStaticDataStruct * > GetLastSubjectStaticDataStruct(FName SubjectName)
Definition LiveLinkProvider.cpp:195
virtual UE_API ~FLiveLinkProvider() override
Definition LiveLinkProvider.cpp:294
UE_API void CreateMessageEndpoint(struct FMessageEndpointBuilder &EndpointBuilder)
Definition LiveLinkProvider.cpp:620
const FString & GetProviderName() const
Definition LiveLinkProviderImpl.h:178
virtual UE_API void ClearSubject(const FName &SubjectName)
Definition LiveLinkProvider.cpp:368
virtual bool ShouldTransmitToSubject_AnyThread(FName SubjectName, FMessageAddress Address) const
Definition LiveLinkProviderImpl.h:204
void SendMessage(MessageType *Message, const TArray< FMessageAddress > &Addresses, EMessageFlags Flags=EMessageFlags::None, const TMap< FName, FString > &Annotations={})
Definition LiveLinkProviderImpl.h:145
virtual UE_API bool HasConnection() const override
Definition LiveLinkProvider.cpp:508
virtual void OnConnectionsClosed(const TArray< FMessageAddress > &ClosedAddresses)
Definition LiveLinkProviderImpl.h:190
static UE_API int32 GetSupportedLiveLinkVersion()
Definition LiveLinkProvider.cpp:503
UE_API void HandleConnectMessage(const FLiveLinkConnectMessage &Message, const TSharedRef< class IMessageContext, ESPMode::ThreadSafe > &Context)
Definition LiveLinkProvider.cpp:547
const FString & GetMachineName() const
Definition LiveLinkProviderImpl.h:184
UE_API void ValidateConnections()
Definition LiveLinkProvider.cpp:111
virtual UE_API void UpdateSubject(const FName &SubjectName, const TArray< FName > &BoneNames, const TArray< int32 > &BoneParents)
Definition LiveLinkProvider.cpp:304
UE_API FMessageAddress GetEndpointAddress() const
Definition LiveLinkProvider.cpp:324
UE_API void GetConnectedAddresses(TArray< FMessageAddress > &Addresses)
Definition LiveLinkProvider.cpp:633
virtual UE_API bool UpdateSubjectStaticData(const FName SubjectName, TSubclassOf< ULiveLinkRole > Role, FLiveLinkStaticDataStruct &&StaticData, const TMap< FName, FString > &ExtraAnnotations={}) override
Definition LiveLinkProvider.cpp:329
Definition LiveLinkRefSkeleton.h:14
Definition LiveLinkCompression.h:197
Definition IMessageContext.h:26
bool IsValid() const
Definition IMessageContext.h:87
Definition MessageEndpoint.h:36
Definition MessageEndpointBuilder.h:18
static FTimespan Zero()
Definition Timespan.h:747
Definition LiveLinkProvider.cpp:94
Definition LiveLinkProvider.cpp:75
Definition LiveLinkProviderImpl.h:16
TArray< FTransform > Transforms
Definition LiveLinkProviderImpl.h:21
FLiveLinkRefSkeleton RefSkeleton
Definition LiveLinkProviderImpl.h:18
double Time
Definition LiveLinkProviderImpl.h:30
FLiveLinkMetaData MetaData
Definition LiveLinkProviderImpl.h:27
TArray< FLiveLinkCurveElement > Curves
Definition LiveLinkProviderImpl.h:24
Definition LiveLinkProvider.h:26