// 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 Media = new IntermediateTupleDefinition( TupleDefinitionType.Media, new[] { new IntermediateFieldDefinition(nameof(MediaTupleFields.DiskId), IntermediateFieldType.Number), new IntermediateFieldDefinition(nameof(MediaTupleFields.LastSequence), IntermediateFieldType.Number), new IntermediateFieldDefinition(nameof(MediaTupleFields.DiskPrompt), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(MediaTupleFields.Cabinet), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(MediaTupleFields.VolumeLabel), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(MediaTupleFields.Source), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(MediaTupleFields.CompressionLevel), IntermediateFieldType.Number), new IntermediateFieldDefinition(nameof(MediaTupleFields.Layout), IntermediateFieldType.String), }, typeof(MediaTuple)); } } namespace WixToolset.Data.Tuples { public enum MediaTupleFields { DiskId, LastSequence, DiskPrompt, Cabinet, VolumeLabel, Source, CompressionLevel, Layout, } public class MediaTuple : IntermediateTuple { public MediaTuple() : base(TupleDefinitions.Media, null, null) { } public MediaTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.Media, sourceLineNumber, id) { } public IntermediateField this[MediaTupleFields index] => this.Fields[(int)index]; public int DiskId { get => (int)this.Fields[(int)MediaTupleFields.DiskId]; set => this.Set((int)MediaTupleFields.DiskId, value); } public int? LastSequence { get => (int?)this.Fields[(int)MediaTupleFields.LastSequence]; set => this.Set((int)MediaTupleFields.LastSequence, value); } public string DiskPrompt { get => (string)this.Fields[(int)MediaTupleFields.DiskPrompt]; set => this.Set((int)MediaTupleFields.DiskPrompt, value); } public string Cabinet { get => (string)this.Fields[(int)MediaTupleFields.Cabinet]; set => this.Set((int)MediaTupleFields.Cabinet, value); } public string VolumeLabel { get => (string)this.Fields[(int)MediaTupleFields.VolumeLabel]; set => this.Set((int)MediaTupleFields.VolumeLabel, value); } public string Source { get => (string)this.Fields[(int)MediaTupleFields.Source]; set => this.Set((int)MediaTupleFields.Source, value); } public CompressionLevel? CompressionLevel { get => (CompressionLevel?)this.Fields[(int)MediaTupleFields.CompressionLevel].AsNullableNumber(); set => this.Set((int)MediaTupleFields.CompressionLevel, (int?)value); } public string Layout { get => (string)this.Fields[(int)MediaTupleFields.Layout]; set => this.Set((int)MediaTupleFields.Layout, value); } } }