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 Parent class for exceptions thrown by providers.
45
|
46 kumpf 1.16 <p>The <tt>CIMOperationFailedException</tt> class is an exception class,
|
47 kumpf 1.13 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 kumpf 1.19 may receive from the CIM Server. The exceptions which may be thrown
|
53 kumpf 1.13 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 */
|
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
70 <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.16 CIMOperationFailedException(const String & message);
|
74 chuck 1.20
|
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 CIMOperationFailedException(const MessageLoaderParms & parms);
|
81 chuck 1.21 #endif
|
82 kumpf 1.11
83 protected:
|
84 kumpf 1.16 CIMOperationFailedException(const CIMStatusCode code, const String & message);
|
85 chuck 1.20
|
86 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
87 CIMOperationFailedException(
88 const CIMStatusCode code,
89 const MessageLoaderParms& parms);
|
90 chuck 1.21 #endif
|
91 mike 1.2 };
92
|
93 kumpf 1.13 /**
|
94 kumpf 1.16 Cause a <tt>CIM_ERR_ACCESS_DENIED</tt> status code to be
|
95 kumpf 1.13 returned to the client.
96 */
|
97 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMAccessDeniedException
98 : public CIMOperationFailedException
|
99 mike 1.2 {
100 public:
|
101 kumpf 1.19 ///
|
102 kumpf 1.16 CIMAccessDeniedException(const String & message);
|
103 chuck 1.20
|
104 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
105 chuck 1.20 CIMAccessDeniedException(const MessageLoaderParms & parms);
|
106 chuck 1.21 #endif
|
107 mike 1.2 };
108
|
109 kumpf 1.13 /**
|
110 kumpf 1.16 Cause a <tt>CIM_ERR_INVALID_PARAMETER</tt> status code to be
|
111 kumpf 1.13 returned to the client.
112 */
|
113 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidParameterException
114 : public CIMOperationFailedException
|
115 mike 1.2 {
116 public:
|
117 kumpf 1.19 ///
|
118 kumpf 1.16 CIMInvalidParameterException(const String & message);
|
119 chuck 1.20
|
120 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
121 chuck 1.20 CIMInvalidParameterException(const MessageLoaderParms & parms);
|
122 chuck 1.21 #endif
|
123 mike 1.2 };
124
|
125 kumpf 1.16 #if 0
|
126 kumpf 1.13 /**
|
127 kumpf 1.16 Cause a <tt>CIM_ERR_INVALID_CLASS</tt> status code to be
|
128 kumpf 1.13 returned to the client.
129 */
|
130 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidClassException
131 : public CIMOperationFailedException
|
132 mike 1.2 {
133 public:
|
134 kumpf 1.16 CIMInvalidClassException(const String & message);
|
135 chuck 1.20
|
136 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
137 chuck 1.20 CIMInvalidClassException(const MessageLoaderParms & parms);
|
138 chuck 1.21 #endif
|
139 mike 1.2 };
|
140 kumpf 1.16 #endif
|
141 mike 1.2
|
142 kumpf 1.13 /**
|
143 kumpf 1.16 Cause a <tt>CIM_ERR_NOT_FOUND</tt> status code to be
|
144 kumpf 1.13 returned to the client.
145 */
|
146 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMObjectNotFoundException
147 : public CIMOperationFailedException
|
148 mike 1.2 {
149 public:
|
150 kumpf 1.19 ///
|
151 kumpf 1.16 CIMObjectNotFoundException(const String & message);
|
152 chuck 1.20
|
153 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
154 chuck 1.21 CIMObjectNotFoundException(const MessageLoaderParms & parms);
155 #endif
|
156 mike 1.2 };
157
|
158 kumpf 1.13 /**
|
159 kumpf 1.16 Cause a <tt>CIM_ERR_NOT_SUPPORTED</tt> status code to be
|
160 kumpf 1.13 returned to the client.
161 */
|
162 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMNotSupportedException
163 : public CIMOperationFailedException
|
164 mike 1.2 {
165 public:
|
166 kumpf 1.19 ///
|
167 kumpf 1.16 CIMNotSupportedException(const String & message);
|
168 chuck 1.20
|
169 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
170 chuck 1.21 CIMNotSupportedException(const MessageLoaderParms & parms);
171 #endif
|
172 mike 1.2 };
173
|
174 kumpf 1.13 /**
175 Cause a <tt>CIM_ERR_ALREADY_EXISTS</tt> status code to be
176 returned to the client.
177 */
|
178 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMObjectAlreadyExistsException
179 : public CIMOperationFailedException
|
180 mike 1.2 {
181 public:
|
182 kumpf 1.19 ///
|
183 kumpf 1.16 CIMObjectAlreadyExistsException(const String & message);
|
184 chuck 1.20
|
185 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
186 chuck 1.21 CIMObjectAlreadyExistsException(const MessageLoaderParms & parms);
187 #endif
|
188 mike 1.2 };
189
|
190 kumpf 1.13 /**
|
191 kumpf 1.16 Cause a <tt>CIM_ERR_NO_SUCH_PROPERTY</tt> status code to be
|
192 kumpf 1.13 returned to the client.
193 */
|
194 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMPropertyNotFoundException
195 : public CIMOperationFailedException
|
196 mike 1.2 {
197 public:
|
198 kumpf 1.19 ///
|
199 kumpf 1.16 CIMPropertyNotFoundException(const String & message);
|
200 chuck 1.20
|
201 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
202 chuck 1.21 CIMPropertyNotFoundException(const MessageLoaderParms & parms);
203 #endif
|
204 mike 1.2 };
205
|
206 kumpf 1.16 #if 0
207 // Query operations are not yet supported in Pegasus
|
208 kumpf 1.13 /**
|
209 kumpf 1.16 Cause a <tt>CIM_ERR_INVALID_QUERY</tt> status code to be
|
210 kumpf 1.13 returned to the client.
211 */
|
212 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidQueryException
213 : public CIMOperationFailedException
|
214 mike 1.2 {
215 public:
|
216 kumpf 1.16 CIMInvalidQueryException(const String & message);
|
217 chuck 1.20
|
218 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
219 chuck 1.20 CIMInvalidQueryException(const MessageLoaderParms & parms);
|
220 chuck 1.21 #endif
|
221 mike 1.2 };
|
222 kumpf 1.16 #endif
|
223 mike 1.2
|
224 kumpf 1.13 /**
|
225 kumpf 1.16 Cause a <tt>CIM_ERR_METHOD_NOT_FOUND</tt> status code to be
|
226 kumpf 1.13 returned to the client.
227 */
|
228 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMMethodNotFoundException
229 : public CIMOperationFailedException
|
230 mike 1.2 {
231 public:
|
232 kumpf 1.19 ///
|
233 kumpf 1.16 CIMMethodNotFoundException(const String & message);
|
234 chuck 1.20
|
235 kumpf 1.27 #ifdef PEGASUS_INTERNALONLY
|
236 chuck 1.20 CIMMethodNotFoundException(const MessageLoaderParms & parms);
|
237 chuck 1.21 #endif
|
238 mike 1.2 };
239
240 PEGASUS_NAMESPACE_END
241
242 #endif
|