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

  1 martin 1.19 //%LICENSE////////////////////////////////////////////////////////////////
  2             // 
  3             // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9             // 
 10             // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16             // 
 17             // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19             // 
 20             // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21             // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 22 martin 1.19 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 karl   1.7  // 
 28 martin 1.19 //////////////////////////////////////////////////////////////////////////
 29 kumpf  1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32             #ifndef Pegasus_CIMMessageSerializer_h
 33             #define Pegasus_CIMMessageSerializer_h
 34             
 35             #include <Pegasus/Common/Config.h>
 36             #include <Pegasus/Common/CIMMessage.h>
 37             
 38             PEGASUS_NAMESPACE_BEGIN
 39             
 40             /**
 41                 CIMMessageSerializer provides a mechanism to convert a CIMMessage (or one
 42                 of its subclasses) to a stream of bytes.  This stream of bytes can be
 43                 converted back to a CIMMessage object through use of the related
 44                 CIMMessageDeserializer class.
 45             
 46                 The format of the serialized message is not defined and is therefore
 47                 subject to change.  The only requirement is that the CIMMessageSerializer
 48                 and CIMMessageDeserializer classes remain in sync to provide a two-way
 49                 mapping.  (A quasi-XML encoding is currently used as an expedient
 50 kumpf  1.1      solution.  However, this encoding is not compliant with the CIM-XML
 51                 specification.  A number of shortcuts have been taken to improve
 52                 operational efficiency.)
 53             
 54                 Note:  Changes or additions to the CIMMessage definitions must be
 55                 reflected in these serialization classes.  Likewise, changes to the
 56 kumpf  1.13     structure of member data (such as the AcceptLanguageList class) and
 57 kumpf  1.1      addition of new OperationContext containers will affect message
 58                 serialization.
 59              */
 60             class PEGASUS_COMMON_LINKAGE CIMMessageSerializer
 61             {
 62             public:
 63             
 64 mike   1.12     static void serialize(Buffer& out, CIMMessage* cimMessage);
 65 kumpf  1.1  
 66             private:
 67             
 68 mike   1.15     PEGASUS_HIDDEN_LINKAGE
 69 kumpf  1.1      static void _serializeCIMRequestMessage(
 70 mike   1.12         Buffer& out,
 71 kumpf  1.1          CIMRequestMessage* cimMessage);
 72             
 73 mike   1.15     PEGASUS_HIDDEN_LINKAGE
 74 kumpf  1.1      static void _serializeCIMResponseMessage(
 75 mike   1.12         Buffer& out,
 76 kumpf  1.1          CIMResponseMessage* cimMessage);
 77             
 78                 //
 79                 // Utility Methods
 80                 //
 81             
 82 mike   1.15     PEGASUS_HIDDEN_LINKAGE
 83 kumpf  1.1      static void _serializeUserInfo(
 84 mike   1.12         Buffer& out,
 85 kumpf  1.1          const String& authType,
 86                     const String& userName);
 87             
 88 mike   1.15     PEGASUS_HIDDEN_LINKAGE
 89 kumpf  1.1      static void _serializeQueueIdStack(
 90 mike   1.12         Buffer& out,
 91 kumpf  1.1          const QueueIdStack& queueIdStack);
 92             
 93 mike   1.15     PEGASUS_HIDDEN_LINKAGE
 94 kumpf  1.1      static void _serializeOperationContext(
 95 mike   1.12         Buffer& out,
 96 kumpf  1.1          const OperationContext& operationContext);
 97             
 98 mike   1.15     PEGASUS_HIDDEN_LINKAGE
 99 kumpf  1.13     static void _serializeContentLanguageList(
100 mike   1.12         Buffer& out,
101 kumpf  1.13         const ContentLanguageList& contentLanguages);
102 kumpf  1.1  
103 mike   1.15     PEGASUS_HIDDEN_LINKAGE
104 kumpf  1.13     static void _serializeAcceptLanguageList(
105 mike   1.12         Buffer& out,
106 kumpf  1.13         const AcceptLanguageList& acceptLanguages);
107 kumpf  1.1  
108 mike   1.15     PEGASUS_HIDDEN_LINKAGE
109 kumpf  1.1      static void _serializeCIMException(
110 mike   1.12         Buffer& out,
111 kumpf  1.1          const CIMException& cimException);
112             
113 mike   1.15     PEGASUS_HIDDEN_LINKAGE
114 kumpf  1.1      static void _serializeCIMPropertyList(
115 mike   1.12         Buffer& out,
116 kumpf  1.1          const CIMPropertyList& cimPropertyList);
117             
118 mike   1.15     PEGASUS_HIDDEN_LINKAGE
119 kumpf  1.1      static void _serializeCIMObjectPath(
120 mike   1.12         Buffer& out,
121 kumpf  1.1          const CIMObjectPath& cimObjectPath);
122             
123 mike   1.15     PEGASUS_HIDDEN_LINKAGE
124 kumpf  1.1      static void _serializeCIMInstance(
125 mike   1.12         Buffer& out,
126 kumpf  1.1          const CIMInstance& cimInstance);
127             
128 mike   1.15     PEGASUS_HIDDEN_LINKAGE
129 kumpf  1.1      static void _serializeCIMNamespaceName(
130 mike   1.12         Buffer& out,
131 kumpf  1.1          const CIMNamespaceName& cimNamespaceName);
132             
133 mike   1.15     PEGASUS_HIDDEN_LINKAGE
134 kumpf  1.1      static void _serializeCIMName(
135 mike   1.12         Buffer& out,
136 kumpf  1.1          const CIMName& cimName);
137             
138 mike   1.15     PEGASUS_HIDDEN_LINKAGE
139 jenny.yu 1.9      static void _serializeCIMObject(
140 mike     1.12         Buffer& out,
141 jenny.yu 1.9          const CIMObject& object);
142               
143 kumpf    1.17     PEGASUS_HIDDEN_LINKAGE
144                   static void _serializeCIMParamValue(
145                       Buffer& out,
146                       const CIMParamValue& paramValue);
147               
148 kumpf    1.1      //
149                   //
150                   // CIM Request Messages
151                   //
152                   //
153               
154                   //
155                   // CIMOperationRequestMessages
156                   //
157               
158 mike     1.15     PEGASUS_HIDDEN_LINKAGE
159 kumpf    1.1      static void _serializeCIMGetInstanceRequestMessage(
160 mike     1.12         Buffer& out,
161 kumpf    1.1          CIMGetInstanceRequestMessage* message);
162               
163 mike     1.15     PEGASUS_HIDDEN_LINKAGE
164 kumpf    1.1      static void _serializeCIMDeleteInstanceRequestMessage(
165 mike     1.12         Buffer& out,
166 kumpf    1.1          CIMDeleteInstanceRequestMessage* message);
167               
168 mike     1.15     PEGASUS_HIDDEN_LINKAGE
169 kumpf    1.1      static void _serializeCIMCreateInstanceRequestMessage(
170 mike     1.12         Buffer& out,
171 kumpf    1.1          CIMCreateInstanceRequestMessage* message);
172               
173 mike     1.15     PEGASUS_HIDDEN_LINKAGE
174 kumpf    1.1      static void _serializeCIMModifyInstanceRequestMessage(
175 mike     1.12         Buffer& out,
176 kumpf    1.1          CIMModifyInstanceRequestMessage* message);
177               
178 mike     1.15     PEGASUS_HIDDEN_LINKAGE
179 kumpf    1.1      static void _serializeCIMEnumerateInstancesRequestMessage(
180 mike     1.12         Buffer& out,
181 kumpf    1.1          CIMEnumerateInstancesRequestMessage* message);
182               
183 mike     1.15     PEGASUS_HIDDEN_LINKAGE
184 kumpf    1.1      static void _serializeCIMEnumerateInstanceNamesRequestMessage(
185 mike     1.12         Buffer& out,
186 kumpf    1.1          CIMEnumerateInstanceNamesRequestMessage* message);
187               
188 mike     1.15     PEGASUS_HIDDEN_LINKAGE
189 kumpf    1.1      static void _serializeCIMExecQueryRequestMessage(
190 mike     1.12         Buffer& out,
191 kumpf    1.1          CIMExecQueryRequestMessage* message);
192               
193 mike     1.15     PEGASUS_HIDDEN_LINKAGE
194 kumpf    1.1      static void _serializeCIMAssociatorsRequestMessage(
195 mike     1.12         Buffer& out,
196 kumpf    1.1          CIMAssociatorsRequestMessage* message);
197               
198 mike     1.15     PEGASUS_HIDDEN_LINKAGE
199 kumpf    1.1      static void _serializeCIMAssociatorNamesRequestMessage(
200 mike     1.12         Buffer& out,
201 kumpf    1.1          CIMAssociatorNamesRequestMessage* message);
202               
203 mike     1.15     PEGASUS_HIDDEN_LINKAGE
204 kumpf    1.1      static void _serializeCIMReferencesRequestMessage(
205 mike     1.12         Buffer& out,
206 kumpf    1.1          CIMReferencesRequestMessage* message);
207               
208 mike     1.15     PEGASUS_HIDDEN_LINKAGE
209 kumpf    1.1      static void _serializeCIMReferenceNamesRequestMessage(
210 mike     1.12         Buffer& out,
211 kumpf    1.1          CIMReferenceNamesRequestMessage* message);
212               
213 mike     1.15     PEGASUS_HIDDEN_LINKAGE
214 kumpf    1.1      static void _serializeCIMGetPropertyRequestMessage(
215 mike     1.12         Buffer& out,
216 kumpf    1.1          CIMGetPropertyRequestMessage* message);
217               
218 mike     1.15     PEGASUS_HIDDEN_LINKAGE
219 kumpf    1.1      static void _serializeCIMSetPropertyRequestMessage(
220 mike     1.12         Buffer& out,
221 kumpf    1.1          CIMSetPropertyRequestMessage* message);
222               
223 mike     1.15     PEGASUS_HIDDEN_LINKAGE
224 kumpf    1.1      static void _serializeCIMInvokeMethodRequestMessage(
225 mike     1.12         Buffer& out,
226 kumpf    1.1          CIMInvokeMethodRequestMessage* message);
227               
228                   //
229                   // CIMIndicationRequestMessages
230                   //
231               
232 mike     1.15     PEGASUS_HIDDEN_LINKAGE
233 kumpf    1.1      static void _serializeCIMCreateSubscriptionRequestMessage(
234 mike     1.12         Buffer& out,
235 kumpf    1.1          CIMCreateSubscriptionRequestMessage* message);
236               
237 mike     1.15     PEGASUS_HIDDEN_LINKAGE
238 kumpf    1.1      static void _serializeCIMModifySubscriptionRequestMessage(
239 mike     1.12         Buffer& out,
240 kumpf    1.1          CIMModifySubscriptionRequestMessage* message);
241               
242 mike     1.15     PEGASUS_HIDDEN_LINKAGE
243 kumpf    1.1      static void _serializeCIMDeleteSubscriptionRequestMessage(
244 mike     1.12         Buffer& out,
245 kumpf    1.1          CIMDeleteSubscriptionRequestMessage* message);
246               
247                   //
248                   // Generic CIMRequestMessages
249                   //
250               
251 mike     1.15     PEGASUS_HIDDEN_LINKAGE
252 kumpf    1.1      static void _serializeCIMExportIndicationRequestMessage(
253 mike     1.12         Buffer& out,
254 kumpf    1.1          CIMExportIndicationRequestMessage* message);
255               
256 mike     1.15     PEGASUS_HIDDEN_LINKAGE
257 kumpf    1.1      static void _serializeCIMProcessIndicationRequestMessage(
258 mike     1.12         Buffer& out,
259 kumpf    1.1          CIMProcessIndicationRequestMessage* message);
260               
261 mike     1.15     PEGASUS_HIDDEN_LINKAGE
262 kumpf    1.1      static void _serializeCIMDisableModuleRequestMessage(
263 mike     1.12         Buffer& out,
264 kumpf    1.1          CIMDisableModuleRequestMessage* message);
265               
266 mike     1.15     PEGASUS_HIDDEN_LINKAGE
267 kumpf    1.1      static void _serializeCIMEnableModuleRequestMessage(
268 mike     1.12         Buffer& out,
269 kumpf    1.1          CIMEnableModuleRequestMessage* message);
270               
271 mike     1.15     PEGASUS_HIDDEN_LINKAGE
272 kumpf    1.1      static void _serializeCIMStopAllProvidersRequestMessage(
273 mike     1.12         Buffer& out,
274 kumpf    1.1          CIMStopAllProvidersRequestMessage* message);
275               
276 mike     1.15     PEGASUS_HIDDEN_LINKAGE
277 kumpf    1.5      static void _serializeCIMInitializeProviderAgentRequestMessage(
278 mike     1.12         Buffer& out,
279 kumpf    1.5          CIMInitializeProviderAgentRequestMessage* message);
280               
281 mike     1.15     PEGASUS_HIDDEN_LINKAGE
282 kumpf    1.6      static void _serializeCIMNotifyConfigChangeRequestMessage(
283 mike     1.12         Buffer& out,
284 kumpf    1.6          CIMNotifyConfigChangeRequestMessage* message);
285               
286 mike     1.15     PEGASUS_HIDDEN_LINKAGE
287 carolann.graves 1.11     static void _serializeCIMSubscriptionInitCompleteRequestMessage(
288 mike            1.12         Buffer& out,
289 carolann.graves 1.11         CIMSubscriptionInitCompleteRequestMessage* message);
290                      
291 kumpf           1.2  
292 kumpf           1.1      //
293                          //
294                          // CIM Response Messages
295                          //
296                          //
297                      
298                          //
299                          // CIMOperationResponseMessages
300                          //
301                      
302 mike            1.15     PEGASUS_HIDDEN_LINKAGE
303 kumpf           1.1      static void _serializeCIMGetInstanceResponseMessage(
304 mike            1.12         Buffer& out,
305 kumpf           1.1          CIMGetInstanceResponseMessage* message);
306                      
307 mike            1.15     PEGASUS_HIDDEN_LINKAGE
308 kumpf           1.1      static void _serializeCIMDeleteInstanceResponseMessage(
309 mike            1.12         Buffer& out,
310 kumpf           1.1          CIMDeleteInstanceResponseMessage* message);
311                      
312 mike            1.15     PEGASUS_HIDDEN_LINKAGE
313 kumpf           1.1      static void _serializeCIMCreateInstanceResponseMessage(
314 mike            1.12         Buffer& out,
315 kumpf           1.1          CIMCreateInstanceResponseMessage* message);
316                      
317 mike            1.15     PEGASUS_HIDDEN_LINKAGE
318 kumpf           1.1      static void _serializeCIMModifyInstanceResponseMessage(
319 mike            1.12         Buffer& out,
320 kumpf           1.1          CIMModifyInstanceResponseMessage* message);
321                      
322 mike            1.15     PEGASUS_HIDDEN_LINKAGE
323 kumpf           1.1      static void _serializeCIMEnumerateInstancesResponseMessage(
324 mike            1.12         Buffer& out,
325 kumpf           1.1          CIMEnumerateInstancesResponseMessage* message);
326                      
327 mike            1.15     PEGASUS_HIDDEN_LINKAGE
328 kumpf           1.1      static void _serializeCIMEnumerateInstanceNamesResponseMessage(
329 mike            1.12         Buffer& out,
330 kumpf           1.1          CIMEnumerateInstanceNamesResponseMessage* message);
331                      
332 mike            1.15     PEGASUS_HIDDEN_LINKAGE
333 kumpf           1.1      static void _serializeCIMExecQueryResponseMessage(
334 mike            1.12         Buffer& out,
335 kumpf           1.1          CIMExecQueryResponseMessage* message);
336                      
337 mike            1.15     PEGASUS_HIDDEN_LINKAGE
338 kumpf           1.1      static void _serializeCIMAssociatorsResponseMessage(
339 mike            1.12         Buffer& out,
340 kumpf           1.1          CIMAssociatorsResponseMessage* message);
341                      
342 mike            1.15     PEGASUS_HIDDEN_LINKAGE
343 kumpf           1.1      static void _serializeCIMAssociatorNamesResponseMessage(
344 mike            1.12         Buffer& out,
345 kumpf           1.1          CIMAssociatorNamesResponseMessage* message);
346                      
347 mike            1.15     PEGASUS_HIDDEN_LINKAGE
348 kumpf           1.1      static void _serializeCIMReferencesResponseMessage(
349 mike            1.12         Buffer& out,
350 kumpf           1.1          CIMReferencesResponseMessage* message);
351                      
352 mike            1.15     PEGASUS_HIDDEN_LINKAGE
353 kumpf           1.1      static void _serializeCIMReferenceNamesResponseMessage(
354 mike            1.12         Buffer& out,
355 kumpf           1.1          CIMReferenceNamesResponseMessage* message);
356                      
357 mike            1.15     PEGASUS_HIDDEN_LINKAGE
358 kumpf           1.1      static void _serializeCIMGetPropertyResponseMessage(
359 mike            1.12         Buffer& out,
360 kumpf           1.1          CIMGetPropertyResponseMessage* message);
361                      
362 mike            1.15     PEGASUS_HIDDEN_LINKAGE
363 kumpf           1.1      static void _serializeCIMSetPropertyResponseMessage(
364 mike            1.12         Buffer& out,
365 kumpf           1.1          CIMSetPropertyResponseMessage* message);
366                      
367 mike            1.15     PEGASUS_HIDDEN_LINKAGE
368 kumpf           1.1      static void _serializeCIMInvokeMethodResponseMessage(
369 mike            1.12         Buffer& out,
370 kumpf           1.1          CIMInvokeMethodResponseMessage* message);
371                      
372                          //
373                          // CIMIndicationResponseMessages
374                          //
375                      
376 mike            1.15     PEGASUS_HIDDEN_LINKAGE
377 kumpf           1.1      static void _serializeCIMCreateSubscriptionResponseMessage(
378 mike            1.12         Buffer& out,
379 kumpf           1.1          CIMCreateSubscriptionResponseMessage* message);
380                      
381 mike            1.15     PEGASUS_HIDDEN_LINKAGE
382 kumpf           1.1      static void _serializeCIMModifySubscriptionResponseMessage(
383 mike            1.12         Buffer& out,
384 kumpf           1.1          CIMModifySubscriptionResponseMessage* message);
385                      
386 mike            1.15     PEGASUS_HIDDEN_LINKAGE
387 kumpf           1.1      static void _serializeCIMDeleteSubscriptionResponseMessage(
388 mike            1.12         Buffer& out,
389 kumpf           1.1          CIMDeleteSubscriptionResponseMessage* message);
390                      
391                          //
392                          // Generic CIMResponseMessages
393                          //
394                      
395 mike            1.15     PEGASUS_HIDDEN_LINKAGE
396 kumpf           1.1      static void _serializeCIMExportIndicationResponseMessage(
397 mike            1.12         Buffer& out,
398 kumpf           1.1          CIMExportIndicationResponseMessage* message);
399                      
400 mike            1.15     PEGASUS_HIDDEN_LINKAGE
401 kumpf           1.1      static void _serializeCIMProcessIndicationResponseMessage(
402 mike            1.12         Buffer& out,
403 kumpf           1.1          CIMProcessIndicationResponseMessage* message);
404                      
405 mike            1.15     PEGASUS_HIDDEN_LINKAGE
406 kumpf           1.1      static void _serializeCIMDisableModuleResponseMessage(
407 mike            1.12         Buffer& out,
408 kumpf           1.1          CIMDisableModuleResponseMessage* message);
409                      
410 mike            1.15     PEGASUS_HIDDEN_LINKAGE
411 kumpf           1.1      static void _serializeCIMEnableModuleResponseMessage(
412 mike            1.12         Buffer& out,
413 kumpf           1.1          CIMEnableModuleResponseMessage* message);
414                      
415 mike            1.15     PEGASUS_HIDDEN_LINKAGE
416 kumpf           1.1      static void _serializeCIMStopAllProvidersResponseMessage(
417 mike            1.12         Buffer& out,
418 kumpf           1.1          CIMStopAllProvidersResponseMessage* message);
419                      
420 mike            1.15     PEGASUS_HIDDEN_LINKAGE
421 kumpf           1.5      static void _serializeCIMInitializeProviderAgentResponseMessage(
422 mike            1.12         Buffer& out,
423 kumpf           1.5          CIMInitializeProviderAgentResponseMessage* message);
424 kumpf           1.6  
425 mike            1.15     PEGASUS_HIDDEN_LINKAGE
426 kumpf           1.6      static void _serializeCIMNotifyConfigChangeResponseMessage(
427 mike            1.12         Buffer& out,
428 kumpf           1.6          CIMNotifyConfigChangeResponseMessage* message);
429 carolann.graves 1.11 
430 mike            1.15     PEGASUS_HIDDEN_LINKAGE
431 carolann.graves 1.11     static void _serializeCIMSubscriptionInitCompleteResponseMessage(
432 mike            1.12         Buffer& out,
433 carolann.graves 1.11         CIMSubscriptionInitCompleteResponseMessage* message);
434 kumpf           1.1  };
435                      
436                      PEGASUS_NAMESPACE_END
437                      
438                      #endif /* Pegasus_CIMMessageSerializer_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2