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

Side by Side Diff: obsolete/Microsoft.VisualStudio.Project/SolutionListenerForProjectEvents.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 unified diff | Download patch
OLDNEW
(Empty)
1 /// Copyright (c) Microsoft Corporation. All rights reserved.
2
3 using System;
4 using Microsoft.VisualStudio;
5 using Microsoft.VisualStudio.Shell.Interop;
6 using IServiceProvider = System.IServiceProvider;
7
8 namespace Microsoft.VisualStudio.Project
9 {
10 /// <summary>
11 /// This class triggers the project events for "our" hierrachies.
12 /// </summary>
13 internal class SolutionListenerForProjectEvents : SolutionListener, IPro jectEvents
14 {
15 #region events
16 /// Event raised just after the project file opened.
17 /// </summary>
18 public event EventHandler<AfterProjectFileOpenedEventArgs> After ProjectFileOpened;
19
20 /// <summary>
21 /// Event raised before the project file closed.
22 /// </summary>
23 public event EventHandler<BeforeProjectFileClosedEventArgs> Befo reProjectFileClosed;
24 #endregion
25
26 #region ctor
27 internal SolutionListenerForProjectEvents(IServiceProvider servi ceProvider)
28 : base(serviceProvider)
29 {
30 }
31 #endregion
32
33 #region overridden methods
34 public override int OnAfterOpenProject(IVsHierarchy hierarchy, i nt added)
35 {
36 IProjectEventsListener projectEventListener = hierarchy as IProjectEventsListener;
37 if(projectEventListener != null && projectEventListener. IsProjectEventsListener)
38 {
39 this.RaiseAfterProjectFileOpened((added != 0) ? true : false);
40 }
41
42 return VSConstants.S_OK;
43 }
44
45 public override int OnBeforeCloseProject(IVsHierarchy hierarchy, int removed)
46 {
47 IProjectEventsListener projectEvents = hierarchy as IPro jectEventsListener;
48 if(projectEvents != null && projectEvents.IsProjectEvent sListener)
49 {
50 this.RaiseBeforeProjectFileClosed((removed != 0) ? true : false);
51 }
52
53 return VSConstants.S_OK;
54 }
55 #endregion
56
57 #region helpers
58 /// <summary>
59 /// Raises after project file opened event.
60 /// </summary>
61 /// <param name="added">True if the project is added to the solu tion after the solution is opened. false if the project is added to the solution while the solution is being opened.</param>
62 private void RaiseAfterProjectFileOpened(bool added)
63 {
64 // Save event in temporary variable to avoid race condit ion.
65 EventHandler<AfterProjectFileOpenedEventArgs> tempEvent = this.AfterProjectFileOpened;
66 if(tempEvent != null)
67 {
68 tempEvent(this, new AfterProjectFileOpenedEventA rgs(added));
69 }
70 }
71
72
73
74
75 /// <summary>
76 /// Raises the before project file closed event.
77 /// </summary>
78 /// <param name="added">true if the project was removed from the solution before the solution was closed. false if the project was removed from the solution while the solution was being closed.</param>
79 private void RaiseBeforeProjectFileClosed(bool removed)
80 {
81 // Save event in temporary variable to avoid race condit ion.
82 EventHandler<BeforeProjectFileClosedEventArgs> tempEvent = this.BeforeProjectFileClosed;
83 if(tempEvent != null)
84 {
85 tempEvent(this, new BeforeProjectFileClosedEvent Args(removed));
86 }
87 }
88 }
89 #endregion
90 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698