1 karl 1.26 //%2006////////////////////////////////////////////////////////////////////////
|
2 mike 1.2 //
|
3 karl 1.24 // 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.22 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.24 // 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.25 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.26 // 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.12 //
|
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 #ifndef Pegasus_ProviderException_h
35 #define Pegasus_ProviderException_h
36
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/Exception.h>
|
39 kumpf 1.18 #include <Pegasus/Provider/Linkage.h>
|
40 mike 1.2
41 PEGASUS_NAMESPACE_BEGIN
42
|
43 kumpf 1.13 /**
|
44 kumpf 1.28 Parent class for exceptions thrown by providers.
|
45 kumpf 1.13
|
46 kumpf 1.28 <p>The <tt>CIMOperationFailedException</tt> class is an exception class,
47 and the parent class from which exceptions that can be thrown
48 by providers are derived. It may also be thrown directly by
49 providers to signal a generic operation failure.</p>
50
51 <p>Providers do not throw every possible exception that clients
52 may receive from the CIM Server. The exceptions which may be thrown
53 by providers are a subset of the possible exceptions, and are
54 described in their respective sections.</p>
55
56 <p>All of the provider exceptions accept a <tt>message</tt>
57 argument that allows the provider to send additional text
58 in the string that will be returned to the client. While
59 localization of text is not currently supported, it is
60 recommended that text strings be structured in message
61 catalogs to facilitate future localization.</p>
|
62 kumpf 1.13 */
|
63 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMOperationFailedException
64 : public CIMException
|
65 mike 1.2 {
66 public:
|
67 kumpf 1.13 /**
68 Generic operation failure.
|
69 kumpf 1.28
|
70 kumpf 1.13 <p>This exception will cause a <tt>CIM_ERR_FAILED</tt>
71 status code to be returned to the client.</p>
72 */
|
73 kumpf 1.28 CIMOperationFailedException(const String& message);
74
|
75 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
76 chuck 1.20 /*
77 <p>This exception will cause a <tt>CIM_ERR_FAILED</tt>
78 status code to be returned to the client.</p>
79 */
|
80 kumpf 1.28 CIMOperationFailedException(const MessageLoaderParms& parms);
|
81 chuck 1.21 #endif
|
82 kumpf 1.11
83 protected:
|
84 kumpf 1.28 CIMOperationFailedException(
85 const CIMStatusCode code,
86 const String& message);
87
|
88 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
89 CIMOperationFailedException(
90 const CIMStatusCode code,
|
91 kumpf 1.28 const MessageLoaderParms& parms);
|
92 chuck 1.21 #endif
|
93 mike 1.2 };
94
|
95 kumpf 1.13 /**
|
96 kumpf 1.28 Cause a <tt>CIM_ERR_ACCESS_DENIED</tt> status code to be
97 returned to the client.
|
98 kumpf 1.13 */
|
99 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMAccessDeniedException
100 : public CIMOperationFailedException
|
101 mike 1.2 {
102 public:
|
103 kumpf 1.19 ///
|
104 kumpf 1.28 CIMAccessDeniedException(const String& message);
105
|
106 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
107 kumpf 1.28 CIMAccessDeniedException(const MessageLoaderParms& parms);
|
108 chuck 1.21 #endif
|
109 mike 1.2 };
110
|
111 kumpf 1.13 /**
|
112 kumpf 1.28 Cause a <tt>CIM_ERR_INVALID_PARAMETER</tt> status code to be
113 returned to the client.
|
114 kumpf 1.13 */
|
115 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidParameterException
116 : public CIMOperationFailedException
|
117 mike 1.2 {
118 public:
|
119 kumpf 1.19 ///
|
120 kumpf 1.28 CIMInvalidParameterException(const String& message);
121
|
122 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
123 kumpf 1.28 CIMInvalidParameterException(const MessageLoaderParms& parms);
|
124 chuck 1.21 #endif
|
125 mike 1.2 };
126
|
127 kumpf 1.16 #if 0
|
128 kumpf 1.13 /**
|
129 kumpf 1.28 Cause a <tt>CIM_ERR_INVALID_CLASS</tt> status code to be
130 returned to the client.
|
131 kumpf 1.13 */
|
132 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidClassException
133 : public CIMOperationFailedException
|
134 mike 1.2 {
135 public:
|
136 kumpf 1.28 CIMInvalidClassException(const String& message);
137
|
138 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
139 kumpf 1.28 CIMInvalidClassException(const MessageLoaderParms& parms);
|
140 chuck 1.21 #endif
|
141 mike 1.2 };
|
142 kumpf 1.16 #endif
|
143 mike 1.2
|
144 kumpf 1.13 /**
|
145 kumpf 1.28 Cause a <tt>CIM_ERR_NOT_FOUND</tt> status code to be
146 returned to the client.
|
147 kumpf 1.13 */
|
148 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMObjectNotFoundException
149 : public CIMOperationFailedException
|
150 mike 1.2 {
151 public:
|
152 kumpf 1.19 ///
|
153 kumpf 1.28 CIMObjectNotFoundException(const String& message);
154
|
155 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
156 kumpf 1.28 CIMObjectNotFoundException(const MessageLoaderParms& parms);
157 #endif
|
158 mike 1.2 };
159
|
160 kumpf 1.13 /**
|
161 kumpf 1.28 Cause a <tt>CIM_ERR_NOT_SUPPORTED</tt> status code to be
162 returned to the client.
|
163 kumpf 1.13 */
|
164 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMNotSupportedException
165 : public CIMOperationFailedException
|
166 mike 1.2 {
167 public:
|
168 kumpf 1.19 ///
|
169 kumpf 1.28 CIMNotSupportedException(const String& message);
170
|
171 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
172 kumpf 1.28 CIMNotSupportedException(const MessageLoaderParms& parms);
173 #endif
|
174 mike 1.2 };
175
|
176 kumpf 1.13 /**
|
177 kumpf 1.28 Cause a <tt>CIM_ERR_ALREADY_EXISTS</tt> status code to be
178 returned to the client.
|
179 kumpf 1.13 */
|
180 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMObjectAlreadyExistsException
181 : public CIMOperationFailedException
|
182 mike 1.2 {
183 public:
|
184 kumpf 1.19 ///
|
185 kumpf 1.28 CIMObjectAlreadyExistsException(const String& message);
186
|
187 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
188 kumpf 1.28 CIMObjectAlreadyExistsException(const MessageLoaderParms& parms);
189 #endif
|
190 mike 1.2 };
191
|
192 kumpf 1.13 /**
|
193 kumpf 1.28 Cause a <tt>CIM_ERR_NO_SUCH_PROPERTY</tt> status code to be
194 returned to the client.
|
195 kumpf 1.13 */
|
196 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMPropertyNotFoundException
197 : public CIMOperationFailedException
|
198 mike 1.2 {
199 public:
|
200 kumpf 1.19 ///
|
201 kumpf 1.28 CIMPropertyNotFoundException(const String& message);
202
|
203 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
204 kumpf 1.28 CIMPropertyNotFoundException(const MessageLoaderParms& parms);
205 #endif
|
206 mike 1.2 };
207
|
208 kumpf 1.16 #if 0
209 // Query operations are not yet supported in Pegasus
|
210 kumpf 1.13 /**
|
211 kumpf 1.28 Cause a <tt>CIM_ERR_INVALID_QUERY</tt> status code to be
212 returned to the client.
|
213 kumpf 1.13 */
|
214 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidQueryException
215 : public CIMOperationFailedException
|
216 mike 1.2 {
217 public:
|
218 kumpf 1.28 CIMInvalidQueryException(const String& message);
219
|
220 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
221 kumpf 1.28 CIMInvalidQueryException(const MessageLoaderParms& parms);
|
222 chuck 1.21 #endif
|
223 mike 1.2 };
|
224 kumpf 1.16 #endif
|
225 mike 1.2
|
226 kumpf 1.13 /**
|
227 kumpf 1.28 Cause a <tt>CIM_ERR_METHOD_NOT_FOUND</tt> status code to be
228 returned to the client.
|
229 kumpf 1.13 */
|
230 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMMethodNotFoundException
231 : public CIMOperationFailedException
|
232 mike 1.2 {
233 public:
|
234 kumpf 1.19 ///
|
235 kumpf 1.28 CIMMethodNotFoundException(const String& message);
236
|
237 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
238 kumpf 1.28 CIMMethodNotFoundException(const MessageLoaderParms& parms);
|
239 chuck 1.21 #endif
|
240 mike 1.2 };
241
242 PEGASUS_NAMESPACE_END
243
244 #endif
|