aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.Mba.Core/IMbaCommand.cs
blob: 495b2f44dadf663181d1feefaa1c95552ff7d103 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// 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.Mba.Core
{
    using System.Collections.Generic;

    /// <summary>
    /// Command information parsed from the command line.
    /// </summary>
    public interface IMbaCommand
    {
        /// <summary>
        /// Gets the action to perform if a reboot is required.
        /// </summary>
        Restart Restart { get; }

        /// <summary>
        /// The command line arguments not parsed into <see cref="IBootstrapperCommand"/> or <see cref="IMbaCommand"/>.
        /// </summary>
        string[] UnknownCommandLineArgs { get; }

        /// <summary>
        /// The variables that were parsed from the command line.
        /// Key = variable name, Value = variable value.
        /// </summary>
        KeyValuePair<string, string>[] Variables { get; }

        /// <summary>
        /// Sets overridable variables from the command line.
        /// </summary>
        /// <param name="overridableVariables">The overridable variable information from <see cref="IBootstrapperApplicationData"/>.</param>
        /// <param name="engine">The engine.</param>
        void SetOverridableVariables(IOverridableVariables overridableVariables, IEngine engine);
    }
}