Navigation
Unreal Engine C++ API Reference > Runtime > DirectLink
Inheritance Hierarchy
- FNoncopyable
- FEndpoint
References
Module | DirectLink |
Header | /Engine/Source/Runtime/Datasmith/DirectLink/Public/DirectLinkEndpoint.h |
Include | #include "DirectLinkEndpoint.h" |
Syntax
class FEndpoint : public FNoncopyable
Remarks
FEndpoint class is the main interface for sending and receiving data with the DirectLink system.
Instances of this class discover themselves (through MessageBus) and can see Sources and Destinations available on each others. This is automatic and works for multiple applications. With that system, one can expose data from an application and consume it from another.
An endpoint can exposes N sources and N Destinations. That being said, a more classic setup is to have an 'exporter' process that only exposes sources, and some 'consumer' process that only have Destinations.
As a convention, 'consumers' have the responsibility to handle the connections management. Exporters have the sole responsibility to exposes their data.
Setup example:
- Exporter process
- Source "My First Source"
- Source "My Second Source"
- Consumer process
- Destination "Viewport"
The consumer process can handle the connections between Sources and Destinations with the OpenStream and CloseStream methods.
Constructors
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
~FEndpoint () |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
FDestinationHandle | AddDestination
(
const FString& Name, |
Add a Destination on that endpoint |
![]() |
void | AddEndpointObserver
(
IEndpointObserver* Observer |
Register an IEndpointObserver that will be notified periodically with the last state of the swarm. |
![]() |
FSourceHandle | AddSource
(
const FString& Name, |
Add a Source to that endpoint. |
![]() |
void | CloseStream
(
const FSourceHandle& SourceId, |
Close a previously opened stream |
![]() ![]() |
FRawInfo | Get a snapshot of the current state of the DirectLink swarm. | |
![]() |
EOpenStreamResult | OpenStream
(
const FSourceHandle& SourceId, |
Open a Stream between a Source and a Destination |
![]() |
void | RemoveDestination
(
const FDestinationHandle& Destination |
Disconnect all streams related to that destination and removes the Destination itself from that endpoint |
![]() |
void | RemoveEndpointObserver
(
IEndpointObserver* Observer |
Removes a previously added observer |
![]() |
void | RemoveSource
(
const FSourceHandle& Source |
Closes all streams related to this Source and remove it from the endpoint. |
![]() |
void | SetSourceRoot
(
const FSourceHandle& Source, |
Set the root of the content that should be exposed from that source. |
![]() |
void | SetVerbose
(
bool bVerbose |
|
![]() |
void | SnapshotSource
(
const FSourceHandle& Source |
Use the Source root to discover the graph and snapshot the content in its current state. |
Enums
Type | Name | Description | |
---|---|---|---|
![]() |
EOpenStreamResult |