From cece10e037c6daacc8d2def1a9057882aec47fe4 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 7 Oct 2019 07:32:59 -0700 Subject: Add support for long fields and fix up Bundle and many other tuples --- .../Tuples/WixBundlePatchTargetCodeTuple.cs | 40 +++++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) (limited to 'src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs') diff --git a/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs b/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs index f8752067..56ca144f 100644 --- a/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs +++ b/src/WixToolset.Data/Tuples/WixBundlePatchTargetCodeTuple.cs @@ -10,7 +10,7 @@ namespace WixToolset.Data TupleDefinitionType.WixBundlePatchTargetCode, new[] { - new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.PackageId), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.PackageRef), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.TargetCode), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(WixBundlePatchTargetCodeTupleFields.Attributes), IntermediateFieldType.Number), }, @@ -20,13 +20,31 @@ namespace WixToolset.Data namespace WixToolset.Data.Tuples { + using System; + public enum WixBundlePatchTargetCodeTupleFields { - PackageId, + PackageRef, TargetCode, Attributes, } + [Flags] + public enum WixBundlePatchTargetCodeAttributes : int + { + None = 0, + + /// + /// The transform targets a specific ProductCode. + /// + TargetsProductCode = 1, + + /// + /// The transform targets a specific UpgradeCode. + /// + TargetsUpgradeCode = 2, + } + public class WixBundlePatchTargetCodeTuple : IntermediateTuple { public WixBundlePatchTargetCodeTuple() : base(TupleDefinitions.WixBundlePatchTargetCode, null, null) @@ -39,10 +57,10 @@ namespace WixToolset.Data.Tuples public IntermediateField this[WixBundlePatchTargetCodeTupleFields index] => this.Fields[(int)index]; - public string PackageId + public string PackageRef { - get => (string)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.PackageId]; - set => this.Set((int)WixBundlePatchTargetCodeTupleFields.PackageId, value); + get => (string)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.PackageRef]; + set => this.Set((int)WixBundlePatchTargetCodeTupleFields.PackageRef, value); } public string TargetCode @@ -51,10 +69,14 @@ namespace WixToolset.Data.Tuples set => this.Set((int)WixBundlePatchTargetCodeTupleFields.TargetCode, value); } - public int Attributes + public WixBundlePatchTargetCodeAttributes Attributes { - get => (int)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.Attributes]; - set => this.Set((int)WixBundlePatchTargetCodeTupleFields.Attributes, value); + get => (WixBundlePatchTargetCodeAttributes)this.Fields[(int)WixBundlePatchTargetCodeTupleFields.Attributes].AsNumber(); + set => this.Set((int)WixBundlePatchTargetCodeTupleFields.Attributes, (int)value); } + + public bool TargetsProductCode => (this.Attributes & WixBundlePatchTargetCodeAttributes.TargetsProductCode) == WixBundlePatchTargetCodeAttributes.TargetsProductCode; + + public bool TargetsUpgradeCode => (this.Attributes & WixBundlePatchTargetCodeAttributes.TargetsUpgradeCode) == WixBundlePatchTargetCodeAttributes.TargetsUpgradeCode; } -} \ No newline at end of file +} -- cgit v1.2.3-55-g6feb