/// Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using EnvDTE;
using VSLangProj;
namespace Microsoft.VisualStudio.Project.Automation
{
///
/// Represents a language-specific project item
///
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "OAVS")]
[ComVisible(true), CLSCompliant(false)]
public class OAVSProjectItem : VSProjectItem
{
#region fields
private FileNode fileNode;
#endregion
#region ctors
public OAVSProjectItem(FileNode fileNode)
{
this.FileNode = fileNode;
}
#endregion
#region VSProjectItem Members
public virtual EnvDTE.Project ContainingProject
{
get { return fileNode.ProjectMgr.GetAutomationObject() as EnvDTE.Project; }
}
public virtual ProjectItem ProjectItem
{
get { return fileNode.GetAutomationObject() as ProjectItem; }
}
public virtual DTE DTE
{
get { return (DTE)this.fileNode.ProjectMgr.Site.GetService(typeof(DTE)); }
}
public virtual void RunCustomTool()
{
this.FileNode.RunGenerator();
}
#endregion
#region public properties
///
/// File Node property
///
public FileNode FileNode
{
get
{
return fileNode;
}
set
{
fileNode = value;
}
}
#endregion
}
}