1 mike 1.2 //%/////////////////////////////////////////////////////////////////////////////
2 //
|
3 kumpf 1.12 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
4 // The Open Group, Tivoli Systems
|
5 mike 1.2 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
7 // of this software and associated documentation files (the "Software"), to
8 // deal in the Software without restriction, including without limitation the
9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 // sell copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
|
12 kumpf 1.12 //
|
13 mike 1.2 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
14 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 //==============================================================================
23 //
24 // Author: Chip Vincent (cvincent@us.ibm.com)
25 //
|
26 kumpf 1.16 // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
|
27 mike 1.2 //
28 //%/////////////////////////////////////////////////////////////////////////////
29
30 #ifndef Pegasus_ProviderException_h
31 #define Pegasus_ProviderException_h
32
33 #include <Pegasus/Common/Config.h>
34 #include <Pegasus/Common/Exception.h>
35
36 PEGASUS_NAMESPACE_BEGIN
37
|
38 kumpf 1.13 /**
39 Parent class for exceptions thrown by providers.
40
|
41 kumpf 1.16 <p>The <tt>CIMOperationFailedException</tt> class is an exception class,
|
42 kumpf 1.13 and the parent class from which exceptions that can be thrown
43 by providers are derived. It may also be thrown directly by
44 providers to signal a generic operation failure.</p>
45
46 <p>Providers do not throw every possible exception that clients
47 may received from the CIMOM. The exceptions which may be thrown
48 by providers are a subset of the possible exceptions, and are
49 described in their respective sections.</p>
50
51 <p>All of the provider exceptions accept a <tt>message</tt>
52 argument that allows the provider to send additional text
53 in the string that will be returned to the client. While
54 localization of text is not currently supported, it is
55 recommended that text strings be structured in message
56 catalogs to facilitate future localization.</p>
57 */
|
58 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMOperationFailedException
59 : public CIMException
|
60 mike 1.2 {
61 public:
|
62 kumpf 1.13 /**
63 Generic operation failure.
64
65 <p>This exception will cause a <tt>CIM_ERR_FAILED</tt>
66 status code to be returned to the client.</p>
67 */
|
68 kumpf 1.16 CIMOperationFailedException(const String & message);
|
69 kumpf 1.11
70 protected:
|
71 kumpf 1.16 CIMOperationFailedException(const CIMStatusCode code, const String & message);
|
72 mike 1.2 };
73
|
74 kumpf 1.13 /**
|
75 kumpf 1.16 Cause a <tt>CIM_ERR_ACCESS_DENIED</tt> status code to be
|
76 kumpf 1.13 returned to the client.
77 */
|
78 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMAccessDeniedException
79 : public CIMOperationFailedException
|
80 mike 1.2 {
81 public:
|
82 kumpf 1.16 CIMAccessDeniedException(const String & message);
|
83 mike 1.2 };
84
|
85 kumpf 1.13 /**
|
86 kumpf 1.16 Cause a <tt>CIM_ERR_INVALID_PARAMETER</tt> status code to be
|
87 kumpf 1.13 returned to the client.
88 */
|
89 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidParameterException
90 : public CIMOperationFailedException
|
91 mike 1.2 {
92 public:
|
93 kumpf 1.16 CIMInvalidParameterException(const String & message);
|
94 mike 1.2 };
95
|
96 kumpf 1.16 #if 0
|
97 kumpf 1.13 /**
|
98 kumpf 1.16 Cause a <tt>CIM_ERR_INVALID_CLASS</tt> status code to be
|
99 kumpf 1.13 returned to the client.
100 */
|
101 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidClassException
102 : public CIMOperationFailedException
|
103 mike 1.2 {
104 public:
|
105 kumpf 1.16 CIMInvalidClassException(const String & message);
|
106 mike 1.2 };
|
107 kumpf 1.16 #endif
|
108 mike 1.2
|
109 kumpf 1.13 /**
|
110 kumpf 1.16 Cause a <tt>CIM_ERR_NOT_FOUND</tt> status code to be
|
111 kumpf 1.13 returned to the client.
112 */
|
113 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMObjectNotFoundException
114 : public CIMOperationFailedException
|
115 mike 1.2 {
116 public:
|
117 kumpf 1.16 CIMObjectNotFoundException(const String & message);
|
118 mike 1.2 };
119
|
120 kumpf 1.13 /**
|
121 kumpf 1.16 Cause a <tt>CIM_ERR_NOT_SUPPORTED</tt> status code to be
|
122 kumpf 1.13 returned to the client.
123 */
|
124 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMNotSupportedException
125 : public CIMOperationFailedException
|
126 mike 1.2 {
127 public:
|
128 kumpf 1.16 CIMNotSupportedException(const String & message);
|
129 mike 1.2 };
130
|
131 kumpf 1.13 /**
132 Cause a <tt>CIM_ERR_ALREADY_EXISTS</tt> status code to be
133 returned to the client.
134 */
|
135 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMObjectAlreadyExistsException
136 : public CIMOperationFailedException
|
137 mike 1.2 {
138 public:
|
139 kumpf 1.16 CIMObjectAlreadyExistsException(const String & message);
|
140 mike 1.2 };
141
|
142 kumpf 1.13 /**
|
143 kumpf 1.16 Cause a <tt>CIM_ERR_NO_SUCH_PROPERTY</tt> status code to be
|
144 kumpf 1.13 returned to the client.
145 */
|
146 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMPropertyNotFoundException
147 : public CIMOperationFailedException
|
148 mike 1.2 {
149 public:
|
150 kumpf 1.16 CIMPropertyNotFoundException(const String & message);
|
151 mike 1.2 };
152
|
153 kumpf 1.16 #if 0
154 // Query operations are not yet supported in Pegasus
|
155 kumpf 1.13 /**
|
156 kumpf 1.16 Cause a <tt>CIM_ERR_INVALID_QUERY</tt> status code to be
|
157 kumpf 1.13 returned to the client.
158 */
|
159 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMInvalidQueryException
160 : public CIMOperationFailedException
|
161 mike 1.2 {
162 public:
|
163 kumpf 1.16 CIMInvalidQueryException(const String & message);
|
164 mike 1.2 };
|
165 kumpf 1.16 #endif
|
166 mike 1.2
|
167 kumpf 1.13 /**
|
168 kumpf 1.16 Cause a <tt>CIM_ERR_METHOD_NOT_FOUND</tt> status code to be
|
169 kumpf 1.13 returned to the client.
170 */
|
171 kumpf 1.17 class PEGASUS_PROVIDER_LINKAGE CIMMethodNotFoundException
172 : public CIMOperationFailedException
|
173 mike 1.2 {
174 public:
|
175 kumpf 1.16 CIMMethodNotFoundException(const String & message);
|
176 mike 1.2 };
177
178 PEGASUS_NAMESPACE_END
179
180 #endif
|