@joebigelow / wix-1 / commits / 4041669e

Add resolved codepage and LCID to bind context

Plus some XML documentation updates. Contributes to wixtoolset/issues#5801

Rob Mensching committed Apr 2, 2021 at 14:00 UTC 4041669e1f3b3f094579e4f3368e6f57f46d7177
3 files changed +74 -8
src/WixToolset.Extensibility/Data/IBindContext.cs
+15 -5
@@ -27,11 +27,6 @@ namespace WixToolset.Extensibility.Data
27 /// </summary>
28 string CabCachePath { get; set; }
29
30 - /// <summary>
31 - /// Codepage for result.
32 - /// </summary>
33 - int Codepage { get; set; }
34 -
30 /// <summary>
31 /// Default compression level.
32 /// </summary>
@@ -87,6 +82,21 @@ namespace WixToolset.Extensibility.Data
82 /// </summary>
83 string PdbPath { get; set; }
84
85 + /// <summary>
86 + /// Codepage from resolve.
87 + /// </summary>
88 + int? ResolvedCodepage { get; set; }
89 +
90 + /// <summary>
91 + /// Summary information codepage from resolve.
92 + /// </summary>
93 + int? ResolvedSummaryInformationCodepage { get; set; }
94 +
95 + /// <summary>
96 + /// LCID from resolve.
97 + /// </summary>
98 + int? ResolvedLcid { get; set; }
99 +
100 /// <summary>
101 /// Set of ICEs to skip.
102 /// </summary>
src/WixToolset.Extensibility/Data/IResolveContext.cs
+33 -1
@@ -7,27 +7,59 @@ namespace WixToolset.Extensibility.Data
7 using System.Threading;
8 using WixToolset.Data;
9
10 -#pragma warning disable 1591 // TODO: add documentation
10 + /// <summary>
11 + /// Context for resolve.
12 + /// </summary>
13 public interface IResolveContext
14 {
15 + /// <summary>
16 + /// Service provider.
17 + /// </summary>
18 IServiceProvider ServiceProvider { get; }
19
20 + /// <summary>
21 + /// Bind paths used during resolution.
22 + /// </summary>
23 IEnumerable<IBindPath> BindPaths { get; set; }
24
25 + /// <summary>
26 + /// Resolve extensions.
27 + /// </summary>
28 IEnumerable<IResolverExtension> Extensions { get; set; }
29
30 + /// <summary>
31 + /// Extension data.
32 + /// </summary>
33 IEnumerable<IExtensionData> ExtensionData { get; set; }
34
35 + /// <summary>
36 + /// List of cultures to filter the localizations.
37 + /// </summary>
38 IEnumerable<string> FilterCultures { get; set; }
39
40 + /// <summary>
41 + /// Intermediate folder.
42 + /// </summary>
43 string IntermediateFolder { get; set; }
44
45 + /// <summary>
46 + /// Intermediate to resolve.
47 + /// </summary>
48 Intermediate IntermediateRepresentation { get; set; }
49
50 + /// <summary>
51 + /// Localizations used to resolve.
52 + /// </summary>
53 IEnumerable<Localization> Localizations { get; set; }
54
55 + /// <summary>
56 + /// Indicates whether to allow localization and bind variables to remain unresolved.
57 + /// </summary>
58 bool AllowUnresolvedVariables { get; set; }
59
60 + /// <summary>
61 + /// Cancellation token.
62 + /// </summary>
63 CancellationToken CancellationToken { get; set; }
64 }
65 }
src/WixToolset.Extensibility/Data/IResolveResult.cs
+26 -2
@@ -5,15 +5,39 @@ namespace WixToolset.Extensibility.Data
5 using System.Collections.Generic;
6 using WixToolset.Data;
7
8 -#pragma warning disable 1591 // TODO: add documentation
8 + /// <summary>
9 + /// Result of resolving localization and bind variables.
10 + /// </summary>
11 public interface IResolveResult
12 {
11 - int Codepage { get; set; }
13 + /// <summary>
14 + /// Resolved codepage, if provided.
15 + /// </summary>
16 + int? Codepage { get; set; }
17
18 + /// <summary>
19 + /// Resolved summary information codepage, if provided.
20 + /// </summary>
21 + int? SummaryInformationCodepage { get; set; }
22 +
23 + /// <summary>
24 + /// Resolved package language, if provided.
25 + /// </summary>
26 + int? PackageLcid { get; set; }
27 +
28 + /// <summary>
29 + /// Fields still requiring resolution.
30 + /// </summary>
31 IEnumerable<IDelayedField> DelayedFields { get; set; }
32
33 + /// <summary>
34 + /// Files to extract from embedded .wixlibs.
35 + /// </summary>
36 IEnumerable<IExpectedExtractFile> ExpectedEmbeddedFiles { get; set; }
37
38 + /// <summary>
39 + /// Resolved intermediate.
40 + /// </summary>
41 Intermediate IntermediateRepresentation { get; set; }
42 }
43 }