Index: obsolete/Microsoft.VisualStudio.Project/Automation/OAReferences.cs |
diff --git a/obsolete/Microsoft.VisualStudio.Project/Automation/OAReferences.cs b/obsolete/Microsoft.VisualStudio.Project/Automation/OAReferences.cs |
deleted file mode 100644 |
index c1079197daa85074ed8b88bc44c75e4e35d5bf96..0000000000000000000000000000000000000000 |
--- a/obsolete/Microsoft.VisualStudio.Project/Automation/OAReferences.cs |
+++ /dev/null |
@@ -1,284 +0,0 @@ |
-/// Copyright (c) Microsoft Corporation. All rights reserved. |
- |
-using System; |
-using System.Collections; |
-using System.Collections.Generic; |
-using System.Diagnostics.CodeAnalysis; |
-using System.Runtime.InteropServices; |
-using Microsoft.VisualStudio.Shell.Interop; |
-using VSLangProj; |
-using ErrorHandler = Microsoft.VisualStudio.ErrorHandler; |
- |
-namespace Microsoft.VisualStudio.Project.Automation |
-{ |
- /// <summary> |
- /// Represents the automation object for the equivalent ReferenceContainerNode object |
- /// </summary> |
- [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")] |
- [ComVisible(true)] |
- public class OAReferences : ConnectionPointContainer, |
- IEventSource<_dispReferencesEvents>, |
- References, |
- ReferencesEvents |
- { |
- private ReferenceContainerNode container; |
- public OAReferences(ReferenceContainerNode containerNode) |
- { |
- container = containerNode; |
- AddEventSource<_dispReferencesEvents>(this as IEventSource<_dispReferencesEvents>); |
- container.OnChildAdded += new EventHandler<HierarchyNodeEventArgs>(OnReferenceAdded); |
- container.OnChildRemoved += new EventHandler<HierarchyNodeEventArgs>(OnReferenceRemoved); |
- } |
- |
- #region Private Members |
- private Reference AddFromSelectorData(VSCOMPONENTSELECTORDATA selector) |
- { |
- ReferenceNode refNode = container.AddReferenceFromSelectorData(selector); |
- if(null == refNode) |
- { |
- return null; |
- } |
- |
- return refNode.Object as Reference; |
- } |
- |
- private Reference FindByName(string stringIndex) |
- { |
- foreach(Reference refNode in this) |
- { |
- if(0 == string.Compare(refNode.Name, stringIndex, StringComparison.Ordinal)) |
- { |
- return refNode; |
- } |
- } |
- return null; |
- } |
- #endregion |
- |
- #region References Members |
- |
- public Reference Add(string bstrPath) |
- { |
- if(string.IsNullOrEmpty(bstrPath)) |
- { |
- return null; |
- } |
- VSCOMPONENTSELECTORDATA selector = new VSCOMPONENTSELECTORDATA(); |
- selector.type = VSCOMPONENTTYPE.VSCOMPONENTTYPE_File; |
- selector.bstrFile = bstrPath; |
- |
- return AddFromSelectorData(selector); |
- } |
- |
- public Reference AddActiveX(string bstrTypeLibGuid, int lMajorVer, int lMinorVer, int lLocaleId, string bstrWrapperTool) |
- { |
- VSCOMPONENTSELECTORDATA selector = new VSCOMPONENTSELECTORDATA(); |
- selector.type = VSCOMPONENTTYPE.VSCOMPONENTTYPE_Com2; |
- selector.guidTypeLibrary = new Guid(bstrTypeLibGuid); |
- selector.lcidTypeLibrary = (uint)lLocaleId; |
- selector.wTypeLibraryMajorVersion = (ushort)lMajorVer; |
- selector.wTypeLibraryMinorVersion = (ushort)lMinorVer; |
- |
- return AddFromSelectorData(selector); |
- } |
- |
- public Reference AddProject(EnvDTE.Project project) |
- { |
- if(null == project) |
- { |
- return null; |
- } |
- // Get the soulution. |
- IVsSolution solution = container.ProjectMgr.Site.GetService(typeof(SVsSolution)) as IVsSolution; |
- if(null == solution) |
- { |
- return null; |
- } |
- |
- // Get the hierarchy for this project. |
- IVsHierarchy projectHierarchy; |
- ErrorHandler.ThrowOnFailure(solution.GetProjectOfUniqueName(project.UniqueName, out projectHierarchy)); |
- |
- // Create the selector data. |
- VSCOMPONENTSELECTORDATA selector = new VSCOMPONENTSELECTORDATA(); |
- selector.type = VSCOMPONENTTYPE.VSCOMPONENTTYPE_Project; |
- |
- // Get the project reference string. |
- ErrorHandler.ThrowOnFailure(solution.GetProjrefOfProject(projectHierarchy, out selector.bstrProjRef)); |
- |
- selector.bstrTitle = project.Name; |
- selector.bstrFile = System.IO.Path.GetDirectoryName(project.FullName); |
- |
- return AddFromSelectorData(selector); |
- } |
- |
- public EnvDTE.Project ContainingProject |
- { |
- get |
- { |
- return container.ProjectMgr.GetAutomationObject() as EnvDTE.Project; |
- } |
- } |
- |
- public int Count |
- { |
- get |
- { |
- return container.EnumReferences().Count; |
- } |
- } |
- |
- public EnvDTE.DTE DTE |
- { |
- get |
- { |
- return container.ProjectMgr.Site.GetService(typeof(EnvDTE.DTE)) as EnvDTE.DTE; |
- } |
- } |
- |
- public Reference Find(string bstrIdentity) |
- { |
- if(string.IsNullOrEmpty(bstrIdentity)) |
- { |
- return null; |
- } |
- foreach(Reference refNode in this) |
- { |
- if(null != refNode) |
- { |
- if(0 == string.Compare(bstrIdentity, refNode.Identity, StringComparison.Ordinal)) |
- { |
- return refNode; |
- } |
- } |
- } |
- return null; |
- } |
- |
- public IEnumerator GetEnumerator() |
- { |
- List<Reference> references = new List<Reference>(); |
- IEnumerator baseEnum = container.EnumReferences().GetEnumerator(); |
- if(null == baseEnum) |
- { |
- return references.GetEnumerator(); |
- } |
- while(baseEnum.MoveNext()) |
- { |
- ReferenceNode refNode = baseEnum.Current as ReferenceNode; |
- if(null == refNode) |
- { |
- continue; |
- } |
- Reference reference = refNode.Object as Reference; |
- if(null != reference) |
- { |
- references.Add(reference); |
- } |
- } |
- return references.GetEnumerator(); |
- } |
- |
- public Reference Item(object index) |
- { |
- string stringIndex = index as string; |
- if(null != stringIndex) |
- { |
- return FindByName(stringIndex); |
- } |
- // Note that this cast will throw if the index is not convertible to int. |
- int intIndex = (int)index; |
- IList<ReferenceNode> refs = container.EnumReferences(); |
- if(null == refs) |
- { |
- throw new ArgumentOutOfRangeException("index"); |
- } |
- if((intIndex <= 0) || (intIndex > refs.Count)) |
- { |
- throw new ArgumentOutOfRangeException("index"); |
- } |
- // Let the implementation of IList<> throw in case of index not correct. |
- return refs[intIndex - 1].Object as Reference; |
- } |
- |
- public object Parent |
- { |
- get |
- { |
- return container.Parent.Object; |
- } |
- } |
- |
- #endregion |
- |
- #region _dispReferencesEvents_Event Members |
- public event _dispReferencesEvents_ReferenceAddedEventHandler ReferenceAdded; |
- public event _dispReferencesEvents_ReferenceChangedEventHandler ReferenceChanged; |
- public event _dispReferencesEvents_ReferenceRemovedEventHandler ReferenceRemoved; |
- #endregion |
- |
- #region Callbacks for the HierarchyNode events |
- private void OnReferenceAdded(object sender, HierarchyNodeEventArgs args) |
- { |
- // Validate the parameters. |
- if((container != sender as ReferenceContainerNode) || |
- (null == args) || (null == args.Child)) |
- { |
- return; |
- } |
- |
- // Check if there is any sink for this event. |
- if(null == ReferenceAdded) |
- { |
- return; |
- } |
- |
- // Check that the removed item implements the Reference interface. |
- Reference reference = args.Child.Object as Reference; |
- if(null != reference) |
- { |
- ReferenceAdded(reference); |
- } |
- } |
- |
- private void OnReferenceRemoved(object sender, HierarchyNodeEventArgs args) |
- { |
- // Validate the parameters. |
- if((container != sender as ReferenceContainerNode) || |
- (null == args) || (null == args.Child)) |
- { |
- return; |
- } |
- |
- // Check if there is any sink for this event. |
- if(null == ReferenceRemoved) |
- { |
- return; |
- } |
- |
- // Check that the removed item implements the Reference interface. |
- Reference reference = args.Child.Object as Reference; |
- if(null != reference) |
- { |
- ReferenceRemoved(reference); |
- } |
- } |
- #endregion |
- |
- #region IEventSource<_dispReferencesEvents> Members |
- void IEventSource<_dispReferencesEvents>.OnSinkAdded(_dispReferencesEvents sink) |
- { |
- ReferenceAdded += new _dispReferencesEvents_ReferenceAddedEventHandler(sink.ReferenceAdded); |
- ReferenceChanged += new _dispReferencesEvents_ReferenceChangedEventHandler(sink.ReferenceChanged); |
- ReferenceRemoved += new _dispReferencesEvents_ReferenceRemovedEventHandler(sink.ReferenceRemoved); |
- } |
- |
- void IEventSource<_dispReferencesEvents>.OnSinkRemoved(_dispReferencesEvents sink) |
- { |
- ReferenceAdded -= new _dispReferencesEvents_ReferenceAddedEventHandler(sink.ReferenceAdded); |
- ReferenceChanged -= new _dispReferencesEvents_ReferenceChangedEventHandler(sink.ReferenceChanged); |
- ReferenceRemoved -= new _dispReferencesEvents_ReferenceRemovedEventHandler(sink.ReferenceRemoved); |
- } |
- #endregion |
- } |
-} |