1 mike 1.1 //%2006////////////////////////////////////////////////////////////////////////
2 //
3 // 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 // IBM Corp.; EMC Corporation, The Open Group.
7 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
11 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
13 //
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 //
21 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 mike 1.1 // 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_CIMBinMsgSerializer_h
35 #define Pegasus_CIMBinMsgSerializer_h
36
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/CIMMessage.h>
39 #include <Pegasus/Common/CIMBuffer.h>
40
41 PEGASUS_NAMESPACE_BEGIN
42
43 mike 1.1 /** This class converts CIMMessage objects into binary messages. Please see
44 comments for The CIMBuffer class for more information about goals of the
45 the serialization/deserialization scheme.
46 */
47 class PEGASUS_COMMON_LINKAGE CIMBinMsgSerializer
48 {
49 public:
50
51 static void serialize(CIMBuffer& out, CIMMessage* cimMessage);
52
53 private:
54
55 PEGASUS_HIDDEN_LINKAGE
56 static void _putRequestMessage(
57 CIMBuffer& out,
58 CIMRequestMessage* cimMessage);
59
60 PEGASUS_HIDDEN_LINKAGE
61 static void _putResponseMessage(
62 CIMBuffer& out,
63 CIMResponseMessage* cimMessage);
64 mike 1.1
65 PEGASUS_HIDDEN_LINKAGE
66 static void _serializeUserInfo(
67 CIMBuffer& out,
68 const String& authType,
69 const String& userName);
70
71 PEGASUS_HIDDEN_LINKAGE
72 static void _serializeQueueIdStack(
73 CIMBuffer& out,
74 const QueueIdStack& queueIdStack);
75
76 PEGASUS_HIDDEN_LINKAGE
77 static void _serializeOperationContext(
78 CIMBuffer& out,
79 const OperationContext& operationContext);
80
81 PEGASUS_HIDDEN_LINKAGE
82 static void _serializeContentLanguageList(
83 CIMBuffer& out,
84 const ContentLanguageList& contentLanguages);
85 mike 1.1
86 PEGASUS_HIDDEN_LINKAGE
87 static void _serializeAcceptLanguageList(
88 CIMBuffer& out,
89 const AcceptLanguageList& acceptLanguages);
90
91 PEGASUS_HIDDEN_LINKAGE
92 static void _putException(
93 CIMBuffer& out,
94 const CIMException& cimException);
95
96 PEGASUS_HIDDEN_LINKAGE
97 static void _putPropertyList(
98 CIMBuffer& out,
99 const CIMPropertyList& cimPropertyList);
100
101 PEGASUS_HIDDEN_LINKAGE
102 static void _putObjectPath(
103 CIMBuffer& out,
104 const CIMObjectPath& cimObjectPath);
105
106 mike 1.1 PEGASUS_HIDDEN_LINKAGE
107 static void _putInstance(
108 CIMBuffer& out,
109 const CIMInstance& cimInstance);
110
111 PEGASUS_HIDDEN_LINKAGE
112 static void _putNamespaceName(
113 CIMBuffer& out,
114 const CIMNamespaceName& cimNamespaceName);
115
116 PEGASUS_HIDDEN_LINKAGE
117 static void _putName(
118 CIMBuffer& out,
119 const CIMName& cimName);
120
121 PEGASUS_HIDDEN_LINKAGE
122 static void _putObject(
123 CIMBuffer& out,
124 const CIMObject& object);
125
126 PEGASUS_HIDDEN_LINKAGE
127 mike 1.1 static void _putParamValue(
128 CIMBuffer& out,
129 const CIMParamValue& paramValue);
130
131 PEGASUS_HIDDEN_LINKAGE
132 static void _putGetInstanceRequestMessage(
133 CIMBuffer& out,
134 CIMGetInstanceRequestMessage* msg);
135
136 PEGASUS_HIDDEN_LINKAGE
137 static void _putDeleteInstanceRequestMessage(
138 CIMBuffer& out,
139 CIMDeleteInstanceRequestMessage* msg);
140
141 PEGASUS_HIDDEN_LINKAGE
142 static void _putCreateInstanceRequestMessage(
143 CIMBuffer& out,
144 CIMCreateInstanceRequestMessage* msg);
145
146 PEGASUS_HIDDEN_LINKAGE
147 static void _putModifyInstanceRequestMessage(
148 mike 1.1 CIMBuffer& out,
149 CIMModifyInstanceRequestMessage* msg);
150
151 PEGASUS_HIDDEN_LINKAGE
152 static void _putEnumerateInstancesRequestMessage(
153 CIMBuffer& out,
154 CIMEnumerateInstancesRequestMessage* msg);
155
156 PEGASUS_HIDDEN_LINKAGE
157 static void _putEnumerateInstanceNamesRequestMessage(
158 CIMBuffer& out,
159 CIMEnumerateInstanceNamesRequestMessage* msg);
160
161 PEGASUS_HIDDEN_LINKAGE
162 static void _putExecQueryRequestMessage(
163 CIMBuffer& out,
164 CIMExecQueryRequestMessage* msg);
165
166 PEGASUS_HIDDEN_LINKAGE
167 static void _putAssociatorsRequestMessage(
168 CIMBuffer& out,
169 mike 1.1 CIMAssociatorsRequestMessage* msg);
170
171 PEGASUS_HIDDEN_LINKAGE
172 static void _putAssociatorNamesRequestMessage(
173 CIMBuffer& out,
174 CIMAssociatorNamesRequestMessage* msg);
175
176 PEGASUS_HIDDEN_LINKAGE
177 static void _putReferencesRequestMessage(
178 CIMBuffer& out,
179 CIMReferencesRequestMessage* msg);
180
181 PEGASUS_HIDDEN_LINKAGE
182 static void _putReferenceNamesRequestMessage(
183 CIMBuffer& out,
184 CIMReferenceNamesRequestMessage* msg);
185
186 PEGASUS_HIDDEN_LINKAGE
187 static void _putGetPropertyRequestMessage(
188 CIMBuffer& out,
189 CIMGetPropertyRequestMessage* msg);
190 mike 1.1
191 PEGASUS_HIDDEN_LINKAGE
192 static void _putSetPropertyRequestMessage(
193 CIMBuffer& out,
194 CIMSetPropertyRequestMessage* msg);
195
196 PEGASUS_HIDDEN_LINKAGE
197 static void _putInvokeMethodRequestMessage(
198 CIMBuffer& out,
199 CIMInvokeMethodRequestMessage* msg);
200
201 PEGASUS_HIDDEN_LINKAGE
202 static void _putCreateSubscriptionRequestMessage(
203 CIMBuffer& out,
204 CIMCreateSubscriptionRequestMessage* msg);
205
206 PEGASUS_HIDDEN_LINKAGE
207 static void _putModifySubscriptionRequestMessage(
208 CIMBuffer& out,
209 CIMModifySubscriptionRequestMessage* msg);
210
211 mike 1.1 PEGASUS_HIDDEN_LINKAGE
212 static void _putDeleteSubscriptionRequestMessage(
213 CIMBuffer& out,
214 CIMDeleteSubscriptionRequestMessage* msg);
215
216 PEGASUS_HIDDEN_LINKAGE
217 static void _putExportIndicationRequestMessage(
218 CIMBuffer& out,
219 CIMExportIndicationRequestMessage* msg);
220
221 PEGASUS_HIDDEN_LINKAGE
222 static void _putProcessIndicationRequestMessage(
223 CIMBuffer& out,
224 CIMProcessIndicationRequestMessage* msg);
225
226 PEGASUS_HIDDEN_LINKAGE
227 static void _putDisableModuleRequestMessage(
228 CIMBuffer& out,
229 CIMDisableModuleRequestMessage* msg);
230
231 PEGASUS_HIDDEN_LINKAGE
232 mike 1.1 static void _putEnableModuleRequestMessage(
233 CIMBuffer& out,
234 CIMEnableModuleRequestMessage* msg);
235
236 PEGASUS_HIDDEN_LINKAGE
237 static void _putStopAllProvidersRequestMessage(
238 CIMBuffer& out,
239 CIMStopAllProvidersRequestMessage* msg);
240
241 PEGASUS_HIDDEN_LINKAGE
242 static void _putInitializeProviderAgentRequestMessage(
243 CIMBuffer& out,
244 CIMInitializeProviderAgentRequestMessage* msg);
245
246 PEGASUS_HIDDEN_LINKAGE
247 static void _putNotifyConfigChangeRequestMessage(
248 CIMBuffer& out,
249 CIMNotifyConfigChangeRequestMessage* msg);
250
251 PEGASUS_HIDDEN_LINKAGE
252 static void _putSubscriptionInitCompleteRequestMessage(
253 mike 1.1 CIMBuffer& out,
254 CIMSubscriptionInitCompleteRequestMessage* msg);
255
256 PEGASUS_HIDDEN_LINKAGE
257 static void _putGetInstanceResponseMessage(
258 CIMBuffer& out,
259 CIMGetInstanceResponseMessage* msg);
260
261 PEGASUS_HIDDEN_LINKAGE
262 static void _putDeleteInstanceResponseMessage(
263 CIMBuffer& out,
264 CIMDeleteInstanceResponseMessage* msg);
265
266 PEGASUS_HIDDEN_LINKAGE
267 static void _putCreateInstanceResponseMessage(
268 CIMBuffer& out,
269 CIMCreateInstanceResponseMessage* msg);
270
271 PEGASUS_HIDDEN_LINKAGE
272 static void _putModifyInstanceResponseMessage(
273 CIMBuffer& out,
274 mike 1.1 CIMModifyInstanceResponseMessage* msg);
275
276 PEGASUS_HIDDEN_LINKAGE
277 static void _putEnumerateInstancesResponseMessage(
278 CIMBuffer& out,
279 CIMEnumerateInstancesResponseMessage* msg);
280
281 PEGASUS_HIDDEN_LINKAGE
282 static void _putEnumerateInstanceNamesResponseMessage(
283 CIMBuffer& out,
284 CIMEnumerateInstanceNamesResponseMessage* msg);
285
286 PEGASUS_HIDDEN_LINKAGE
287 static void _putExecQueryResponseMessage(
288 CIMBuffer& out,
289 CIMExecQueryResponseMessage* msg);
290
291 PEGASUS_HIDDEN_LINKAGE
292 static void _putAssociatorsResponseMessage(
293 CIMBuffer& out,
294 CIMAssociatorsResponseMessage* msg);
295 mike 1.1
296 PEGASUS_HIDDEN_LINKAGE
297 static void _putAssociatorNamesResponseMessage(
298 CIMBuffer& out,
299 CIMAssociatorNamesResponseMessage* msg);
300
301 PEGASUS_HIDDEN_LINKAGE
302 static void _putReferencesResponseMessage(
303 CIMBuffer& out,
304 CIMReferencesResponseMessage* msg);
305
306 PEGASUS_HIDDEN_LINKAGE
307 static void _putReferenceNamesResponseMessage(
308 CIMBuffer& out,
309 CIMReferenceNamesResponseMessage* msg);
310
311 PEGASUS_HIDDEN_LINKAGE
312 static void _putGetPropertyResponseMessage(
313 CIMBuffer& out,
314 CIMGetPropertyResponseMessage* msg);
315
316 mike 1.1 PEGASUS_HIDDEN_LINKAGE
317 static void _putSetPropertyResponseMessage(
318 CIMBuffer& out,
319 CIMSetPropertyResponseMessage* msg);
320
321 PEGASUS_HIDDEN_LINKAGE
322 static void _putInvokeMethodResponseMessage(
323 CIMBuffer& out,
324 CIMInvokeMethodResponseMessage* msg);
325
326 PEGASUS_HIDDEN_LINKAGE
327 static void _putCreateSubscriptionResponseMessage(
328 CIMBuffer& out,
329 CIMCreateSubscriptionResponseMessage* msg);
330
331 PEGASUS_HIDDEN_LINKAGE
332 static void _putModifySubscriptionResponseMessage(
333 CIMBuffer& out,
334 CIMModifySubscriptionResponseMessage* msg);
335
336 PEGASUS_HIDDEN_LINKAGE
337 mike 1.1 static void _putDeleteSubscriptionResponseMessage(
338 CIMBuffer& out,
339 CIMDeleteSubscriptionResponseMessage* msg);
340
341 PEGASUS_HIDDEN_LINKAGE
342 static void _putExportIndicationResponseMessage(
343 CIMBuffer& out,
344 CIMExportIndicationResponseMessage* msg);
345
346 PEGASUS_HIDDEN_LINKAGE
347 static void _putProcessIndicationResponseMessage(
348 CIMBuffer& out,
349 CIMProcessIndicationResponseMessage* msg);
350
351 PEGASUS_HIDDEN_LINKAGE
352 static void _putDisableModuleResponseMessage(
353 CIMBuffer& out,
354 CIMDisableModuleResponseMessage* msg);
355
356 PEGASUS_HIDDEN_LINKAGE
357 static void _putEnableModuleResponseMessage(
358 mike 1.1 CIMBuffer& out,
359 CIMEnableModuleResponseMessage* msg);
360
361 PEGASUS_HIDDEN_LINKAGE
362 static void _putStopAllProvidersResponseMessage(
363 CIMBuffer& out,
364 CIMStopAllProvidersResponseMessage* msg);
365
366 PEGASUS_HIDDEN_LINKAGE
367 static void _putInitializeProviderAgentResponseMessage(
368 CIMBuffer& out,
369 CIMInitializeProviderAgentResponseMessage* msg);
370
371 PEGASUS_HIDDEN_LINKAGE
372 static void _putNotifyConfigChangeResponseMessage(
373 CIMBuffer& out,
374 CIMNotifyConfigChangeResponseMessage* msg);
375
376 PEGASUS_HIDDEN_LINKAGE
377 static void _putSubscriptionInitCompleteResponseMessage(
378 CIMBuffer& out,
379 mike 1.1 CIMSubscriptionInitCompleteResponseMessage* msg);
380 };
381
382 PEGASUS_NAMESPACE_END
383
384 #endif /* Pegasus_CIMBinMsgSerializer_h */
|