aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-06-13 09:53:28 -0700
committerRob Mensching <rob@firegiant.com>2020-06-13 10:04:28 -0700
commitce397dd68b6699092d0b038b9a8c353f1f6a425d (patch)
tree418df2d0dbbd4e1df1e205e89935998694dacf8f /src
parent92f24ab5d534c8615bf223099e3c27b2a991a3c7 (diff)
downloadwix-ce397dd68b6699092d0b038b9a8c353f1f6a425d.tar.gz
wix-ce397dd68b6699092d0b038b9a8c353f1f6a425d.tar.bz2
wix-ce397dd68b6699092d0b038b9a8c353f1f6a425d.zip
Introduce simplified command creation methods plus xmldoc
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Extensibility/Data/ICommandLineArguments.cs17
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLine.cs26
2 files changed, 38 insertions, 5 deletions
diff --git a/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs b/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
index dfa81762..b732c648 100644
--- a/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
+++ b/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
@@ -1,9 +1,12 @@
1// 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. 1// 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.
2 2
3namespace WixToolset.Extensibility.Data 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using WixToolset.Extensibility.Services; 5 using WixToolset.Extensibility.Services;
6 6
7 /// <summary>
8 /// Parsed command-line arguments.
9 /// </summary>
7 public interface ICommandLineArguments 10 public interface ICommandLineArguments
8 { 11 {
9 string[] OriginalArguments { get; set; } 12 string[] OriginalArguments { get; set; }
@@ -14,10 +17,22 @@ namespace WixToolset.Extensibility.Data
14 17
15 string ErrorArgument { get; set; } 18 string ErrorArgument { get; set; }
16 19
20 /// <summary>
21 /// Populate this argument from a string.
22 /// </summary>
23 /// <param name="commandLine">String to parse.</param>
17 void Populate(string commandLine); 24 void Populate(string commandLine);
18 25
26 /// <summary>
27 /// Populate this argument from array of strings.
28 /// </summary>
29 /// <param name="args">Array of strings.</param>
19 void Populate(string[] args); 30 void Populate(string[] args);
20 31
32 /// <summary>
33 /// Parses this arguments after it is populated.
34 /// </summary>
35 /// <returns>Parser for this arguments.</returns>
21 ICommandLineParser Parse(); 36 ICommandLineParser Parse();
22 } 37 }
23} 38}
diff --git a/src/WixToolset.Extensibility/Services/ICommandLine.cs b/src/WixToolset.Extensibility/Services/ICommandLine.cs
index 48f3620f..2b841af0 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLine.cs
+++ b/src/WixToolset.Extensibility/Services/ICommandLine.cs
@@ -1,15 +1,33 @@
1// 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. 1// 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.
2 2
3namespace WixToolset.Extensibility.Services 3namespace WixToolset.Extensibility.Services
4{ 4{
5 using WixToolset.Extensibility.Data; 5 using WixToolset.Extensibility.Data;
6 6
7 /// <summary>
8 /// Command-line parsing mechanism.
9 /// </summary>
7 public interface ICommandLine 10 public interface ICommandLine
8 { 11 {
9 IExtensionManager ExtensionManager { get; set; } 12 /// <summary>
13 /// Simple way to parse arguments and create a command.
14 /// </summary>
15 /// <param name="args">Unparsed arguments.</param>
16 /// <returns>Command if the command-line arguments can be parsed, otherwise null.</returns>
17 ICommandLineCommand CreateCommand(string[] args);
10 18
11 ICommandLineArguments Arguments { get; set; } 19 /// <summary>
20 /// Simple way to parse arguments and create a command.
21 /// </summary>
22 /// <param name="commandLine">Unparsed arguments.</param>
23 /// <returns>Command if the command-line arguments can be parsed, otherwise null.</returns>
24 ICommandLineCommand CreateCommand(string commandLine);
12 25
13 ICommandLineCommand ParseStandardCommandLine(); 26 /// <summary>
27 /// Creates a command from populated arguments.
28 /// </summary>
29 /// <param name="arguments">Parsed arguments.</param>
30 /// <returns>Command if the command-line arguments can be parsed, otherwise null.</returns>
31 ICommandLineCommand ParseStandardCommandLine(ICommandLineArguments arguments);
14 } 32 }
15} 33}