// 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 WixSimpleReference = new IntermediateTupleDefinition(
TupleDefinitionType.WixSimpleReference,
new[]
{
new IntermediateFieldDefinition(nameof(WixSimpleReferenceTupleFields.Table), IntermediateFieldType.String),
new IntermediateFieldDefinition(nameof(WixSimpleReferenceTupleFields.PrimaryKeys), IntermediateFieldType.String),
},
typeof(WixSimpleReferenceTuple));
}
}
namespace WixToolset.Data.Tuples
{
using System;
using System.Diagnostics;
public enum WixSimpleReferenceTupleFields
{
Table,
PrimaryKeys,
}
[DebuggerDisplay("{SymbolicName}")]
public class WixSimpleReferenceTuple : IntermediateTuple
{
public WixSimpleReferenceTuple() : base(TupleDefinitions.WixSimpleReference, null, null)
{
}
public WixSimpleReferenceTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixSimpleReference, sourceLineNumber, id)
{
}
public IntermediateField this[WixSimpleReferenceTupleFields index] => this.Fields[(int)index];
public string Table
{
get => (string)this.Fields[(int)WixSimpleReferenceTupleFields.Table];
set => this.Set((int)WixSimpleReferenceTupleFields.Table, value);
}
public string PrimaryKeys
{
get => (string)this.Fields[(int)WixSimpleReferenceTupleFields.PrimaryKeys];
set => this.Set((int)WixSimpleReferenceTupleFields.PrimaryKeys, value);
}
///
/// Gets the symbolic name.
///
/// Symbolic name.
public string SymbolicName => String.Concat(this.Table, ":", this.PrimaryKeys);
}
}