aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-07-11 00:04:02 -0700
committerRob Mensching <rob@firegiant.com>2020-07-14 09:39:36 -0700
commit295cc50990666333c6f021416b273dbc43b57ac5 (patch)
tree7ed170e77ee8fa38f848f4e68360e84ee3b8add2 /src
parentfd7a6751bcb949d974c2c7064c86ff3ced12cf37 (diff)
downloadwix-295cc50990666333c6f021416b273dbc43b57ac5.tar.gz
wix-295cc50990666333c6f021416b273dbc43b57ac5.tar.bz2
wix-295cc50990666333c6f021416b273dbc43b57ac5.zip
Add performance optimized methods and remove obsolete CreateDirectoryRow
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Extensibility/Services/IParseHelper.cs38
1 files changed, 21 insertions, 17 deletions
diff --git a/src/WixToolset.Extensibility/Services/IParseHelper.cs b/src/WixToolset.Extensibility/Services/IParseHelper.cs
index b3577d2b..a7c5eb1b 100644
--- a/src/WixToolset.Extensibility/Services/IParseHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IParseHelper.cs
@@ -85,26 +85,23 @@ namespace WixToolset.Extensibility.Services
85 /// <param name="id">Optional identifier for the new row.</param> 85 /// <param name="id">Optional identifier for the new row.</param>
86 /// <param name="parentId">Optional identifier for the parent row.</param> 86 /// <param name="parentId">Optional identifier for the parent row.</param>
87 /// <param name="name">Long name of the directory.</param> 87 /// <param name="name">Long name of the directory.</param>
88 /// <param name="sectionInlinedDirectoryIds">Inline directory ids for the section.</param>
89 /// <param name="shortName">Optional short name of the directory.</param> 88 /// <param name="shortName">Optional short name of the directory.</param>
90 /// <param name="sourceName">Optional source name for the directory.</param> 89 /// <param name="sourceName">Optional source name for the directory.</param>
91 /// <param name="shortSourceName">Optional short source name for the directory.</param> 90 /// <param name="shortSourceName">Optional short source name for the directory.</param>
92 /// <returns>Identifier for the newly created row.</returns> 91 /// <returns>Identifier for the newly created row.</returns>
93 Identifier CreateDirectorySymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, Identifier id, string parentId, string name, ISet<string> sectionInlinedDirectoryIds, string shortName = null, string sourceName = null, string shortSourceName = null); 92 Identifier CreateDirectorySymbol(IntermediateSection section, SourceLineNumber sourceLineNumbers, Identifier id, string parentId, string name, string shortName = null, string sourceName = null, string shortSourceName = null);
94
95 [Obsolete]
96 Identifier CreateDirectoryRow(IntermediateSection section, SourceLineNumber sourceLineNumbers, Identifier id, string parentId, string name, ISet<string> sectionInlinedDirectoryIds, string shortName = null, string sourceName = null, string shortSourceName = null);
97 93
98 /// <summary> 94 /// <summary>
99 /// Creates directories using the inline directory syntax. 95 /// Creates directories using the inline directory syntax.
100 /// </summary> 96 /// </summary>
101 /// <param name="section">Section to add the new symbol to.</param> 97 /// <param name="section">Section to add the new symbol to.</param>
102 /// <param name="sourceLineNumbers">Source line information.</param> 98 /// <param name="sourceLineNumbers">Source line information.</param>
99 /// <param name="attribute">Attribute containing the inline syntax.</param>
103 /// <param name="parentId">Optional identifier of parent directory.</param> 100 /// <param name="parentId">Optional identifier of parent directory.</param>
104 /// <param name="attribute">The attribute to parse.</param> 101 /// <param name="inlineSyntax">Optional inline syntax to override attribute's value.</param>
105 /// <param name="sectionInlinedDirectoryIds">Inline directory ids for the section.</param> 102 /// <param name="sectionCachedInlinedDirectoryIds">Mapping of inline directory syntax to ids for the section.</param>
106 /// <returns>Identifier of the leaf directory created.</returns> 103 /// <returns>Identifier of the leaf directory created.</returns>
107 string CreateDirectoryReferenceFromInlineSyntax(IntermediateSection section, SourceLineNumber sourceLineNumbers, string parentId, XAttribute attribute, ISet<string> sectionInlinedDirectoryIds); 104 string CreateDirectoryReferenceFromInlineSyntax(IntermediateSection section, SourceLineNumber sourceLineNumbers, XAttribute attribute, string parentId, string inlineSyntax, IDictionary<string, string> sectionCachedInlinedDirectoryIds);
108 105
109 /// <summary> 106 /// <summary>
110 /// Creates a Registry symbol in the active section. 107 /// Creates a Registry symbol in the active section.
@@ -136,6 +133,14 @@ namespace WixToolset.Extensibility.Services
136 /// </summary> 133 /// </summary>
137 /// <param name="sourceLineNumbers">Source line information for the row.</param> 134 /// <param name="sourceLineNumbers">Source line information for the row.</param>
138 /// <param name="symbolName">The symbol name of the simple reference.</param> 135 /// <param name="symbolName">The symbol name of the simple reference.</param>
136 /// <param name="primaryKey">The primary key of the simple reference.</param>
137 void CreateSimpleReference(IntermediateSection section, SourceLineNumber sourceLineNumbers, string symbolName, string primaryKey);
138
139 /// <summary>
140 /// Create a WixSimpleReference symbol in the active section.
141 /// </summary>
142 /// <param name="sourceLineNumbers">Source line information for the row.</param>
143 /// <param name="symbolName">The symbol name of the simple reference.</param>
139 /// <param name="primaryKeys">The primary keys of the simple reference.</param> 144 /// <param name="primaryKeys">The primary keys of the simple reference.</param>
140 void CreateSimpleReference(IntermediateSection section, SourceLineNumber sourceLineNumbers, string symbolName, params string[] primaryKeys); 145 void CreateSimpleReference(IntermediateSection section, SourceLineNumber sourceLineNumbers, string symbolName, params string[] primaryKeys);
141 146
@@ -144,6 +149,14 @@ namespace WixToolset.Extensibility.Services
144 /// </summary> 149 /// </summary>
145 /// <param name="sourceLineNumbers">Source line information for the row.</param> 150 /// <param name="sourceLineNumbers">Source line information for the row.</param>
146 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param> 151 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param>
152 /// <param name="primaryKey">The primary key of the simple reference.</param>
153 void CreateSimpleReference(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, string primaryKey);
154
155 /// <summary>
156 /// Create a WixSimpleReference symbol in the active section.
157 /// </summary>
158 /// <param name="sourceLineNumbers">Source line information for the row.</param>
159 /// <param name="symbolDefinition">The symbol definition of the simple reference.</param>
147 /// <param name="primaryKeys">The primary keys of the simple reference.</param> 160 /// <param name="primaryKeys">The primary keys of the simple reference.</param>
148 void CreateSimpleReference(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, params string[] primaryKeys); 161 void CreateSimpleReference(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, params string[] primaryKeys);
149 162
@@ -265,15 +278,6 @@ namespace WixToolset.Extensibility.Services
265 string GetAttributeIdentifierValue(SourceLineNumber sourceLineNumbers, XAttribute attribute); 278 string GetAttributeIdentifierValue(SourceLineNumber sourceLineNumbers, XAttribute attribute);
266 279
267 /// <summary> 280 /// <summary>
268 /// Gets the attribute value as inline directory syntax.
269 /// </summary>
270 /// <param name="sourceLineNumbers">Source line information.</param>
271 /// <param name="attribute">Attribute containing the value to get.</param>
272 /// <param name="resultUsedToCreateReference">Flag indicates whether the inline directory syntax should be processed to create a directory row or to create a directory reference.</param>
273 /// <returns>Inline directory syntax split into array of strings or null if the syntax did not parse.</returns>
274 string[] GetAttributeInlineDirectorySyntax(SourceLineNumber sourceLineNumbers, XAttribute attribute, bool resultUsedToCreateReference);
275
276 /// <summary>
277 /// Get an integer attribute value and displays an error for an illegal integer value. 281 /// Get an integer attribute value and displays an error for an illegal integer value.
278 /// </summary> 282 /// </summary>
279 /// <param name="sourceLineNumbers">Source line information about the owner element.</param> 283 /// <param name="sourceLineNumbers">Source line information about the owner element.</param>