mirror of
https://github.com/ZuneDev/Xune.git
synced 2026-07-27 13:13:10 -07:00
51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Microsoft.Iris.Render.Protocol.LocalChannel
|
|
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
|
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
|
|
|
using Microsoft.Iris.Render.Common;
|
|
using System;
|
|
|
|
namespace Microsoft.Iris.Render.Protocol
|
|
{
|
|
internal class LocalChannel : RenderObject, IChannel
|
|
{
|
|
private IntPtr m_renderThread;
|
|
|
|
public LocalChannel(LocalConnectionInfo connectionInfo)
|
|
{
|
|
}
|
|
|
|
public bool IsConnected => this.m_renderThread != IntPtr.Zero;
|
|
|
|
public void Connect(
|
|
ContextID remoteContextId,
|
|
RENDERHANDLE brokerClassHandle,
|
|
MessageCookieLayout layout)
|
|
{
|
|
Debug2.Validate(remoteContextId != ContextID.NULL, typeof(ArgumentNullException), nameof(remoteContextId));
|
|
var args = new EngineApi.InitArgs(layout, remoteContextId)
|
|
{
|
|
idObjectBrokerClass = brokerClassHandle
|
|
};
|
|
EngineApi.IFC(EngineApi.SpRenderThreadInit(ref args, out this.m_renderThread));
|
|
}
|
|
|
|
protected override void Dispose(bool inDispose)
|
|
{
|
|
try
|
|
{
|
|
if (!(this.m_renderThread != IntPtr.Zero))
|
|
return;
|
|
EngineApi.IFC(EngineApi.SpRenderThreadUninit(this.m_renderThread));
|
|
this.m_renderThread = IntPtr.Zero;
|
|
}
|
|
finally
|
|
{
|
|
base.Dispose(inDispose);
|
|
}
|
|
}
|
|
}
|
|
}
|