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/SummaryInfoRowCollection.cs | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/WixToolset.Data/WindowsInstaller/Rows/SummaryInfoRowCollection.cs (limited to 'src/WixToolset.Data/WindowsInstaller/Rows/SummaryInfoRowCollection.cs') diff --git a/src/WixToolset.Data/WindowsInstaller/Rows/SummaryInfoRowCollection.cs b/src/WixToolset.Data/WindowsInstaller/Rows/SummaryInfoRowCollection.cs new file mode 100644 index 00000000..fc0410e9 --- /dev/null +++ b/src/WixToolset.Data/WindowsInstaller/Rows/SummaryInfoRowCollection.cs @@ -0,0 +1,41 @@ +// 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; + using System.Collections.ObjectModel; + + /// + /// Indexed container class for summary information rows. + /// + public sealed class SummaryInfoRowCollection : KeyedCollection + { + /// + /// Creates the keyed collection from existing rows in a table. + /// + /// The summary information table to index. + public SummaryInfoRowCollection(Table table) + { + if (0 != String.CompareOrdinal("_SummaryInformation", table.Name)) + { + string message = string.Format(WixDataStrings.EXP_UnsupportedTable, table.Name); + throw new ArgumentException(message, "table"); + } + + foreach (Row row in table.Rows) + { + this.Add(row); + } + } + + /// + /// Gets the summary property ID for the . + /// + /// The row to index. + /// The summary property ID for the . + protected override int GetKeyForItem(Row row) + { + return (int)row[0]; + } + } +} -- cgit v1.2.3-55-g6feb