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

  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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2