From 69b15d96cebdbb7201b1849b4f62786633d70b8d Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 1 Nov 2017 10:56:09 -0700 Subject: Introduce WiX Intermediate Representation --- src/WixToolset.Data/Tuples/IniFileTuple.cs | 100 +++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 src/WixToolset.Data/Tuples/IniFileTuple.cs (limited to 'src/WixToolset.Data/Tuples/IniFileTuple.cs') diff --git a/src/WixToolset.Data/Tuples/IniFileTuple.cs b/src/WixToolset.Data/Tuples/IniFileTuple.cs new file mode 100644 index 00000000..29fb3264 --- /dev/null +++ b/src/WixToolset.Data/Tuples/IniFileTuple.cs @@ -0,0 +1,100 @@ +// 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. + +namespace WixToolset.Data +{ + using WixToolset.Data.Tuples; + + public static partial class TupleDefinitions + { + public static readonly IntermediateTupleDefinition IniFile = new IntermediateTupleDefinition( + TupleDefinitionType.IniFile, + new[] + { + new IntermediateFieldDefinition(nameof(IniFileTupleFields.IniFile), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.FileName), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.DirProperty), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.Section), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.Key), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.Value), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.Action), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IniFileTupleFields.Component_), IntermediateFieldType.String), + }, + typeof(IniFileTuple)); + } +} + +namespace WixToolset.Data.Tuples +{ + public enum IniFileTupleFields + { + IniFile, + FileName, + DirProperty, + Section, + Key, + Value, + Action, + Component_, + } + + public class IniFileTuple : IntermediateTuple + { + public IniFileTuple() : base(TupleDefinitions.IniFile, null, null) + { + } + + public IniFileTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.IniFile, sourceLineNumber, id) + { + } + + public IntermediateField this[IniFileTupleFields index] => this.Fields[(int)index]; + + public string IniFile + { + get => (string)this.Fields[(int)IniFileTupleFields.IniFile]?.Value; + set => this.Set((int)IniFileTupleFields.IniFile, value); + } + + public string FileName + { + get => (string)this.Fields[(int)IniFileTupleFields.FileName]?.Value; + set => this.Set((int)IniFileTupleFields.FileName, value); + } + + public string DirProperty + { + get => (string)this.Fields[(int)IniFileTupleFields.DirProperty]?.Value; + set => this.Set((int)IniFileTupleFields.DirProperty, value); + } + + public string Section + { + get => (string)this.Fields[(int)IniFileTupleFields.Section]?.Value; + set => this.Set((int)IniFileTupleFields.Section, value); + } + + public string Key + { + get => (string)this.Fields[(int)IniFileTupleFields.Key]?.Value; + set => this.Set((int)IniFileTupleFields.Key, value); + } + + public string Value + { + get => (string)this.Fields[(int)IniFileTupleFields.Value]?.Value; + set => this.Set((int)IniFileTupleFields.Value, value); + } + + public int Action + { + get => (int)this.Fields[(int)IniFileTupleFields.Action]?.Value; + set => this.Set((int)IniFileTupleFields.Action, value); + } + + public string Component_ + { + get => (string)this.Fields[(int)IniFileTupleFields.Component_]?.Value; + set => this.Set((int)IniFileTupleFields.Component_, value); + } + } +} \ No newline at end of file -- cgit v1.2.3-55-g6feb