Files
UnrealEngineUWP/Engine/Source/Developer/Datasmith/DatasmithFacade/Private/DirectLink/DatasmithFacadeEndpointObserverImpl.h
aurel cordonnier e0ad4e25df Merge from Release-Engine-Test @ 16624776 to UE5/Main
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16625248 by aurel cordonnier in ue5-main branch]
2021-06-10 13:13:24 -04:00

39 lines
1014 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "DirectLinkEndpoint.h"
#include "DirectLink/DatasmithFacadeEndpointObserver.h"
class FDatasmithFacadeEndpointObserverImpl : public DirectLink::IEndpointObserver
{
public:
virtual void OnStateChanged(const DirectLink::FRawInfo& RawInfo) override
{
if (OnStateChangedPtr)
{
// The new pointer will be owned by the C# wrapper.
OnStateChangedPtr(new FDatasmithFacadeRawInfo(RawInfo));
}
}
void RegisterOnStateChangedDelegate(FDatasmithFacadeEndpointObserver::OnStateChangedDelegate InOnStateChangedDelegate)
{
if (ensure(!OnStateChangedPtr))
{
OnStateChangedPtr = InOnStateChangedDelegate;
}
}
void UnregisterOnStateChangedDelegate(FDatasmithFacadeEndpointObserver::OnStateChangedDelegate InOnStateChangedDelegate)
{
if (ensure(OnStateChangedPtr == InOnStateChangedDelegate))
{
OnStateChangedPtr = nullptr;
}
}
private:
FDatasmithFacadeEndpointObserver::OnStateChangedDelegate OnStateChangedPtr;
};