summaryrefslogtreecommitdiff
path: root/src/ext/ComPlus/wixext/Symbols/ComPlusComponentSymbol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/ComPlus/wixext/Symbols/ComPlusComponentSymbol.cs')
-rw-r--r--src/ext/ComPlus/wixext/Symbols/ComPlusComponentSymbol.cs55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ext/ComPlus/wixext/Symbols/ComPlusComponentSymbol.cs b/src/ext/ComPlus/wixext/Symbols/ComPlusComponentSymbol.cs
new file mode 100644
index 00000000..020b754c
--- /dev/null
+++ b/src/ext/ComPlus/wixext/Symbols/ComPlusComponentSymbol.cs
@@ -0,0 +1,55 @@
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
3namespace WixToolset.ComPlus
4{
5 using WixToolset.Data;
6 using WixToolset.ComPlus.Symbols;
7
8 public static partial class ComPlusSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition ComPlusComponent = new IntermediateSymbolDefinition(
11 ComPlusSymbolDefinitionType.ComPlusComponent.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(ComPlusComponentSymbolFields.AssemblyRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ComPlusComponentSymbolFields.CLSID), IntermediateFieldType.String),
16 },
17 typeof(ComPlusComponentSymbol));
18 }
19}
20
21namespace WixToolset.ComPlus.Symbols
22{
23 using WixToolset.Data;
24
25 public enum ComPlusComponentSymbolFields
26 {
27 AssemblyRef,
28 CLSID,
29 }
30
31 public class ComPlusComponentSymbol : IntermediateSymbol
32 {
33 public ComPlusComponentSymbol() : base(ComPlusSymbolDefinitions.ComPlusComponent, null, null)
34 {
35 }
36
37 public ComPlusComponentSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(ComPlusSymbolDefinitions.ComPlusComponent, sourceLineNumber, id)
38 {
39 }
40
41 public IntermediateField this[ComPlusComponentSymbolFields index] => this.Fields[(int)index];
42
43 public string AssemblyRef
44 {
45 get => this.Fields[(int)ComPlusComponentSymbolFields.AssemblyRef].AsString();
46 set => this.Set((int)ComPlusComponentSymbolFields.AssemblyRef, value);
47 }
48
49 public string CLSID
50 {
51 get => this.Fields[(int)ComPlusComponentSymbolFields.CLSID].AsString();
52 set => this.Set((int)ComPlusComponentSymbolFields.CLSID, value);
53 }
54 }
55} \ No newline at end of file