1 karl 1.7 //%2004////////////////////////////////////////////////////////////////////////
|
2 kumpf 1.1 //
|
3 karl 1.7 // 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 kumpf 1.1 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.7 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 kumpf 1.1 //
10 // Permission is hereby granted, free of charge, to any person obtaining a copy
11 // of this software and associated documentation files (the "Software"), to
12 // deal in the Software without restriction, including without limitation the
13 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
14 // sell copies of the Software, and to permit persons to whom the Software is
15 // furnished to do so, subject to the following conditions:
|
16 karl 1.7 //
|
17 kumpf 1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
18 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
19 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
20 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
21 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
23 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 //
26 //==============================================================================
27 //
28 // Author: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
29 //
30 // Modified By:
31 //
32 //%/////////////////////////////////////////////////////////////////////////////
33
34 #ifndef Pegasus_CIMMessageDeserializer_h
35 #define Pegasus_CIMMessageDeserializer_h
36
37 #include <Pegasus/Common/Config.h>
38 kumpf 1.1 #include <Pegasus/Common/CIMMessage.h>
39 #include <Pegasus/Common/XmlParser.h>
40
41 PEGASUS_NAMESPACE_BEGIN
42
43 /**
44 CIMMessageDeserializer provides a mechanism to convert a stream of bytes
45 generated by the CIMMessageSerializer class into a CIMMessage object.
46 For additional information, please see the CIMMessageSerializer
47 description.
48 */
49 class PEGASUS_COMMON_LINKAGE CIMMessageDeserializer
50 {
51 public:
52
53 static CIMMessage* deserialize(Sint8* buffer);
54
55 private:
56
57 static CIMRequestMessage* _deserializeCIMRequestMessage(
58 XmlParser& parser,
59 kumpf 1.1 Uint32 type);
60
61 static CIMResponseMessage* _deserializeCIMResponseMessage(
62 XmlParser& parser,
63 Uint32 type);
64
65 //
66 // Utility Methods
67 //
68
69 static void _deserializeUserInfo(
70 XmlParser& parser,
71 String& authType,
72 String& userName);
73
74 static void _deserializeQueueIdStack(
75 XmlParser& parser,
76 QueueIdStack& queueIdStack);
77
78 static void _deserializeOperationContext(
79 XmlParser& parser,
80 kumpf 1.1 OperationContext& operationContext);
81
82 static void _deserializeContentLanguages(
83 XmlParser& parser,
84 ContentLanguages& contentLanguages);
85
86 static void _deserializeAcceptLanguages(
87 XmlParser& parser,
88 AcceptLanguages& acceptLanguages);
89
90 static void _deserializeCIMException(
91 XmlParser& parser,
92 CIMException& cimException);
93
94 static void _deserializeCIMPropertyList(
95 XmlParser& parser,
96 CIMPropertyList& propertyList);
97
98 static Boolean _deserializeCIMObjectPath(
99 XmlParser& parser,
100 CIMObjectPath& cimObjectPath);
101 kumpf 1.1
102 static Boolean _deserializeCIMInstance(
103 XmlParser& parser,
104 CIMInstance& cimInstance);
105
106 static void _deserializeCIMNamespaceName(
107 XmlParser& parser,
108 CIMNamespaceName& cimNamespaceName);
109
110 static Boolean _deserializeCIMName(
111 XmlParser& parser,
112 CIMName& cimName);
113
114 //
115 //
116 // CIM Request Messages
117 //
118 //
119
120 //
121 // CIMOperationRequestMessages
122 kumpf 1.1 //
123
124 static CIMGetInstanceRequestMessage*
125 _deserializeCIMGetInstanceRequestMessage(XmlParser& parser);
126
127 static CIMDeleteInstanceRequestMessage*
128 _deserializeCIMDeleteInstanceRequestMessage(XmlParser& parser);
129
130 static CIMCreateInstanceRequestMessage*
131 _deserializeCIMCreateInstanceRequestMessage(XmlParser& parser);
132
133 static CIMModifyInstanceRequestMessage*
134 _deserializeCIMModifyInstanceRequestMessage(XmlParser& parser);
135
136 static CIMEnumerateInstancesRequestMessage*
137 _deserializeCIMEnumerateInstancesRequestMessage(XmlParser& parser);
138
139 static CIMEnumerateInstanceNamesRequestMessage*
140 _deserializeCIMEnumerateInstanceNamesRequestMessage(XmlParser& parser);
141
142 static CIMExecQueryRequestMessage*
143 kumpf 1.1 _deserializeCIMExecQueryRequestMessage(XmlParser& parser);
144
145 static CIMAssociatorsRequestMessage*
146 _deserializeCIMAssociatorsRequestMessage(XmlParser& parser);
147
148 static CIMAssociatorNamesRequestMessage*
149 _deserializeCIMAssociatorNamesRequestMessage(XmlParser& parser);
150
151 static CIMReferencesRequestMessage*
152 _deserializeCIMReferencesRequestMessage(XmlParser& parser);
153
154 static CIMReferenceNamesRequestMessage*
155 _deserializeCIMReferenceNamesRequestMessage(XmlParser& parser);
156
157 static CIMGetPropertyRequestMessage*
158 _deserializeCIMGetPropertyRequestMessage(XmlParser& parser);
159
160 static CIMSetPropertyRequestMessage*
161 _deserializeCIMSetPropertyRequestMessage(XmlParser& parser);
162
163 static CIMInvokeMethodRequestMessage*
164 kumpf 1.1 _deserializeCIMInvokeMethodRequestMessage(XmlParser& parser);
165
|
166 kumpf 1.2 static CIMInitializeProviderRequestMessage*
167 _deserializeCIMInitializeProviderRequestMessage(XmlParser& parser);
168
|
169 kumpf 1.5 static CIMInitializeProviderAgentRequestMessage*
170 _deserializeCIMInitializeProviderAgentRequestMessage(XmlParser& parser);
171
|
172 kumpf 1.1 //
173 // CIMIndicationRequestMessages
174 //
175
176 static CIMEnableIndicationsRequestMessage*
177 _deserializeCIMEnableIndicationsRequestMessage(XmlParser& parser);
178
179 static CIMDisableIndicationsRequestMessage*
180 _deserializeCIMDisableIndicationsRequestMessage(XmlParser& parser);
181
182 static CIMCreateSubscriptionRequestMessage*
183 _deserializeCIMCreateSubscriptionRequestMessage(XmlParser& parser);
184
185 static CIMModifySubscriptionRequestMessage*
186 _deserializeCIMModifySubscriptionRequestMessage(XmlParser& parser);
187
188 static CIMDeleteSubscriptionRequestMessage*
189 _deserializeCIMDeleteSubscriptionRequestMessage(XmlParser& parser);
190
191 //
192 // Generic CIMRequestMessages
193 kumpf 1.1 //
194
195 static CIMExportIndicationRequestMessage*
196 _deserializeCIMExportIndicationRequestMessage(XmlParser& parser);
197
198 static CIMProcessIndicationRequestMessage*
199 _deserializeCIMProcessIndicationRequestMessage(XmlParser& parser);
200
201 static CIMDisableModuleRequestMessage*
202 _deserializeCIMDisableModuleRequestMessage(XmlParser& parser);
203
204 static CIMEnableModuleRequestMessage*
205 _deserializeCIMEnableModuleRequestMessage(XmlParser& parser);
206
207 static CIMStopAllProvidersRequestMessage*
208 _deserializeCIMStopAllProvidersRequestMessage(XmlParser& parser);
209
|
210 kumpf 1.6 static CIMNotifyConfigChangeRequestMessage*
211 _deserializeCIMNotifyConfigChangeRequestMessage(XmlParser& parser);
212
|
213 kumpf 1.1 //
214 //
215 // CIM Response Messages
216 //
217 //
218
219 //
220 // CIM Operation Response Messages
221 //
222
223 static CIMGetInstanceResponseMessage*
224 _deserializeCIMGetInstanceResponseMessage(XmlParser& parser);
225
226 static CIMDeleteInstanceResponseMessage*
227 _deserializeCIMDeleteInstanceResponseMessage(XmlParser& parser);
228
229 static CIMCreateInstanceResponseMessage*
230 _deserializeCIMCreateInstanceResponseMessage(XmlParser& parser);
231
232 static CIMModifyInstanceResponseMessage*
233 _deserializeCIMModifyInstanceResponseMessage(XmlParser& parser);
234 kumpf 1.1
235 static CIMEnumerateInstancesResponseMessage*
236 _deserializeCIMEnumerateInstancesResponseMessage(XmlParser& parser);
237
238 static CIMEnumerateInstanceNamesResponseMessage*
239 _deserializeCIMEnumerateInstanceNamesResponseMessage(XmlParser& parser);
240
241 static CIMExecQueryResponseMessage*
242 _deserializeCIMExecQueryResponseMessage(XmlParser& parser);
243
244 static CIMAssociatorsResponseMessage*
245 _deserializeCIMAssociatorsResponseMessage(XmlParser& parser);
246
247 static CIMAssociatorNamesResponseMessage*
248 _deserializeCIMAssociatorNamesResponseMessage(XmlParser& parser);
249
250 static CIMReferencesResponseMessage*
251 _deserializeCIMReferencesResponseMessage(XmlParser& parser);
252
253 static CIMReferenceNamesResponseMessage*
254 _deserializeCIMReferenceNamesResponseMessage(XmlParser& parser);
255 kumpf 1.1
256 static CIMGetPropertyResponseMessage*
257 _deserializeCIMGetPropertyResponseMessage(XmlParser& parser);
258
259 static CIMSetPropertyResponseMessage*
260 _deserializeCIMSetPropertyResponseMessage(XmlParser& parser);
261
262 static CIMInvokeMethodResponseMessage*
263 _deserializeCIMInvokeMethodResponseMessage(XmlParser& parser);
264
|
265 kumpf 1.2 static CIMInitializeProviderResponseMessage*
266 _deserializeCIMInitializeProviderResponseMessage(XmlParser& parser);
267
|
268 kumpf 1.5 static CIMInitializeProviderAgentResponseMessage*
269 _deserializeCIMInitializeProviderAgentResponseMessage(
270 XmlParser& parser);
271
|
272 kumpf 1.1 //
273 // CIM Indication Response Messages
274 //
275
276 static CIMEnableIndicationsResponseMessage*
277 _deserializeCIMEnableIndicationsResponseMessage(XmlParser& parser);
278
279 static CIMDisableIndicationsResponseMessage*
280 _deserializeCIMDisableIndicationsResponseMessage(XmlParser& parser);
281
282 static CIMCreateSubscriptionResponseMessage*
283 _deserializeCIMCreateSubscriptionResponseMessage(XmlParser& parser);
284
285 static CIMModifySubscriptionResponseMessage*
286 _deserializeCIMModifySubscriptionResponseMessage(XmlParser& parser);
287
288 static CIMDeleteSubscriptionResponseMessage*
289 _deserializeCIMDeleteSubscriptionResponseMessage(XmlParser& parser);
290
291 //
292 // Generic CIMResponseMessages
293 kumpf 1.1 //
294
295 static CIMExportIndicationResponseMessage*
296 _deserializeCIMExportIndicationResponseMessage(XmlParser& parser);
297
298 static CIMProcessIndicationResponseMessage*
299 _deserializeCIMProcessIndicationResponseMessage(XmlParser& parser);
300
301 static CIMDisableModuleResponseMessage*
302 _deserializeCIMDisableModuleResponseMessage(XmlParser& parser);
303
304 static CIMEnableModuleResponseMessage*
305 _deserializeCIMEnableModuleResponseMessage(XmlParser& parser);
306
307 static CIMStopAllProvidersResponseMessage*
308 _deserializeCIMStopAllProvidersResponseMessage(XmlParser& parser);
309
|
310 kumpf 1.6 static CIMNotifyConfigChangeResponseMessage*
311 _deserializeCIMNotifyConfigChangeResponseMessage(XmlParser& parser);
312
313
|
314 kumpf 1.1 };
315
316 PEGASUS_NAMESPACE_END
317
318 #endif /* Pegasus_CIMMessageDeserializer_h */
|