aboutsummaryrefslogtreecommitdiff
path: root/src/api/wix/WixToolset.Extensibility/Data/ICommandLineArguments.cs
blob: 32ee4c095639330c48696dbc9fad709de7c20c8d (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
36
37
38
39
// 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.Extensibility.Data
{
    using WixToolset.Extensibility.Services;

    /// <summary>
    /// Parsed command-line arguments.
    /// </summary>
    public interface ICommandLineArguments
    {
#pragma warning disable 1591 // TODO: add documentation
        string[] OriginalArguments { get; set; }

        string[] Arguments { get; set; }

        string[] Extensions { get; set; }

        string ErrorArgument { get; set; }

        /// <summary>
        /// Populate this argument from a string.
        /// </summary>
        /// <param name="commandLine">String to parse.</param>
        void Populate(string commandLine);

        /// <summary>
        /// Populate this argument from array of strings.
        /// </summary>
        /// <param name="args">Array of strings.</param>
        void Populate(string[] args);

        /// <summary>
        /// Parses this arguments after it is populated.
        /// </summary>
        /// <returns>Parser for this arguments.</returns>
        ICommandLineParser Parse();
    }
}