// 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();
}
}