aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/ComPlusAssemblyTuple.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/ComPlusAssemblyTuple.cs')
-rw-r--r--src/wixext/Tuples/ComPlusAssemblyTuple.cs103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/wixext/Tuples/ComPlusAssemblyTuple.cs b/src/wixext/Tuples/ComPlusAssemblyTuple.cs
new file mode 100644
index 00000000..0330b4e8
--- /dev/null
+++ b/src/wixext/Tuples/ComPlusAssemblyTuple.cs
@@ -0,0 +1,103 @@
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.Tuples;
7
8 public static partial class ComPlusTupleDefinitions
9 {
10 public static readonly IntermediateTupleDefinition ComPlusAssembly = new IntermediateTupleDefinition(
11 ComPlusTupleDefinitionType.ComPlusAssembly.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.Assembly), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.Application_), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.Component_), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.AssemblyName), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.DllPath), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.TlbPath), IntermediateFieldType.String),
20 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.PSDllPath), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(ComPlusAssemblyTupleFields.Attributes), IntermediateFieldType.Number),
22 },
23 typeof(ComPlusAssemblyTuple));
24 }
25}
26
27namespace WixToolset.ComPlus.Tuples
28{
29 using WixToolset.Data;
30
31 public enum ComPlusAssemblyTupleFields
32 {
33 Assembly,
34 Application_,
35 Component_,
36 AssemblyName,
37 DllPath,
38 TlbPath,
39 PSDllPath,
40 Attributes,
41 }
42
43 public class ComPlusAssemblyTuple : IntermediateTuple
44 {
45 public ComPlusAssemblyTuple() : base(ComPlusTupleDefinitions.ComPlusAssembly, null, null)
46 {
47 }
48
49 public ComPlusAssemblyTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(ComPlusTupleDefinitions.ComPlusAssembly, sourceLineNumber, id)
50 {
51 }
52
53 public IntermediateField this[ComPlusAssemblyTupleFields index] => this.Fields[(int)index];
54
55 public string Assembly
56 {
57 get => this.Fields[(int)ComPlusAssemblyTupleFields.Assembly].AsString();
58 set => this.Set((int)ComPlusAssemblyTupleFields.Assembly, value);
59 }
60
61 public string Application_
62 {
63 get => this.Fields[(int)ComPlusAssemblyTupleFields.Application_].AsString();
64 set => this.Set((int)ComPlusAssemblyTupleFields.Application_, value);
65 }
66
67 public string Component_
68 {
69 get => this.Fields[(int)ComPlusAssemblyTupleFields.Component_].AsString();
70 set => this.Set((int)ComPlusAssemblyTupleFields.Component_, value);
71 }
72
73 public string AssemblyName
74 {
75 get => this.Fields[(int)ComPlusAssemblyTupleFields.AssemblyName].AsString();
76 set => this.Set((int)ComPlusAssemblyTupleFields.AssemblyName, value);
77 }
78
79 public string DllPath
80 {
81 get => this.Fields[(int)ComPlusAssemblyTupleFields.DllPath].AsString();
82 set => this.Set((int)ComPlusAssemblyTupleFields.DllPath, value);
83 }
84
85 public string TlbPath
86 {
87 get => this.Fields[(int)ComPlusAssemblyTupleFields.TlbPath].AsString();
88 set => this.Set((int)ComPlusAssemblyTupleFields.TlbPath, value);
89 }
90
91 public string PSDllPath
92 {
93 get => this.Fields[(int)ComPlusAssemblyTupleFields.PSDllPath].AsString();
94 set => this.Set((int)ComPlusAssemblyTupleFields.PSDllPath, value);
95 }
96
97 public int Attributes
98 {
99 get => this.Fields[(int)ComPlusAssemblyTupleFields.Attributes].AsNumber();
100 set => this.Set((int)ComPlusAssemblyTupleFields.Attributes, value);
101 }
102 }
103} \ No newline at end of file