main
cs 66 lines 2.08 KB
Raw
1 // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace WixToolset.Extensibility.Data
4 {
5 using System;
6 using System.Collections.Generic;
7 using System.Threading;
8 using WixToolset.Data;
9
10 /// <summary>
11 /// Preprocessor context.
12 /// </summary>
13 public interface IPreprocessContext
14 {
15 /// <summary>
16 /// Service provider.
17 /// </summary>
18 IServiceProvider ServiceProvider { get; }
19
20 /// <summary>
21 /// Collection of extensions to use during preprocessing.
22 /// </summary>
23 IReadOnlyCollection<IPreprocessorExtension> Extensions { get; set; }
24
25 /// <summary>
26 /// Collection of search paths to find include files.
27 /// </summary>
28 IReadOnlyCollection<string> IncludeSearchPaths { get; set; }
29
30 /// <summary>
31 /// Intermediate folder.
32 /// </summary>
33 string IntermediateFolder { get; set; }
34
35 /// <summary>
36 /// Output path.
37 /// </summary>
38 string OutputPath { get; set; }
39
40 /// <summary>
41 /// Gets the platform which the compiler will use when defaulting 64-bit attributes and elements.
42 /// </summary>
43 /// <value>The platform which the compiler will use when defaulting 64-bit attributes and elements.</value>
44 Platform Platform { get; set; }
45
46 /// <summary>
47 /// Path to the source file being preprocessed.
48 /// </summary>
49 string SourcePath { get; set; }
50
51 /// <summary>
52 /// Collection of name/value pairs used as preprocessor variables.
53 /// </summary>
54 IDictionary<string, string> Variables { get; set; }
55
56 /// <summary>
57 /// Current source line number of the preprocessor.
58 /// </summary>
59 SourceLineNumber CurrentSourceLineNumber { get; set; }
60
61 /// <summary>
62 /// Cancellation token.
63 /// </summary>
64 CancellationToken CancellationToken { get; set; }
65 }
66 }