OLD | NEW |
| (Empty) |
1 /// Copyright (c) Microsoft Corporation. All rights reserved. | |
2 | |
3 using System; | |
4 using System.Collections.Generic; | |
5 using System.Diagnostics.CodeAnalysis; | |
6 using System.Runtime.InteropServices; | |
7 using Microsoft.VisualStudio.Shell.Interop; | |
8 using MSBuild = Microsoft.Build.BuildEngine; | |
9 | |
10 namespace Microsoft.VisualStudio.Project | |
11 { | |
12 | |
13 /// <summary> | |
14 /// This interface defines the rules for handling build dependency on a
project container. | |
15 /// </summary> | |
16 /// <remarks>Normally this should be an internal interface but since it
shouldbe available for the aggregator it must be made public.</remarks> | |
17 [ComVisible(true)] | |
18 [CLSCompliant(false)] | |
19 public interface IBuildDependencyOnProjectContainer | |
20 { | |
21 /// <summary> | |
22 /// Defines whether the nested projects should be build with the
parent project. | |
23 /// </summary> | |
24 bool BuildNestedProjectsOnBuild | |
25 { | |
26 get; | |
27 set; | |
28 } | |
29 | |
30 /// <summary> | |
31 /// Enumerates the nested hierachies present that will participa
te in the build dependency update. | |
32 /// </summary> | |
33 /// <returns>A list of hierrachies.</returns> | |
34 [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBe
SpelledCorrectly", MessageId = "Hierachies")] | |
35 IVsHierarchy[] EnumNestedHierachiesForBuildDependency(); | |
36 } | |
37 | |
38 /// <summary> | |
39 /// Interface for manipulating build dependency | |
40 /// </summary> | |
41 /// <remarks>Normally this should be an internal interface but since it
shouldbe available for the aggregator it must be made public.</remarks> | |
42 [ComVisible(true)] | |
43 [CLSCompliant(false)] | |
44 public interface IBuildDependencyUpdate | |
45 { | |
46 /// <summary> | |
47 /// Defines a container for storing BuildDependencies | |
48 /// </summary> | |
49 | |
50 [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Perf
ormance", "CA1819:PropertiesShouldNotReturnArrays")] | |
51 IVsBuildDependency[] BuildDependencies | |
52 { | |
53 get; | |
54 } | |
55 | |
56 /// <summary> | |
57 /// Adds a BuildDependency to the container | |
58 /// </summary> | |
59 /// <param name="dependency">The dependency to add</param> | |
60 void AddBuildDependency(IVsBuildDependency dependency); | |
61 | |
62 /// <summary> | |
63 /// Removes the builddependency from teh container. | |
64 /// </summary> | |
65 /// <param name="dependency">The dependency to add</param> | |
66 void RemoveBuildDependency(IVsBuildDependency dependency); | |
67 | |
68 } | |
69 | |
70 /// <summary> | |
71 /// Provides access to the reference data container. | |
72 /// </summary> | |
73 /// <remarks>Normally this should be an internal interface but since it
should be available for | |
74 /// the aggregator it must be made public.</remarks> | |
75 [ComVisible(true)] | |
76 public interface IReferenceContainerProvider | |
77 { | |
78 IReferenceContainer GetReferenceContainer(); | |
79 } | |
80 | |
81 /// <summary> | |
82 /// Defines a container for manipulating references | |
83 /// </summary> | |
84 /// <remarks>Normally this should be an internal interface but since it
should be available for | |
85 /// the aggregator it must be made public.</remarks> | |
86 [ComVisible(true)] | |
87 public interface IReferenceContainer | |
88 { | |
89 IList<ReferenceNode> EnumReferences(); | |
90 ReferenceNode AddReferenceFromSelectorData(VSCOMPONENTSELECTORDA
TA selectorData); | |
91 void LoadReferencesFromBuildProject(MSBuild.Project buildProject
); | |
92 } | |
93 | |
94 /// <summary> | |
95 /// Defines the events that are internally defined for communication wit
h other subsytems. | |
96 /// </summary> | |
97 [ComVisible(true)] | |
98 public interface IProjectEvents | |
99 { | |
100 /// <summary> | |
101 /// Event raised just after the project file opened. | |
102 /// </summary> | |
103 [SuppressMessage("Microsoft.Naming", "CA1713:EventsShouldNotHave
BeforeOrAfterPrefix")] | |
104 event EventHandler<AfterProjectFileOpenedEventArgs> AfterProject
FileOpened; | |
105 | |
106 /// <summary> | |
107 /// Event raised before the project file closed. | |
108 /// </summary> | |
109 [SuppressMessage("Microsoft.Naming", "CA1713:EventsShouldNotHave
BeforeOrAfterPrefix")] | |
110 event EventHandler<BeforeProjectFileClosedEventArgs> BeforeProje
ctFileClosed; | |
111 } | |
112 | |
113 /// <summary> | |
114 /// Defines the interface that will specify ehethrr the object is a proj
ect events listener. | |
115 /// </summary> | |
116 [ComVisible(true)] | |
117 public interface IProjectEventsListener | |
118 { | |
119 | |
120 /// <summary> | |
121 /// Is the object a project events listener. | |
122 /// </summary> | |
123 /// <returns></returns> | |
124 bool IsProjectEventsListener | |
125 { get; set; } | |
126 | |
127 } | |
128 | |
129 /// <summary> | |
130 /// Enable getting and setting the project events provider | |
131 /// </summary> | |
132 [ComVisible(true)] | |
133 public interface IProjectEventsProvider | |
134 { | |
135 /// <summary> | |
136 /// Defines the provider for the project events | |
137 /// </summary> | |
138 IProjectEvents ProjectEventsProvider | |
139 { | |
140 get; | |
141 set; | |
142 } | |
143 } | |
144 | |
145 /// <summary> | |
146 /// Defines support for single file generator | |
147 /// </summary> | |
148 public interface ISingleFileGenerator | |
149 { | |
150 ///<summary> | |
151 /// Runs the generator on the item represented by the document m
oniker. | |
152 /// </summary> | |
153 /// <param name="document"></param> | |
154 void RunGenerator(string document); | |
155 } | |
156 } | |
OLD | NEW |