// 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.Core.Link { using System.Collections.Generic; using WixToolset.Data; /// /// Object that connects things (components/modules) to features. /// internal class ConnectToFeature { /// /// Creates a new connect to feature. /// /// Section this connect belongs to. /// Id of the child. public ConnectToFeature(IntermediateSection section, string childId) : this(section, childId, null, false) { } /// /// Creates a new connect to feature. /// /// Section this connect belongs to. /// Id of the child. /// Sets the primary feature for the connection. /// Sets if this is explicit primary. public ConnectToFeature(IntermediateSection section, string childId, string primaryFeature, bool explicitPrimaryFeature) { this.Section = section; this.ChildId = childId; this.PrimaryFeature = primaryFeature; this.IsExplicitPrimaryFeature = explicitPrimaryFeature; } /// /// Gets the section. /// /// Section. public IntermediateSection Section { get; } /// /// Gets the child identifier. /// /// The child identifier. public string ChildId { get; } /// /// Gets or sets if the flag for if the primary feature was set explicitly. /// /// The flag for if the primary feature was set explicitly. public bool IsExplicitPrimaryFeature { get; set; } /// /// Gets or sets the primary feature. /// /// The primary feature. public string PrimaryFeature { get; set; } /// /// Gets the features connected to. /// /// Features connected to. public List ConnectFeatures { get; } = new List(); } }