aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/Services
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-12-19 12:24:49 -0800
committerRob Mensching <rob@firegiant.com>2017-12-19 12:24:49 -0800
commit46a4f1d98fdedc82c701ada198252dfd6099959f (patch)
treeafa6a48a83cc1294aa8a923277bfa763e9de6c87 /src/WixToolset.Extensibility/Services
parent54cacc5653a0c8a053d6641badf4470d1b54e865 (diff)
downloadwix-46a4f1d98fdedc82c701ada198252dfd6099959f.tar.gz
wix-46a4f1d98fdedc82c701ada198252dfd6099959f.tar.bz2
wix-46a4f1d98fdedc82c701ada198252dfd6099959f.zip
Integrate simplified message handling
Diffstat (limited to 'src/WixToolset.Extensibility/Services')
-rw-r--r--src/WixToolset.Extensibility/Services/IBindContext.cs2
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLineContext.cs3
-rw-r--r--src/WixToolset.Extensibility/Services/ILinkContext.cs2
-rw-r--r--src/WixToolset.Extensibility/Services/IMessaging.cs80
4 files changed, 83 insertions, 4 deletions
diff --git a/src/WixToolset.Extensibility/Services/IBindContext.cs b/src/WixToolset.Extensibility/Services/IBindContext.cs
index 6bed0ef6..ad1aa818 100644
--- a/src/WixToolset.Extensibility/Services/IBindContext.cs
+++ b/src/WixToolset.Extensibility/Services/IBindContext.cs
@@ -10,7 +10,7 @@ namespace WixToolset.Extensibility.Services
10 { 10 {
11 IServiceProvider ServiceProvider { get; } 11 IServiceProvider ServiceProvider { get; }
12 12
13 Messaging Messaging { get; set; } 13 IMessaging Messaging { get; set; }
14 14
15 IEnumerable<BindPath> BindPaths { get; set; } 15 IEnumerable<BindPath> BindPaths { get; set; }
16 16
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineContext.cs b/src/WixToolset.Extensibility/Services/ICommandLineContext.cs
index 0e040d7f..27d4e6dd 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLineContext.cs
+++ b/src/WixToolset.Extensibility/Services/ICommandLineContext.cs
@@ -3,13 +3,12 @@
3namespace WixToolset.Extensibility.Services 3namespace WixToolset.Extensibility.Services
4{ 4{
5 using System; 5 using System;
6 using WixToolset.Data;
7 6
8 public interface ICommandLineContext 7 public interface ICommandLineContext
9 { 8 {
10 IServiceProvider ServiceProvider { get; } 9 IServiceProvider ServiceProvider { get; }
11 10
12 Messaging Messaging { get; set; } 11 IMessaging Messaging { get; set; }
13 12
14 IExtensionManager ExtensionManager { get; set; } 13 IExtensionManager ExtensionManager { get; set; }
15 14
diff --git a/src/WixToolset.Extensibility/Services/ILinkContext.cs b/src/WixToolset.Extensibility/Services/ILinkContext.cs
index 25c7962f..e098a900 100644
--- a/src/WixToolset.Extensibility/Services/ILinkContext.cs
+++ b/src/WixToolset.Extensibility/Services/ILinkContext.cs
@@ -10,7 +10,7 @@ namespace WixToolset.Extensibility.Services
10 { 10 {
11 IServiceProvider ServiceProvider { get; } 11 IServiceProvider ServiceProvider { get; }
12 12
13 Messaging Messaging { get; set; } 13 IMessaging Messaging { get; set; }
14 14
15 IEnumerable<ILinkerExtension> Extensions { get; set; } 15 IEnumerable<ILinkerExtension> Extensions { get; set; }
16 16
diff --git a/src/WixToolset.Extensibility/Services/IMessaging.cs b/src/WixToolset.Extensibility/Services/IMessaging.cs
new file mode 100644
index 00000000..901c7af4
--- /dev/null
+++ b/src/WixToolset.Extensibility/Services/IMessaging.cs
@@ -0,0 +1,80 @@
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.Services
4{
5 using WixToolset.Data;
6
7 /// <summary>
8 /// Interface for handling messages (error/warning/verbose).
9 /// </summary>
10 public interface IMessaging
11 {
12 /// <summary>
13 /// Indicates whether an error has been found.
14 /// </summary>
15 /// <value>A bool indicating whether an error has been found.</value>
16 bool EncounteredError { get; }
17
18 /// <summary>
19 /// Gets the last error code encountered during messaging.
20 /// </summary>
21 /// <value>The exit code for the process.</value>
22 int LastErrorNumber { get; }
23
24 /// <summary>
25 /// Gets or sets the option to show verbose messages.
26 /// </summary>
27 /// <value>The option to show verbose messages.</value>
28 bool ShowVerboseMessages { get; set; }
29
30 /// <summary>
31 /// Gets or sets the option to suppress all warning messages.
32 /// </summary>
33 /// <value>The option to suppress all warning messages.</value>
34 bool SuppressAllWarnings { get; set; }
35
36 /// <summary>
37 /// Gets and sets the option to treat warnings as errors.
38 /// </summary>
39 /// <value>The option to treat warnings as errors.</value>
40 bool WarningsAsError { get; set; }
41
42 /// <summary>
43 /// Sets the listener for messaging.
44 /// </summary>
45 /// <param name="listener"></param>
46 void SetListener(IMessageListener listener);
47
48 /// <summary>
49 /// Adds a warning message id to be elevated to an error message.
50 /// </summary>
51 /// <param name="warningNumber">Id of the message to elevate.</param>
52 void ElevateWarningMessage(int warningNumber);
53
54 /// <summary>
55 /// Adds a warning message id to be suppressed in message output.
56 /// </summary>
57 /// <param name="warningNumber">Id of the message to suppress.</param>
58 void SuppressWarningMessage(int warningNumber);
59
60 /// <summary>
61 /// Formats a message to standard message.
62 /// </summary>
63 /// <param name="message">Message to format.</param>
64 /// <returns>Formatted message</returns>
65 string FormatMessage(Message message);
66
67 /// <summary>
68 /// Sends a message with the given arguments.
69 /// </summary>
70 /// <param name="message">Message to write.</param>
71 void Write(Message message);
72
73 /// <summary>
74 /// Sends a message with the given arguments.
75 /// </summary>
76 /// <param name="message">Message to write.</param>
77 /// <param name="verbose">Indicates where to write a verbose message.</param>
78 void Write(string message, bool verbose = false);
79 }
80}