Add GetCanonicalRelativePath.
Sean Hall committed
Dec 16, 2020 at 18:01 UTC
8e08acb229ade411b7418df63b14198220aaaaa7
2 files changed
+22
src/WixToolset.Extensibility/Services/IBackendHelper.cs
+11
@@ -35,6 +35,17 @@ namespace WixToolset.Extensibility.Services
35
/// <returns>Resolved directory.</returns>
36
IResolvedDirectory CreateResolvedDirectory(string directoryParent, string name);
37
38
+ /// <summary>
39
+ /// Validates path is relative and canonicalizes it.
40
+ /// For example, "a\..\c\.\d.exe" => "c\d.exe".
41
+ /// </summary>
42
+ /// <param name="sourceLineNumbers"></param>
43
+ /// <param name="elementName"></param>
44
+ /// <param name="attributeName"></param>
45
+ /// <param name="relativePath"></param>
46
+ /// <returns>The original value if not relative, otherwise the canonicalized relative path.</returns>
47
+ string GetCanonicalRelativePath(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string relativePath);
48
+
49
/// <summary>
50
/// Creates a tracked file.
51
/// </summary>
src/WixToolset.Extensibility/Services/IParseHelper.cs
+11
@@ -340,6 +340,17 @@ namespace WixToolset.Extensibility.Services
340
/// <returns>The attribute's YesNoType value.</returns>
341
YesNoDefaultType GetAttributeYesNoDefaultValue(SourceLineNumber sourceLineNumbers, XAttribute attribute);
342
343
+ /// <summary>
344
+ /// Validates path is relative and canonicalizes it.
345
+ /// For example, "a\..\c\.\d.exe" => "c\d.exe".
346
+ /// </summary>
347
+ /// <param name="sourceLineNumbers"></param>
348
+ /// <param name="elementName"></param>
349
+ /// <param name="attributeName"></param>
350
+ /// <param name="relativePath"></param>
351
+ /// <returns>The original value if not relative, otherwise the canonicalized relative path.</returns>
352
+ string GetCanonicalRelativePath(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string relativePath);
353
+
354
/// <summary>
355
/// Gets a source line number for an element.
356
/// </summary>