From 221da62c05ef2b515eb507c77655514cd0ec32a4 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 7 Dec 2017 14:17:39 -0800 Subject: Reintegrate MSI constructs into WxToolset.Data.WindowsInstaller namespace --- .../Rows/WixBundlePatchTargetCodeRow.cs | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/WixToolset.Data/WindowsInstaller/Rows/WixBundlePatchTargetCodeRow.cs (limited to 'src/WixToolset.Data/WindowsInstaller/Rows/WixBundlePatchTargetCodeRow.cs') diff --git a/src/WixToolset.Data/WindowsInstaller/Rows/WixBundlePatchTargetCodeRow.cs b/src/WixToolset.Data/WindowsInstaller/Rows/WixBundlePatchTargetCodeRow.cs new file mode 100644 index 00000000..6e05e4b7 --- /dev/null +++ b/src/WixToolset.Data/WindowsInstaller/Rows/WixBundlePatchTargetCodeRow.cs @@ -0,0 +1,79 @@ +// 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.WindowsInstaller.Rows +{ + using System; + + /// + /// Attributes for the PatchTargetCode table. + /// + [Flags] + public enum WixBundlePatchTargetCodeAttributes : int + { + None = 0, + + /// + /// The transform targets a specific ProductCode. + /// + TargetsProductCode = 1, + + /// + /// The transform targets a specific UpgradeCode. + /// + TargetsUpgradeCode = 2, + } + + /// + /// Specialization of a row for the PatchTargetCode table. + /// + public class WixBundlePatchTargetCodeRow : Row + { + /// + /// Creates a PatchTargetCodeRow row that does not belong to a table. + /// + /// Original source lines for this row. + /// TableDefinition this PatchTargetCode row belongs to and should get its column definitions from. + public WixBundlePatchTargetCodeRow(SourceLineNumber sourceLineNumbers, TableDefinition tableDef) : + base(sourceLineNumbers, tableDef) + { + } + + /// + /// Creates a PatchTargetCodeRow row that belongs to a table. + /// + /// Original source lines for this row. + /// Table this PatchTargetCode row belongs to and should get its column definitions from. + public WixBundlePatchTargetCodeRow(SourceLineNumber sourceLineNumbers, Table table) : + base(sourceLineNumbers, table) + { + } + + public string MspPackageId + { + get { return (string)this.Fields[0].Data; } + set { this.Fields[0].Data = value; } + } + + public string TargetCode + { + get { return (string)this.Fields[1].Data; } + set { this.Fields[1].Data = value; } + } + + public WixBundlePatchTargetCodeAttributes Attributes + { + get { return (WixBundlePatchTargetCodeAttributes)this.Fields[2].Data; } + set { this.Fields[2].Data = (int)value; } + } + + public bool TargetsProductCode + { + get { return 0 != (WixBundlePatchTargetCodeAttributes.TargetsProductCode & this.Attributes); } + } + + public bool TargetsUpgradeCode + { + get { return 0 != (WixBundlePatchTargetCodeAttributes.TargetsUpgradeCode & this.Attributes); } + } + } +} -- cgit v1.2.3-55-g6feb