42 lines
1.1 KiB
C++
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;
|
|
}; |