Files
UnrealEngine/Engine/Source/Developer/Datasmith/DatasmithFacade/Public/DirectLink/DatasmithFacadeDirectLink.h
2025-05-18 13:04:45 +08:00

42 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "DatasmithDirectLink.h"
#include "CoreTypes.h"
class FDatasmithFacadeScene;
class FDatasmithFacadeEndpointObserver;
class DATASMITHFACADE_API FDatasmithFacadeDirectLink
{
public:
static bool Init();
static bool Init(bool bUseDatasmithExporterUI, const TCHAR* RemoteEngineDirPath);
static int ValidateCommunicationSetup() { return FDatasmithDirectLink::ValidateCommunicationSetup(); }
static bool Shutdown();
bool InitializeForScene(FDatasmithFacadeScene* FacadeScene);
bool UpdateScene(FDatasmithFacadeScene* FacadeScene);
/**
* Close the initialized DirectLink source if any.
*/
void CloseCurrentSource();
/**
* Register an IEndpointObserver that will be notified periodically with the last state of the swarm.
* @param Observer Object that should be notified
*/
void AddEndpointObserver(FDatasmithFacadeEndpointObserver* Observer);
/**
* Removes a previously added observer
* @param Observer Observer to remove
*/
void RemoveEndpointObserver(FDatasmithFacadeEndpointObserver* Observer);
private:
FDatasmithDirectLink Impl;
};