(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            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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2