1 karl 1.11 //%2006////////////////////////////////////////////////////////////////////////
|
2 mike 1.2 //
|
3 karl 1.9 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
|
6 karl 1.8 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.9 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.10 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.11 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 mike 1.2 //
14 // Permission is hereby granted, free of charge, to any person obtaining a copy
15 // of this software and associated documentation files (the "Software"), to
16 // deal in the Software without restriction, including without limitation the
17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 // sell copies of the Software, and to permit persons to whom the Software is
19 // furnished to do so, subject to the following conditions:
|
20 kumpf 1.3 //
|
21 mike 1.2 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 //==============================================================================
31 //
32 //%/////////////////////////////////////////////////////////////////////////////
33
34
35 ////////////////////////////////////////////////////////////////////////////////
36 // This file contains the exception classes used in the configuration
37 // classes.
38 ////////////////////////////////////////////////////////////////////////////////
39
40 #ifndef Pegasus_ConfigExceptions_h
41 #define Pegasus_ConfigExceptions_h
42 mike 1.2
43 #include <Pegasus/Common/Exception.h>
44 #include <Pegasus/Config/Linkage.h>
|
45 kumpf 1.13 #include <Pegasus/Common/MessageLoader.h>
|
46 mike 1.2
47 PEGASUS_NAMESPACE_BEGIN
48
49
|
50 kumpf 1.13 /**
51 MissingCommandLineOptionArgument Exception class
|
52 mike 1.2 */
|
53 mike 1.12 class PEGASUS_CONFIG_LINKAGE MissingCommandLineOptionArgument : public Exception
|
54 mike 1.2 {
55 public:
56 MissingCommandLineOptionArgument(const String& optionName)
|
57 kumpf 1.13 : Exception(MessageLoaderParms(
58 "Config.ConfigExceptions.MISSING_CMDLINE_OPTION",
59 "Missing command line option argument: $0",
60 optionName))
61 {
62 }
|
63 mike 1.2 };
64
|
65 kumpf 1.13 /**
66 UnrecognizedCommandLineOption Exception class
|
67 kumpf 1.4 */
|
68 mike 1.12 class PEGASUS_CONFIG_LINKAGE UnrecognizedCommandLineOption : public Exception
|
69 kumpf 1.4 {
70 public:
71 UnrecognizedCommandLineOption()
|
72 kumpf 1.13 : Exception(MessageLoaderParms(
73 "Config.ConfigExceptions.UNRECOGNIZED_CMDLINE_OPTION",
74 "Unrecognized command line option. "))
75 {
76 }
|
77 kumpf 1.4 };
78
|
79 mike 1.2
|
80 kumpf 1.13 /**
81 InvalidPropertyValue Exception class
|
82 mike 1.2 */
|
83 mike 1.12 class PEGASUS_CONFIG_LINKAGE InvalidPropertyValue : public Exception
|
84 mike 1.2 {
85 public:
86 InvalidPropertyValue(const String& name, const String& value)
|
87 kumpf 1.13 : Exception(MessageLoaderParms(
88 "Config.ConfigExceptions.INVALID_PROPERTY_VALUE",
89 "Invalid property value: $0=$1",
90 name,
91 value))
92 {
93 }
|
94 mike 1.2 };
95
96
|
97 kumpf 1.13 /**
98 DuplicateOption Exception class
|
99 mike 1.2 */
|
100 mike 1.12 class PEGASUS_CONFIG_LINKAGE DuplicateOption : public Exception
|
101 mike 1.2 {
102 public:
103 DuplicateOption(const String& name)
|
104 kumpf 1.13 : Exception(MessageLoaderParms(
105 "Config.ConfigExceptions.DUPLICATE_OPTION",
106 "Duplicate option: $0",
107 name))
108 {
109 }
|
110 mike 1.2 };
111
112
|
113 kumpf 1.13 /**
114 ConfigFileSyntaxError Exception class
|
115 mike 1.2 */
|
116 mike 1.12 class PEGASUS_CONFIG_LINKAGE ConfigFileSyntaxError : public Exception
|
117 mike 1.2 {
118 public:
119 ConfigFileSyntaxError(const String& file, Uint32 line)
120 : Exception(_formatMessage(file, line)) { }
121
122 static String _formatMessage(const String& file, Uint32 line);
123 };
124
125
|
126 kumpf 1.13 /**
127 UnrecognizedConfigFileOption Exception class
|
128 mike 1.2 */
|
129 mike 1.12 class PEGASUS_CONFIG_LINKAGE UnrecognizedConfigFileOption : public Exception
|
130 mike 1.2 {
131 public:
132 UnrecognizedConfigFileOption(const String& name)
|
133 kumpf 1.13 : Exception(MessageLoaderParms(
134 "Config.ConfigExceptions.UNRECOGNIZED_CONFIG_FILE_OPTION",
135 "Unrecognized config file option: $0",
136 name))
137 {
138 }
|
139 mike 1.2 };
140
141
|
142 kumpf 1.13 /**
143 MissingRequiredOptionValue Exception class
|
144 mike 1.2 */
|
145 mike 1.12 class PEGASUS_CONFIG_LINKAGE MissingRequiredOptionValue : public Exception
|
146 mike 1.2 {
147 public:
148 MissingRequiredOptionValue(const String& name)
|
149 kumpf 1.13 : Exception(MessageLoaderParms(
150 "Config.ConfigExceptions.MISSING_REQUIRED_OPTION",
151 "Missing required option value: $0",
152 name))
153 {
154 }
|
155 mike 1.2 };
156
157
|
158 kumpf 1.13 /**
159 UnrecognizedConfigProperty Exception class
|
160 mike 1.2 */
|
161 mike 1.12 class PEGASUS_CONFIG_LINKAGE UnrecognizedConfigProperty : public Exception
|
162 mike 1.2 {
163 public:
164 UnrecognizedConfigProperty(const String& name)
|
165 kumpf 1.13 : Exception(MessageLoaderParms(
166 "Config.ConfigExceptions.UNRECOGNIZED_CONFIG_PROPERTY",
167 "Unrecognized config property: $0",
168 name))
169 {
170 }
|
171 mike 1.2 };
172
|
173 kumpf 1.13 /**
174 NonDynamicConfigProperty Exception class
|
175 mike 1.2 */
|
176 mike 1.12 class PEGASUS_CONFIG_LINKAGE NonDynamicConfigProperty : public Exception
|
177 mike 1.2 {
178 public:
179 NonDynamicConfigProperty(const String& name)
|
180 kumpf 1.13 : Exception(MessageLoaderParms(
181 "Config.ConfigExceptions.NONDYNAMIC_CONFIG_PROPERTY",
182 "NonDynamic config property: $0",
183 name))
184 {
185 }
|
186 mike 1.2 };
187
188 PEGASUS_NAMESPACE_END
189
190 #endif /* Pegasus_ConfigExceptions_h */
|