1 karl 1.17 //%2006////////////////////////////////////////////////////////////////////////
|
2 kumpf 1.1 //
|
3 karl 1.15 // 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.12 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.15 // 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.16 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.17 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 kumpf 1.1 //
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.3 //
|
21 kumpf 1.1 // 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 kumpf 1.6 #ifndef Pegasus_ClientException_h
35 #define Pegasus_ClientException_h
|
36 kumpf 1.1
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/String.h>
|
39 kumpf 1.4 #include <Pegasus/Common/Exception.h>
|
40 kumpf 1.1 #include <Pegasus/Client/Linkage.h>
41
42 PEGASUS_NAMESPACE_BEGIN
43
44 /**
45 An exception of this type indicates that the HTTP response from the CIM
46 Server was improperly formed.
47 */
48 class PEGASUS_CLIENT_LINKAGE CIMClientMalformedHTTPException
|
49 kumpf 1.5 : public Exception
|
50 kumpf 1.1 {
51 public:
|
52 kumpf 1.19 /**
53 Constructs a CIMClientMalformedHTTPException with a specified message.
54 @param message The exception message
55 */
|
56 kumpf 1.1 CIMClientMalformedHTTPException(const String& message);
57 };
58
59 /**
60 An exception of this type indicates that an HTTP error response was sent
61 by the CIM Server.
62 */
|
63 kumpf 1.8 class PEGASUS_CLIENT_LINKAGE CIMClientHTTPErrorException : public Exception
|
64 kumpf 1.1 {
65 public:
|
66 kumpf 1.19 /**
67 Constructs a CIMClientHTTPErrorException with specified error details.
68 @param httpStatusCode The HTTP status code in the response
69 @param reasonPhrase The HTTP reason phrase in the response
70 @param cimError The CIMError header value in the HTTP response
71 @param cimErrorDetail Additional error detail information, if available
72 */
|
73 kumpf 1.8 CIMClientHTTPErrorException(
|
74 kumpf 1.1 Uint32 httpStatusCode,
|
75 kumpf 1.13 const String& reasonPhrase,
76 const String& cimError,
77 const String& cimErrorDetail);
|
78 kumpf 1.19
79 /**
80 Constructs a CIMClientHTTPErrorException with specified error details.
81 @param httpStatusCode The HTTP status code in the response
82 @param cimError The CIMError header value in the HTTP response
83 @param cimErrorDetail Additional error detail information, if available
84 */
|
85 kumpf 1.13 CIMClientHTTPErrorException(
86 Uint32 httpStatusCode,
|
87 kumpf 1.7 const String& cimError,
|
88 kumpf 1.10 const String& cimErrorDetail);
|
89 kumpf 1.19
90 /**
91 Constructs a copy of an CIMClientHTTPErrorException.
92 @param httpError The object to copy
93 */
|
94 kumpf 1.8 CIMClientHTTPErrorException(const CIMClientHTTPErrorException& httpError);
|
95 kumpf 1.19
96 /**
97 Destructs an CIMClientHTTPErrorException.
98 */
|
99 kumpf 1.9 virtual ~CIMClientHTTPErrorException();
|
100 kumpf 1.1
|
101 kumpf 1.19 /**
102 Copies an CIMClientHTTPErrorException.
103 @param httpError The object to copy
104 */
|
105 kumpf 1.18 CIMClientHTTPErrorException& operator=(
106 const CIMClientHTTPErrorException& httpError);
107
|
108 kumpf 1.19 /**
109 Gets the HTTP status code from the error response.
110 @return An integer HTTP status code
111 */
|
112 kumpf 1.1 Uint32 getCode() const;
|
113 kumpf 1.19
114 /**
115 Gets the CIMError header value from the HTTP error response.
116 @return A String containing the CIMError header value
117 */
|
118 kumpf 1.1 String getCIMError() const;
|
119 kumpf 1.19
120 /**
121 Gets additional error detail information from the HTTP error response.
122 @return A String containing additional error detail information from
123 the HTTP error response, if available. Otherwise, an empty String
124 is returned.
125 */
|
126 kumpf 1.10 String getCIMErrorDetail() const;
|
127 kumpf 1.1 };
128
129 /**
130 An exception of this type indicates that the CIM response sent by the
131 CIM Server could not be decoded from XML.
132 */
|
133 kumpf 1.5 class PEGASUS_CLIENT_LINKAGE CIMClientXmlException : public Exception
|
134 kumpf 1.1 {
135 public:
|
136 kumpf 1.19 /**
137 Constructs a CIMClientXmlException with a specified message.
138 @param message The exception message
139 */
|
140 kumpf 1.1 CIMClientXmlException(const String& message);
141 };
142
143 /**
144 An exception of this type indicates that the CIM response sent by the
145 CIM Server contained unexpected data.
146 */
147 class PEGASUS_CLIENT_LINKAGE CIMClientResponseException
|
148 kumpf 1.5 : public Exception
|
149 kumpf 1.1 {
150 public:
|
151 kumpf 1.19 /**
152 Constructs a CIMClientResponseException with a specified message.
153 @param message The exception message
154 */
|
155 kumpf 1.1 CIMClientResponseException(const String& message);
156 };
157
158 PEGASUS_NAMESPACE_END
159
|
160 kumpf 1.6 #endif /* Pegasus_ClientException_h */
|