summaryrefslogtreecommitdiff
path: root/src/ext/Sql/wixext/SqlErrors.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Sql/wixext/SqlErrors.cs')
-rw-r--r--src/ext/Sql/wixext/SqlErrors.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/ext/Sql/wixext/SqlErrors.cs b/src/ext/Sql/wixext/SqlErrors.cs
new file mode 100644
index 00000000..f25728bd
--- /dev/null
+++ b/src/ext/Sql/wixext/SqlErrors.cs
@@ -0,0 +1,48 @@
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.Sql
4{
5 using System.Resources;
6 using WixToolset.Data;
7
8 public static class SqlErrors
9 {
10 public static Message IllegalAttributeWithoutComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName)
11 {
12 return Message(sourceLineNumbers, Ids.IllegalAttributeWithoutComponent, "The {0}/@{1} attribute cannot be specified unless the element has a Component as an ancestor. A {0} that does not have a Component ancestor is not installed.", elementName, attributeName);
13 }
14
15 public static Message IllegalElementWithoutComponent(SourceLineNumber sourceLineNumbers, string elementName)
16 {
17 return Message(sourceLineNumbers, Ids.IllegalElementWithoutComponent, "The {0} element cannot be specified unless the element has a Component as an ancestor. A {0} that does not have a Component ancestor is not installed.", elementName);
18 }
19
20 public static Message OneOfAttributesRequiredUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4)
21 {
22 return Message(sourceLineNumbers, Ids.OneOfAttributesRequiredUnderComponent, "When nested under a Component, the {0} element must have one of the following attributes specified: {1}, {2}, {3} or {4}.", elementName, attributeName1, attributeName2, attributeName3, attributeName4);
23 }
24
25 public static Message DeprecatedBinaryChildElement(SourceLineNumber sourceLineNumbers, string elementName)
26 {
27 return Message(sourceLineNumbers, Ids.DeprecatedBinaryChildElement, "The {0} element contains a deprecated child Binary element. Please move the Binary element under a Fragment, Module, or Product element and set the {0}/@BinaryKey attribute to the value of the Binary/@Id attribute.", elementName);
28 }
29
30 private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args)
31 {
32 return new Message(sourceLineNumber, MessageLevel.Error, (int)id, format, args);
33 }
34
35 private static Message Message(SourceLineNumber sourceLineNumber, Ids id, ResourceManager resourceManager, string resourceName, params object[] args)
36 {
37 return new Message(sourceLineNumber, MessageLevel.Error, (int)id, resourceManager, resourceName, args);
38 }
39
40 public enum Ids
41 {
42 IllegalAttributeWithoutComponent = 5100,
43 IllegalElementWithoutComponent = 5101,
44 OneOfAttributesRequiredUnderComponent = 5102,
45 DeprecatedBinaryChildElement = 5103,
46 }
47 }
48} \ No newline at end of file