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

  1 karl  1.14 //%2006////////////////////////////////////////////////////////////////////////
  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 karl  1.10 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.14 // 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 karl  1.7  // 
 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            #ifndef Pegasus_CIMMessageSerializer_h
 35            #define Pegasus_CIMMessageSerializer_h
 36            
 37            #include <Pegasus/Common/Config.h>
 38            #include <Pegasus/Common/CIMMessage.h>
 39            
 40            PEGASUS_NAMESPACE_BEGIN
 41            
 42 kumpf 1.1  /**
 43                CIMMessageSerializer provides a mechanism to convert a CIMMessage (or one
 44                of its subclasses) to a stream of bytes.  This stream of bytes can be
 45                converted back to a CIMMessage object through use of the related
 46                CIMMessageDeserializer class.
 47            
 48                The format of the serialized message is not defined and is therefore
 49                subject to change.  The only requirement is that the CIMMessageSerializer
 50                and CIMMessageDeserializer classes remain in sync to provide a two-way
 51                mapping.  (A quasi-XML encoding is currently used as an expedient
 52                solution.  However, this encoding is not compliant with the CIM-XML
 53                specification.  A number of shortcuts have been taken to improve
 54                operational efficiency.)
 55            
 56                Note:  Changes or additions to the CIMMessage definitions must be
 57                reflected in these serialization classes.  Likewise, changes to the
 58 kumpf 1.13     structure of member data (such as the AcceptLanguageList class) and
 59 kumpf 1.1      addition of new OperationContext containers will affect message
 60                serialization.
 61             */
 62            class PEGASUS_COMMON_LINKAGE CIMMessageSerializer
 63            {
 64            public:
 65            
 66 mike  1.12     static void serialize(Buffer& out, CIMMessage* cimMessage);
 67 kumpf 1.1  
 68            private:
 69            
 70 mike  1.15     PEGASUS_HIDDEN_LINKAGE
 71 kumpf 1.1      static void _serializeCIMRequestMessage(
 72 mike  1.12         Buffer& out,
 73 kumpf 1.1          CIMRequestMessage* cimMessage);
 74            
 75 mike  1.15     PEGASUS_HIDDEN_LINKAGE
 76 kumpf 1.1      static void _serializeCIMResponseMessage(
 77 mike  1.12         Buffer& out,
 78 kumpf 1.1          CIMResponseMessage* cimMessage);
 79            
 80                //
 81                // Utility Methods
 82                //
 83            
 84 mike  1.15     PEGASUS_HIDDEN_LINKAGE
 85 kumpf 1.1      static void _serializeUserInfo(
 86 mike  1.12         Buffer& out,
 87 kumpf 1.1          const String& authType,
 88                    const String& userName);
 89            
 90 mike  1.15     PEGASUS_HIDDEN_LINKAGE
 91 kumpf 1.1      static void _serializeQueueIdStack(
 92 mike  1.12         Buffer& out,
 93 kumpf 1.1          const QueueIdStack& queueIdStack);
 94            
 95 mike  1.15     PEGASUS_HIDDEN_LINKAGE
 96 kumpf 1.1      static void _serializeOperationContext(
 97 mike  1.12         Buffer& out,
 98 kumpf 1.1          const OperationContext& operationContext);
 99            
100 mike  1.15     PEGASUS_HIDDEN_LINKAGE
101 kumpf 1.13     static void _serializeContentLanguageList(
102 mike  1.12         Buffer& out,
103 kumpf 1.13         const ContentLanguageList& contentLanguages);
104 kumpf 1.1  
105 mike  1.15     PEGASUS_HIDDEN_LINKAGE
106 kumpf 1.13     static void _serializeAcceptLanguageList(
107 mike  1.12         Buffer& out,
108 kumpf 1.13         const AcceptLanguageList& acceptLanguages);
109 kumpf 1.1  
110 mike  1.15     PEGASUS_HIDDEN_LINKAGE
111 kumpf 1.1      static void _serializeCIMException(
112 mike  1.12         Buffer& out,
113 kumpf 1.1          const CIMException& cimException);
114            
115 mike  1.15     PEGASUS_HIDDEN_LINKAGE
116 kumpf 1.1      static void _serializeCIMPropertyList(
117 mike  1.12         Buffer& out,
118 kumpf 1.1          const CIMPropertyList& cimPropertyList);
119            
120 mike  1.15     PEGASUS_HIDDEN_LINKAGE
121 kumpf 1.1      static void _serializeCIMObjectPath(
122 mike  1.12         Buffer& out,
123 kumpf 1.1          const CIMObjectPath& cimObjectPath);
124            
125 mike  1.15     PEGASUS_HIDDEN_LINKAGE
126 kumpf 1.1      static void _serializeCIMInstance(
127 mike  1.12         Buffer& out,
128 kumpf 1.1          const CIMInstance& cimInstance);
129            
130 mike  1.15     PEGASUS_HIDDEN_LINKAGE
131 kumpf 1.1      static void _serializeCIMNamespaceName(
132 mike  1.12         Buffer& out,
133 kumpf 1.1          const CIMNamespaceName& cimNamespaceName);
134            
135 mike  1.15     PEGASUS_HIDDEN_LINKAGE
136 kumpf 1.1      static void _serializeCIMName(
137 mike  1.12         Buffer& out,
138 kumpf 1.1          const CIMName& cimName);
139            
140 mike  1.15     PEGASUS_HIDDEN_LINKAGE
141 jenny.yu 1.9      static void _serializeCIMObject(
142 mike     1.12         Buffer& out,
143 jenny.yu 1.9          const CIMObject& object);
144               
145 kumpf    1.1      //
146                   //
147                   // CIM Request Messages
148                   //
149                   //
150               
151                   //
152                   // CIMOperationRequestMessages
153                   //
154               
155 mike     1.15     PEGASUS_HIDDEN_LINKAGE
156 kumpf    1.1      static void _serializeCIMGetInstanceRequestMessage(
157 mike     1.12         Buffer& out,
158 kumpf    1.1          CIMGetInstanceRequestMessage* message);
159               
160 mike     1.15     PEGASUS_HIDDEN_LINKAGE
161 kumpf    1.1      static void _serializeCIMDeleteInstanceRequestMessage(
162 mike     1.12         Buffer& out,
163 kumpf    1.1          CIMDeleteInstanceRequestMessage* message);
164               
165 mike     1.15     PEGASUS_HIDDEN_LINKAGE
166 kumpf    1.1      static void _serializeCIMCreateInstanceRequestMessage(
167 mike     1.12         Buffer& out,
168 kumpf    1.1          CIMCreateInstanceRequestMessage* message);
169               
170 mike     1.15     PEGASUS_HIDDEN_LINKAGE
171 kumpf    1.1      static void _serializeCIMModifyInstanceRequestMessage(
172 mike     1.12         Buffer& out,
173 kumpf    1.1          CIMModifyInstanceRequestMessage* message);
174               
175 mike     1.15     PEGASUS_HIDDEN_LINKAGE
176 kumpf    1.1      static void _serializeCIMEnumerateInstancesRequestMessage(
177 mike     1.12         Buffer& out,
178 kumpf    1.1          CIMEnumerateInstancesRequestMessage* message);
179               
180 mike     1.15     PEGASUS_HIDDEN_LINKAGE
181 kumpf    1.1      static void _serializeCIMEnumerateInstanceNamesRequestMessage(
182 mike     1.12         Buffer& out,
183 kumpf    1.1          CIMEnumerateInstanceNamesRequestMessage* message);
184               
185 mike     1.15     PEGASUS_HIDDEN_LINKAGE
186 kumpf    1.1      static void _serializeCIMExecQueryRequestMessage(
187 mike     1.12         Buffer& out,
188 kumpf    1.1          CIMExecQueryRequestMessage* message);
189               
190 mike     1.15     PEGASUS_HIDDEN_LINKAGE
191 kumpf    1.1      static void _serializeCIMAssociatorsRequestMessage(
192 mike     1.12         Buffer& out,
193 kumpf    1.1          CIMAssociatorsRequestMessage* message);
194               
195 mike     1.15     PEGASUS_HIDDEN_LINKAGE
196 kumpf    1.1      static void _serializeCIMAssociatorNamesRequestMessage(
197 mike     1.12         Buffer& out,
198 kumpf    1.1          CIMAssociatorNamesRequestMessage* message);
199               
200 mike     1.15     PEGASUS_HIDDEN_LINKAGE
201 kumpf    1.1      static void _serializeCIMReferencesRequestMessage(
202 mike     1.12         Buffer& out,
203 kumpf    1.1          CIMReferencesRequestMessage* message);
204               
205 mike     1.15     PEGASUS_HIDDEN_LINKAGE
206 kumpf    1.1      static void _serializeCIMReferenceNamesRequestMessage(
207 mike     1.12         Buffer& out,
208 kumpf    1.1          CIMReferenceNamesRequestMessage* message);
209               
210 mike     1.15     PEGASUS_HIDDEN_LINKAGE
211 kumpf    1.1      static void _serializeCIMGetPropertyRequestMessage(
212 mike     1.12         Buffer& out,
213 kumpf    1.1          CIMGetPropertyRequestMessage* message);
214               
215 mike     1.15     PEGASUS_HIDDEN_LINKAGE
216 kumpf    1.1      static void _serializeCIMSetPropertyRequestMessage(
217 mike     1.12         Buffer& out,
218 kumpf    1.1          CIMSetPropertyRequestMessage* message);
219               
220 mike     1.15     PEGASUS_HIDDEN_LINKAGE
221 kumpf    1.1      static void _serializeCIMInvokeMethodRequestMessage(
222 mike     1.12         Buffer& out,
223 kumpf    1.1          CIMInvokeMethodRequestMessage* message);
224               
225                   //
226                   // CIMIndicationRequestMessages
227                   //
228               
229 mike     1.15     PEGASUS_HIDDEN_LINKAGE
230 kumpf    1.1      static void _serializeCIMCreateSubscriptionRequestMessage(
231 mike     1.12         Buffer& out,
232 kumpf    1.1          CIMCreateSubscriptionRequestMessage* message);
233               
234 mike     1.15     PEGASUS_HIDDEN_LINKAGE
235 kumpf    1.1      static void _serializeCIMModifySubscriptionRequestMessage(
236 mike     1.12         Buffer& out,
237 kumpf    1.1          CIMModifySubscriptionRequestMessage* message);
238               
239 mike     1.15     PEGASUS_HIDDEN_LINKAGE
240 kumpf    1.1      static void _serializeCIMDeleteSubscriptionRequestMessage(
241 mike     1.12         Buffer& out,
242 kumpf    1.1          CIMDeleteSubscriptionRequestMessage* message);
243               
244                   //
245                   // Generic CIMRequestMessages
246                   //
247               
248 mike     1.15     PEGASUS_HIDDEN_LINKAGE
249 kumpf    1.1      static void _serializeCIMExportIndicationRequestMessage(
250 mike     1.12         Buffer& out,
251 kumpf    1.1          CIMExportIndicationRequestMessage* message);
252               
253 mike     1.15     PEGASUS_HIDDEN_LINKAGE
254 kumpf    1.1      static void _serializeCIMProcessIndicationRequestMessage(
255 mike     1.12         Buffer& out,
256 kumpf    1.1          CIMProcessIndicationRequestMessage* message);
257               
258 mike     1.15     PEGASUS_HIDDEN_LINKAGE
259 kumpf    1.1      static void _serializeCIMDisableModuleRequestMessage(
260 mike     1.12         Buffer& out,
261 kumpf    1.1          CIMDisableModuleRequestMessage* message);
262               
263 mike     1.15     PEGASUS_HIDDEN_LINKAGE
264 kumpf    1.1      static void _serializeCIMEnableModuleRequestMessage(
265 mike     1.12         Buffer& out,
266 kumpf    1.1          CIMEnableModuleRequestMessage* message);
267               
268 mike     1.15     PEGASUS_HIDDEN_LINKAGE
269 kumpf    1.1      static void _serializeCIMStopAllProvidersRequestMessage(
270 mike     1.12         Buffer& out,
271 kumpf    1.1          CIMStopAllProvidersRequestMessage* message);
272               
273 mike     1.15     PEGASUS_HIDDEN_LINKAGE
274 kumpf    1.2      static void _serializeCIMInitializeProviderRequestMessage(
275 mike     1.12         Buffer& out,
276 kumpf    1.2          CIMInitializeProviderRequestMessage* message);
277               
278 mike     1.15     PEGASUS_HIDDEN_LINKAGE
279 kumpf    1.5      static void _serializeCIMInitializeProviderAgentRequestMessage(
280 mike     1.12         Buffer& out,
281 kumpf    1.5          CIMInitializeProviderAgentRequestMessage* message);
282               
283 mike     1.15     PEGASUS_HIDDEN_LINKAGE
284 kumpf    1.6      static void _serializeCIMNotifyConfigChangeRequestMessage(
285 mike     1.12         Buffer& out,
286 kumpf    1.6          CIMNotifyConfigChangeRequestMessage* message);
287               
288 mike     1.15     PEGASUS_HIDDEN_LINKAGE
289 carolann.graves 1.11     static void _serializeCIMSubscriptionInitCompleteRequestMessage(
290 mike            1.12         Buffer& out,
291 carolann.graves 1.11         CIMSubscriptionInitCompleteRequestMessage* message);
292                      
293 kumpf           1.2  
294 kumpf           1.1      //
295                          //
296                          // CIM Response Messages
297                          //
298                          //
299                      
300                          //
301                          // CIMOperationResponseMessages
302                          //
303                      
304 mike            1.15     PEGASUS_HIDDEN_LINKAGE
305 kumpf           1.1      static void _serializeCIMGetInstanceResponseMessage(
306 mike            1.12         Buffer& out,
307 kumpf           1.1          CIMGetInstanceResponseMessage* message);
308                      
309 mike            1.15     PEGASUS_HIDDEN_LINKAGE
310 kumpf           1.1      static void _serializeCIMDeleteInstanceResponseMessage(
311 mike            1.12         Buffer& out,
312 kumpf           1.1          CIMDeleteInstanceResponseMessage* message);
313                      
314 mike            1.15     PEGASUS_HIDDEN_LINKAGE
315 kumpf           1.1      static void _serializeCIMCreateInstanceResponseMessage(
316 mike            1.12         Buffer& out,
317 kumpf           1.1          CIMCreateInstanceResponseMessage* message);
318                      
319 mike            1.15     PEGASUS_HIDDEN_LINKAGE
320 kumpf           1.1      static void _serializeCIMModifyInstanceResponseMessage(
321 mike            1.12         Buffer& out,
322 kumpf           1.1          CIMModifyInstanceResponseMessage* message);
323                      
324 mike            1.15     PEGASUS_HIDDEN_LINKAGE
325 kumpf           1.1      static void _serializeCIMEnumerateInstancesResponseMessage(
326 mike            1.12         Buffer& out,
327 kumpf           1.1          CIMEnumerateInstancesResponseMessage* message);
328                      
329 mike            1.15     PEGASUS_HIDDEN_LINKAGE
330 kumpf           1.1      static void _serializeCIMEnumerateInstanceNamesResponseMessage(
331 mike            1.12         Buffer& out,
332 kumpf           1.1          CIMEnumerateInstanceNamesResponseMessage* message);
333                      
334 mike            1.15     PEGASUS_HIDDEN_LINKAGE
335 kumpf           1.1      static void _serializeCIMExecQueryResponseMessage(
336 mike            1.12         Buffer& out,
337 kumpf           1.1          CIMExecQueryResponseMessage* message);
338                      
339 mike            1.15     PEGASUS_HIDDEN_LINKAGE
340 kumpf           1.1      static void _serializeCIMAssociatorsResponseMessage(
341 mike            1.12         Buffer& out,
342 kumpf           1.1          CIMAssociatorsResponseMessage* message);
343                      
344 mike            1.15     PEGASUS_HIDDEN_LINKAGE
345 kumpf           1.1      static void _serializeCIMAssociatorNamesResponseMessage(
346 mike            1.12         Buffer& out,
347 kumpf           1.1          CIMAssociatorNamesResponseMessage* message);
348                      
349 mike            1.15     PEGASUS_HIDDEN_LINKAGE
350 kumpf           1.1      static void _serializeCIMReferencesResponseMessage(
351 mike            1.12         Buffer& out,
352 kumpf           1.1          CIMReferencesResponseMessage* message);
353                      
354 mike            1.15     PEGASUS_HIDDEN_LINKAGE
355 kumpf           1.1      static void _serializeCIMReferenceNamesResponseMessage(
356 mike            1.12         Buffer& out,
357 kumpf           1.1          CIMReferenceNamesResponseMessage* message);
358                      
359 mike            1.15     PEGASUS_HIDDEN_LINKAGE
360 kumpf           1.1      static void _serializeCIMGetPropertyResponseMessage(
361 mike            1.12         Buffer& out,
362 kumpf           1.1          CIMGetPropertyResponseMessage* message);
363                      
364 mike            1.15     PEGASUS_HIDDEN_LINKAGE
365 kumpf           1.1      static void _serializeCIMSetPropertyResponseMessage(
366 mike            1.12         Buffer& out,
367 kumpf           1.1          CIMSetPropertyResponseMessage* message);
368                      
369 mike            1.15     PEGASUS_HIDDEN_LINKAGE
370 kumpf           1.1      static void _serializeCIMInvokeMethodResponseMessage(
371 mike            1.12         Buffer& out,
372 kumpf           1.1          CIMInvokeMethodResponseMessage* message);
373                      
374                          //
375                          // CIMIndicationResponseMessages
376                          //
377                      
378 mike            1.15     PEGASUS_HIDDEN_LINKAGE
379 kumpf           1.1      static void _serializeCIMCreateSubscriptionResponseMessage(
380 mike            1.12         Buffer& out,
381 kumpf           1.1          CIMCreateSubscriptionResponseMessage* message);
382                      
383 mike            1.15     PEGASUS_HIDDEN_LINKAGE
384 kumpf           1.1      static void _serializeCIMModifySubscriptionResponseMessage(
385 mike            1.12         Buffer& out,
386 kumpf           1.1          CIMModifySubscriptionResponseMessage* message);
387                      
388 mike            1.15     PEGASUS_HIDDEN_LINKAGE
389 kumpf           1.1      static void _serializeCIMDeleteSubscriptionResponseMessage(
390 mike            1.12         Buffer& out,
391 kumpf           1.1          CIMDeleteSubscriptionResponseMessage* message);
392                      
393                          //
394                          // Generic CIMResponseMessages
395                          //
396                      
397 mike            1.15     PEGASUS_HIDDEN_LINKAGE
398 kumpf           1.1      static void _serializeCIMExportIndicationResponseMessage(
399 mike            1.12         Buffer& out,
400 kumpf           1.1          CIMExportIndicationResponseMessage* message);
401                      
402 mike            1.15     PEGASUS_HIDDEN_LINKAGE
403 kumpf           1.1      static void _serializeCIMProcessIndicationResponseMessage(
404 mike            1.12         Buffer& out,
405 kumpf           1.1          CIMProcessIndicationResponseMessage* message);
406                      
407 mike            1.15     PEGASUS_HIDDEN_LINKAGE
408 kumpf           1.1      static void _serializeCIMDisableModuleResponseMessage(
409 mike            1.12         Buffer& out,
410 kumpf           1.1          CIMDisableModuleResponseMessage* message);
411                      
412 mike            1.15     PEGASUS_HIDDEN_LINKAGE
413 kumpf           1.1      static void _serializeCIMEnableModuleResponseMessage(
414 mike            1.12         Buffer& out,
415 kumpf           1.1          CIMEnableModuleResponseMessage* message);
416                      
417 mike            1.15     PEGASUS_HIDDEN_LINKAGE
418 kumpf           1.1      static void _serializeCIMStopAllProvidersResponseMessage(
419 mike            1.12         Buffer& out,
420 kumpf           1.1          CIMStopAllProvidersResponseMessage* message);
421                      
422 mike            1.15     PEGASUS_HIDDEN_LINKAGE
423 kumpf           1.2      static void _serializeCIMInitializeProviderResponseMessage(
424 mike            1.12         Buffer& out,
425 kumpf           1.2          CIMInitializeProviderResponseMessage* message);
426                      
427 mike            1.15     PEGASUS_HIDDEN_LINKAGE
428 kumpf           1.5      static void _serializeCIMInitializeProviderAgentResponseMessage(
429 mike            1.12         Buffer& out,
430 kumpf           1.5          CIMInitializeProviderAgentResponseMessage* message);
431 kumpf           1.6  
432 mike            1.15     PEGASUS_HIDDEN_LINKAGE
433 kumpf           1.6      static void _serializeCIMNotifyConfigChangeResponseMessage(
434 mike            1.12         Buffer& out,
435 kumpf           1.6          CIMNotifyConfigChangeResponseMessage* message);
436 carolann.graves 1.11 
437 mike            1.15     PEGASUS_HIDDEN_LINKAGE
438 carolann.graves 1.11     static void _serializeCIMSubscriptionInitCompleteResponseMessage(
439 mike            1.12         Buffer& out,
440 carolann.graves 1.11         CIMSubscriptionInitCompleteResponseMessage* message);
441 kumpf           1.1  };
442                      
443                      PEGASUS_NAMESPACE_END
444                      
445                      #endif /* Pegasus_CIMMessageSerializer_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2