main
cs 94 lines 2.48 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.Collections.Generic;
6 using WixToolset.Data;
7 using WixToolset.Data.Symbols;
8
9 /// <summary>
10 /// Interface that provides a common facade over file information.
11 /// </summary>
12 public interface IFileFacade
13 {
14 /// <summary>
15 /// Component containing the file.
16 /// </summary>
17 string ComponentRef { get; }
18
19 /// <summary>
20 /// Indicates whether the file is compressed.
21 /// </summary>
22 bool Compressed { get; }
23
24 /// <summary>
25 /// Disk Id for the file.
26 /// </summary>
27 int DiskId { get; set; }
28
29 /// <summary>
30 /// Name of the file.
31 /// </summary>
32 string FileName { get; }
33
34 /// <summary>
35 /// Size of the file.
36 /// </summary>
37 int FileSize { get; set; }
38
39 /// <summary>
40 /// Underlying identifier of the file.
41 /// </summary>
42 Identifier Identifier { get; }
43
44 /// <summary>
45 /// Helper accessor for the Id of the Identifier.
46 /// </summary>
47 string Id { get; }
48
49 /// <summary>
50 /// Language of the file.
51 /// </summary>
52 string Language { get; set; }
53
54 /// <summary>
55 /// Optional patch group for the file.
56 /// </summary>
57 int? PatchGroup { get; }
58
59 /// <summary>
60 /// Sequence of the file.
61 /// </summary>
62 int Sequence { get; set; }
63
64 /// <summary>
65 /// Source line number that define the file.
66 /// </summary>
67 SourceLineNumber SourceLineNumber { get; }
68
69 /// <summary>
70 /// Source to the file.
71 /// </summary>
72 string SourcePath { get; }
73
74 /// <summary>
75 /// Indicates whether the file is to be uncompressed.
76 /// </summary>
77 bool Uncompressed { get; }
78
79 /// <summary>
80 /// Version of the file.
81 /// </summary>
82 string Version { get; set; }
83
84 /// <summary>
85 /// Calculated hash of the file.
86 /// </summary>
87 MsiFileHashSymbol MsiFileHashSymbol { get; set; }
88
89 /// <summary>
90 /// Assembly names found in the file.
91 /// </summary>
92 ICollection<MsiAssemblyNameSymbol> AssemblyNameSymbols { get; }
93 }
94 }