71 lines
1.3 KiB
C#
71 lines
1.3 KiB
C#
using System;
|
|
using Decal.Adapter.Support;
|
|
using Decal.Adapter.Wrappers;
|
|
using Decal.Interop.Core;
|
|
|
|
namespace Decal.Adapter;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public sealed class PluginProxy : IPlugin2, IDecalDirectory
|
|
{
|
|
private PluginHost mySite;
|
|
|
|
private PluginBase myWrapped;
|
|
|
|
internal PluginProxy(PluginBase toWrap)
|
|
{
|
|
myWrapped = toWrap;
|
|
}
|
|
|
|
void IPlugin2.Initialize(PluginSite2 Site)
|
|
{
|
|
mySite = new PluginHost(Site);
|
|
myWrapped.SetHost(mySite);
|
|
try
|
|
{
|
|
myWrapped.standardEvent(ExtensionEvents.InternalWireup);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Util.WriteLine("InternalWireup Exception: " + ex.Message);
|
|
}
|
|
try
|
|
{
|
|
myWrapped.standardEvent(ExtensionEvents.Startup);
|
|
}
|
|
catch (Exception ex2)
|
|
{
|
|
Util.WriteLine("Startup Exception: " + ex2.Message);
|
|
}
|
|
}
|
|
|
|
void IPlugin2.Terminate()
|
|
{
|
|
try
|
|
{
|
|
myWrapped.standardEvent(ExtensionEvents.Shutdown);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Util.WriteLine("Shutdown Exception: " + ex.Message);
|
|
}
|
|
try
|
|
{
|
|
myWrapped.standardEvent(ExtensionEvents.InternalUnwire);
|
|
}
|
|
catch (Exception ex2)
|
|
{
|
|
Util.WriteLine("InternalUnwire Exception: " + ex2.Message);
|
|
}
|
|
mySite.Dispose();
|
|
mySite = null;
|
|
myWrapped = null;
|
|
}
|
|
|
|
object IDecalDirectory.Lookup(string strName)
|
|
{
|
|
return myWrapped.ResolvePath(strName);
|
|
}
|
|
}
|