aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/IExtensionCommandLine.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-08-20 14:22:07 -0700
committerRob Mensching <rob@firegiant.com>2017-08-20 14:25:49 -0700
commit3e1c5e3fa80a2498f7d6aac5c0f8ca9e3bd7c66c (patch)
treebbe907a4c5ebf7aa5e3f02141f6e3abd31cb7b5c /src/WixToolset.Extensibility/IExtensionCommandLine.cs
parent6dee3b45cb679786bd49a5db8fde9006d283b3e2 (diff)
downloadwix-3e1c5e3fa80a2498f7d6aac5c0f8ca9e3bd7c66c.tar.gz
wix-3e1c5e3fa80a2498f7d6aac5c0f8ca9e3bd7c66c.tar.bz2
wix-3e1c5e3fa80a2498f7d6aac5c0f8ca9e3bd7c66c.zip
Move to .NET Core 2.0
Diffstat (limited to 'src/WixToolset.Extensibility/IExtensionCommandLine.cs')
-rw-r--r--src/WixToolset.Extensibility/IExtensionCommandLine.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/WixToolset.Extensibility/IExtensionCommandLine.cs b/src/WixToolset.Extensibility/IExtensionCommandLine.cs
new file mode 100644
index 00000000..b6cff5d0
--- /dev/null
+++ b/src/WixToolset.Extensibility/IExtensionCommandLine.cs
@@ -0,0 +1,42 @@
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
3namespace WixToolset.Extensibility
4{
5 using System.Collections.Generic;
6 using WixToolset.Data;
7
8 /// <summary>
9 /// A command line option.
10 /// </summary>
11 public struct ExtensionCommandLineSwitch
12 {
13 public string Switch { get; set; }
14
15 public string Description { get; set; }
16 }
17
18 /// <summary>
19 /// Interface extensions implement to be able to parse command-line options.
20 /// </summary>
21 public interface IExtensionCommandLine
22 {
23 /// <summary>
24 /// Sets the message handler for the extension.
25 /// </summary>
26 /// <value>Message handler for the extension.</value>
27 IMessageHandler MessageHandler { set; }
28
29 /// <summary>
30 /// Gets the supported command line types for this extension.
31 /// </summary>
32 /// <value>The supported command line types for this extension.</value>
33 IEnumerable<ExtensionCommandLineSwitch> CommandLineSwitches { get; }
34
35 /// <summary>
36 /// Parse the commandline arguments.
37 /// </summary>
38 /// <param name="args">Commandline arguments.</param>
39 /// <returns>Unparsed commandline arguments.</returns>
40 string[] ParseCommandLine(string[] args);
41 }
42}