(file) Return to ProviderException.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Provider

  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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2