Cosmos/source/MPF/10.0/Src/CSharp/Automation/VSProject/OABuildManager.cs

106 lines
3.4 KiB
C#

/***************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
This code is licensed under the Visual Studio SDK license terms.
THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
***************************************************************************/
using System;
using Microsoft.VisualStudio.Shell.Interop;
using VSLangProj;
using Microsoft.VisualStudio;
namespace Microsoft.VisualStudio.Project.Automation
{
public class OABuildManager : ConnectionPointContainer,
IEventSource<_dispBuildManagerEvents>,
BuildManager,
BuildManagerEvents
{
private ProjectNode projectManager;
public OABuildManager(ProjectNode project)
{
projectManager = project;
AddEventSource<_dispBuildManagerEvents>(this as IEventSource<_dispBuildManagerEvents>);
}
#region BuildManager Members
public virtual string BuildDesignTimeOutput(string bstrOutputMoniker)
{
throw new NotImplementedException();
}
public virtual EnvDTE.Project ContainingProject
{
get { return projectManager.GetAutomationObject() as EnvDTE.Project; }
}
public virtual EnvDTE.DTE DTE
{
get { return projectManager.Site.GetService(typeof(EnvDTE.DTE)) as EnvDTE.DTE; }
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")]
public virtual object DesignTimeOutputMonikers
{
get { throw new NotImplementedException(); }
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")]
public virtual object Parent
{
get { throw new NotImplementedException(); }
}
#endregion
#region _dispBuildManagerEvents_Event Members
public event _dispBuildManagerEvents_DesignTimeOutputDeletedEventHandler DesignTimeOutputDeleted;
public event _dispBuildManagerEvents_DesignTimeOutputDirtyEventHandler DesignTimeOutputDirty;
#endregion
#region IEventSource<_dispBuildManagerEvents> Members
void IEventSource<_dispBuildManagerEvents>.OnSinkAdded(_dispBuildManagerEvents sink)
{
DesignTimeOutputDeleted += new _dispBuildManagerEvents_DesignTimeOutputDeletedEventHandler(sink.DesignTimeOutputDeleted);
DesignTimeOutputDirty += new _dispBuildManagerEvents_DesignTimeOutputDirtyEventHandler(sink.DesignTimeOutputDirty);
}
void IEventSource<_dispBuildManagerEvents>.OnSinkRemoved(_dispBuildManagerEvents sink)
{
DesignTimeOutputDeleted -= new _dispBuildManagerEvents_DesignTimeOutputDeletedEventHandler(sink.DesignTimeOutputDeleted);
DesignTimeOutputDirty -= new _dispBuildManagerEvents_DesignTimeOutputDirtyEventHandler(sink.DesignTimeOutputDirty);
}
#endregion
protected virtual void OnDesignTimeOutputDeleted(string outputMoniker)
{
var handlers = this.DesignTimeOutputDeleted;
if (handlers != null)
{
handlers(outputMoniker);
}
}
protected virtual void OnDesignTimeOutputDirty(string outputMoniker)
{
var handlers = this.DesignTimeOutputDirty;
if (handlers != null)
{
handlers(outputMoniker);
}
}
}
}