summaryrefslogtreecommitdiff
path: root/src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-05-04 11:41:55 -0700
committerRob Mensching <rob@firegiant.com>2021-05-04 11:41:55 -0700
commit337124bed6a57b40fca11c5c2f5b554f570522a6 (patch)
tree06e8552b11852309a2275e4bd63ee61320061876 /src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.cs
parenteab57c2ddebc3dc8cebc22f5337f50062f415c0d (diff)
downloadwix-337124bed6a57b40fca11c5c2f5b554f570522a6.tar.gz
wix-337124bed6a57b40fca11c5c2f5b554f570522a6.tar.bz2
wix-337124bed6a57b40fca11c5c2f5b554f570522a6.zip
Move ComPlus.wixext into ext
Diffstat (limited to 'src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.cs')
-rw-r--r--src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.cs55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.cs b/src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.cs
new file mode 100644
index 00000000..f875b424
--- /dev/null
+++ b/src/ext/ComPlus/wixext/Symbols/ComPlusInterfaceSymbol.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 ComPlusInterface = new IntermediateSymbolDefinition(
11 ComPlusSymbolDefinitionType.ComPlusInterface.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(ComPlusInterfaceSymbolFields.ComPlusComponentRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ComPlusInterfaceSymbolFields.IID), IntermediateFieldType.String),
16 },
17 typeof(ComPlusInterfaceSymbol));
18 }
19}
20
21namespace WixToolset.ComPlus.Symbols
22{
23 using WixToolset.Data;
24
25 public enum ComPlusInterfaceSymbolFields
26 {
27 ComPlusComponentRef,
28 IID,
29 }
30
31 public class ComPlusInterfaceSymbol : IntermediateSymbol
32 {
33 public ComPlusInterfaceSymbol() : base(ComPlusSymbolDefinitions.ComPlusInterface, null, null)
34 {
35 }
36
37 public ComPlusInterfaceSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(ComPlusSymbolDefinitions.ComPlusInterface, sourceLineNumber, id)
38 {
39 }
40
41 public IntermediateField this[ComPlusInterfaceSymbolFields index] => this.Fields[(int)index];
42
43 public string ComPlusComponentRef
44 {
45 get => this.Fields[(int)ComPlusInterfaceSymbolFields.ComPlusComponentRef].AsString();
46 set => this.Set((int)ComPlusInterfaceSymbolFields.ComPlusComponentRef, value);
47 }
48
49 public string IID
50 {
51 get => this.Fields[(int)ComPlusInterfaceSymbolFields.IID].AsString();
52 set => this.Set((int)ComPlusInterfaceSymbolFields.IID, value);
53 }
54 }
55} \ No newline at end of file