// Copyright Epic Games, Inc. All Rights Reserved.
//------------------------------------------------------------------------------
//
//
// This file was automatically generated by SWIG (http://www.swig.org).
// Version 4.0.1
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
public class FDatasmithFacadeDirectLink : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
internal FDatasmithFacadeDirectLink(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FDatasmithFacadeDirectLink obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
~FDatasmithFacadeDirectLink() {
Dispose(false);
}
public void Dispose() {
Dispose(true);
global::System.GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
// Unregistering all observers in managed code before disposing of the C# object.
for (int ObserverIndex = RegisteredObservers.Count - 1; ObserverIndex >= 0; --ObserverIndex)
{
RemoveEndpointObserver(RegisteredObservers[ObserverIndex]);
}
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
DatasmithFacadeCSharpPINVOKE.delete_FDatasmithFacadeDirectLink(swigCPtr);
}
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
}
}
private System.Collections.Generic.List RegisteredObservers = new System.Collections.Generic.List();
public static bool Init() {
bool ret = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_Init__SWIG_0();
return ret;
}
public static bool Init(bool bUseDatasmithExporterUI, string RemoteEngineDirPath) {
bool ret = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_Init__SWIG_1(bUseDatasmithExporterUI, RemoteEngineDirPath);
return ret;
}
public static int ValidateCommunicationSetup() {
int ret = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_ValidateCommunicationSetup();
return ret;
}
public static bool Shutdown() {
bool ret = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_Shutdown();
return ret;
}
public bool InitializeForScene(FDatasmithFacadeScene FacadeScene) {
bool ret = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_InitializeForScene(swigCPtr, FDatasmithFacadeScene.getCPtr(FacadeScene));
return ret;
}
public bool UpdateScene(FDatasmithFacadeScene FacadeScene) {
bool ret = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_UpdateScene(swigCPtr, FDatasmithFacadeScene.getCPtr(FacadeScene));
return ret;
}
public void CloseCurrentSource() {
DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_CloseCurrentSource(swigCPtr);
}
public void AddEndpointObserver(FDatasmithFacadeEndpointObserver Observer) {
if (!RegisteredObservers.Contains(Observer))
{
DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_AddEndpointObserver(swigCPtr, FDatasmithFacadeEndpointObserver.getCPtr(Observer));
RegisteredObservers.Add(Observer);
}
}
public void RemoveEndpointObserver(FDatasmithFacadeEndpointObserver Observer) {
DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeDirectLink_RemoveEndpointObserver(swigCPtr, FDatasmithFacadeEndpointObserver.getCPtr(Observer));
RegisteredObservers.Remove(Observer);
}
public FDatasmithFacadeDirectLink() : this(DatasmithFacadeCSharpPINVOKE.new_FDatasmithFacadeDirectLink(), true) {
}
}