Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: obsolete/Microsoft.VisualStudio.Project/Automation/OAFileItem.cs

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: obsolete/Microsoft.VisualStudio.Project/Automation/OAFileItem.cs
diff --git a/obsolete/Microsoft.VisualStudio.Project/Automation/OAFileItem.cs b/obsolete/Microsoft.VisualStudio.Project/Automation/OAFileItem.cs
deleted file mode 100644
index bdf3dc77b92037cf0b35c88b67c5551e892ac1ed..0000000000000000000000000000000000000000
--- a/obsolete/Microsoft.VisualStudio.Project/Automation/OAFileItem.cs
+++ /dev/null
@@ -1,364 +0,0 @@
-/// Copyright (c) Microsoft Corporation. All rights reserved.
-
-using System;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.IO;
-using System.Runtime.InteropServices;
-using EnvDTE;
-using Microsoft.VisualStudio;
-using Microsoft.VisualStudio.Shell;
-using Microsoft.VisualStudio.Shell.Interop;
-using IServiceProvider = System.IServiceProvider;
-using VSConstants = Microsoft.VisualStudio.VSConstants;
-
-namespace Microsoft.VisualStudio.Project.Automation
-{
- /// <summary>
- /// Represents an automation object for a file in a project
- /// </summary>
- [SuppressMessage("Microsoft.Interoperability", "CA1405:ComVisibleTypeBaseTypesShouldBeComVisible")]
- [ComVisible(true), CLSCompliant(false)]
- public class OAFileItem : OAProjectItem<FileNode>
- {
- #region ctors
- public OAFileItem(OAProject project, FileNode node)
- : base(project, node)
- {
- }
-
- #endregion
-
- #region overridden methods
- /// <summary>
- /// Returns the dirty state of the document.
- /// </summary>
- /// <exception cref="InvalidOperationException">Is thrown if the project is closed or it the service provider attached to the project is invalid.</exception>
- /// <exception cref="ComException">Is thrown if the dirty state cannot be retrived.</exception>
- public override bool IsDirty
- {
- get
- {
- if(this.Node == null || this.Node.ProjectMgr == null || this.Node.ProjectMgr.IsClosed || this.Node.ProjectMgr.Site == null)
- {
- throw new InvalidOperationException();
- }
- bool isDirty = false;
-
- using(AutomationScope scope = new AutomationScope(this.Node.ProjectMgr.Site))
- {
- DocumentManager manager = this.Node.GetDocumentManager();
-
- if(manager == null)
- {
- throw new InvalidOperationException();
- }
-
- bool isOpen, isOpenedByUs;
- uint docCookie;
- IVsPersistDocData persistDocData;
- manager.GetDocInfo(out isOpen, out isDirty, out isOpenedByUs, out docCookie, out persistDocData);
- }
- return isDirty;
- }
-
- }
-
- /// <summary>
- /// Gets the Document associated with the item, if one exists.
- /// </summary>
- public override EnvDTE.Document Document
- {
- get
- {
- if(this.Node == null || this.Node.ProjectMgr == null || this.Node.ProjectMgr.IsClosed || this.Node.ProjectMgr.Site == null)
- {
- throw new InvalidOperationException();
- }
-
- EnvDTE.Document document = null;
-
- using(AutomationScope scope = new AutomationScope(this.Node.ProjectMgr.Site))
- {
- IVsUIHierarchy hier;
- uint itemid;
-
- IVsWindowFrame windowFrame;
-
- VsShellUtilities.IsDocumentOpen(this.Node.ProjectMgr.Site, this.Node.Url, VSConstants.LOGVIEWID_Any, out hier, out itemid, out windowFrame);
-
- if(windowFrame != null)
- {
- object var;
- ErrorHandler.ThrowOnFailure(windowFrame.GetProperty((int)__VSFPROPID.VSFPROPID_DocCookie, out var));
- object documentAsObject;
- ErrorHandler.ThrowOnFailure(scope.Extensibility.GetDocumentFromDocCookie((int)var, out documentAsObject));
- if(documentAsObject == null)
- {
- throw new InvalidOperationException();
- }
- else
- {
- document = (Document)documentAsObject;
- }
- }
-
- }
-
- return document;
- }
- }
-
-
- /// <summary>
- /// Opens the file item in the specified view.
- /// </summary>
- /// <param name="ViewKind">Specifies the view kind in which to open the item (file)</param>
- /// <returns>Window object</returns>
- public override EnvDTE.Window Open(string viewKind)
- {
- if(this.Node == null || this.Node.ProjectMgr == null || this.Node.ProjectMgr.IsClosed || this.Node.ProjectMgr.Site == null)
- {
- throw new InvalidOperationException();
- }
-
- IVsWindowFrame windowFrame = null;
- IntPtr docData = IntPtr.Zero;
-
- using(AutomationScope scope = new AutomationScope(this.Node.ProjectMgr.Site))
- {
- try
- {
- // Validate input params
- Guid logicalViewGuid = VSConstants.LOGVIEWID_Primary;
- try
- {
- if(!(String.IsNullOrEmpty(viewKind)))
- {
- logicalViewGuid = new Guid(viewKind);
- }
- }
- catch(FormatException)
- {
- // Not a valid guid
- throw new ArgumentException(SR.GetString(SR.ParameterMustBeAValidGuid, CultureInfo.CurrentUICulture), "viewKind");
- }
-
- uint itemid;
- IVsHierarchy ivsHierarchy;
- uint docCookie;
- IVsRunningDocumentTable rdt = this.Node.ProjectMgr.Site.GetService(typeof(SVsRunningDocumentTable)) as IVsRunningDocumentTable;
- Debug.Assert(rdt != null, " Could not get running document table from the services exposed by this project");
- if(rdt == null)
- {
- throw new InvalidOperationException();
- }
-
- ErrorHandler.ThrowOnFailure(rdt.FindAndLockDocument((uint)_VSRDTFLAGS.RDT_NoLock, this.Node.Url, out ivsHierarchy, out itemid, out docData, out docCookie));
-
- // Open the file using the IVsProject3 interface
- ErrorHandler.ThrowOnFailure(this.Node.ProjectMgr.OpenItem(this.Node.ID, ref logicalViewGuid, docData, out windowFrame));
-
- }
- finally
- {
- if(docData != IntPtr.Zero)
- {
- Marshal.Release(docData);
- }
- }
- }
-
- // Get the automation object and return it
- return ((windowFrame != null) ? VsShellUtilities.GetWindowObject(windowFrame) : null);
- }
-
- /// <summary>
- /// Saves the project item.
- /// </summary>
- /// <param name="fileName">The name with which to save the project or project item.</param>
- /// <exception cref="InvalidOperationException">Is thrown if the save operation failes.</exception>
- /// <exception cref="ArgumentNullException">Is thrown if fileName is null.</exception>
- public override void Save(string fileName)
- {
- this.DoSave(false, fileName);
- }
-
- /// <summary>
- /// Saves the project item.
- /// </summary>
- /// <param name="fileName">The file name with which to save the solution, project, or project item. If the file exists, it is overwritten</param>
- /// <returns>true if the rename was successful. False if Save as failes</returns>
- public override bool SaveAs(string fileName)
- {
- try
- {
- this.DoSave(true, fileName);
- }
- catch(InvalidOperationException)
- {
- return false;
- }
- catch(COMException)
- {
- return false;
- }
- return true;
- }
-
- /// <summary>
- /// Gets a value indicating whether the project item is open in a particular view type.
- /// </summary>
- /// <param name="viewKind">A Constants.vsViewKind* indicating the type of view to check./param>
- /// <returns>A Boolean value indicating true if the project is open in the given view type; false if not. </returns>
- public override bool get_IsOpen(string viewKind)
- {
- if(this.Node == null || this.Node.ProjectMgr == null || this.Node.ProjectMgr.IsClosed || this.Node.ProjectMgr.Site == null)
- {
- throw new InvalidOperationException();
- }
-
- // Validate input params
- Guid logicalViewGuid = VSConstants.LOGVIEWID_Primary;
- try
- {
- if(!(String.IsNullOrEmpty(viewKind)))
- {
- logicalViewGuid = new Guid(viewKind);
- }
- }
- catch(FormatException)
- {
- // Not a valid guid
- throw new ArgumentException(SR.GetString(SR.ParameterMustBeAValidGuid, CultureInfo.CurrentUICulture), "viewKind");
- }
-
- bool isOpen = false;
-
- using(AutomationScope scope = new AutomationScope(this.Node.ProjectMgr.Site))
- {
- IVsUIHierarchy hier;
- uint itemid;
-
- IVsWindowFrame windowFrame;
-
- isOpen = VsShellUtilities.IsDocumentOpen(this.Node.ProjectMgr.Site, this.Node.Url, logicalViewGuid, out hier, out itemid, out windowFrame);
-
- }
-
- return isOpen;
- }
-
- /// <summary>
- /// Gets the ProjectItems for the object.
- /// </summary>
- public override ProjectItems ProjectItems
- {
- get
- {
- if(this.Project.Project.CanFileNodesHaveChilds)
- return new OAProjectItems(this.Project, this.Node);
- else
- return base.ProjectItems;
- }
- }
-
-
- #endregion
-
- #region helpers
- /// <summary>
- /// Saves or Save As the file
- /// </summary>
- /// <param name="isCalledFromSaveAs">Flag determining which Save method called , the SaveAs or the Save.</param>
- /// <param name="fileName">The name of the project file.</param>
- private void DoSave(bool isCalledFromSaveAs, string fileName)
- {
- if(fileName == null)
- {
- throw new ArgumentNullException("fileName");
- }
-
- if(this.Node == null || this.Node.ProjectMgr == null || this.Node.ProjectMgr.IsClosed || this.Node.ProjectMgr.Site == null)
- {
- throw new InvalidOperationException();
- }
-
- using(AutomationScope scope = new AutomationScope(this.Node.ProjectMgr.Site))
- {
- IntPtr docData = IntPtr.Zero;
-
- try
- {
- IVsRunningDocumentTable rdt = this.Node.ProjectMgr.Site.GetService(typeof(SVsRunningDocumentTable)) as IVsRunningDocumentTable;
- Debug.Assert(rdt != null, " Could not get running document table from the services exposed by this project");
- if(rdt == null)
- {
- throw new InvalidOperationException();
- }
-
- // First we see if someone else has opened the requested view of the file.
- uint itemid;
- IVsHierarchy ivsHierarchy;
- uint docCookie;
- int canceled;
- string url = this.Node.Url;
-
- ErrorHandler.ThrowOnFailure(rdt.FindAndLockDocument((uint)_VSRDTFLAGS.RDT_NoLock, url, out ivsHierarchy, out itemid, out docData, out docCookie));
-
- // If an empty file name is passed in for Save then make the file name the project name.
- if(!isCalledFromSaveAs && fileName.Length == 0)
- {
- ErrorHandler.ThrowOnFailure(this.Node.ProjectMgr.SaveItem(VSSAVEFLAGS.VSSAVE_SilentSave, url, this.Node.ID, docData, out canceled));
- }
- else
- {
- Utilities.ValidateFileName(this.Node.ProjectMgr.Site, fileName);
-
- // Compute the fullpath from the directory of the existing Url.
- string fullPath = fileName;
- if(!Path.IsPathRooted(fileName))
- {
- string directory = Path.GetDirectoryName(url);
- fullPath = Path.Combine(directory, fileName);
- }
-
- if(!isCalledFromSaveAs)
- {
- if(!NativeMethods.IsSamePath(this.Node.Url, fullPath))
- {
- throw new InvalidOperationException();
- }
-
- ErrorHandler.ThrowOnFailure(this.Node.ProjectMgr.SaveItem(VSSAVEFLAGS.VSSAVE_SilentSave, fullPath, this.Node.ID, docData, out canceled));
- }
- else
- {
- ErrorHandler.ThrowOnFailure(this.Node.ProjectMgr.SaveItem(VSSAVEFLAGS.VSSAVE_SilentSave, fullPath, this.Node.ID, docData, out canceled));
- }
- }
-
- if(canceled == 1)
- {
- throw new InvalidOperationException();
- }
- }
- catch(COMException e)
- {
- throw new InvalidOperationException(e.Message);
- }
- finally
- {
- if(docData != IntPtr.Zero)
- {
- Marshal.Release(docData);
- }
- }
- }
-
- }
- #endregion
-
- }
-}

Powered by Google App Engine
This is Rietveld 408576698