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

  1 kumpf 1.1 //%2003////////////////////////////////////////////////////////////////////////
  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           //
  8           // Permission is hereby granted, free of charge, to any person obtaining a copy
  9           // of this software and associated documentation files (the "Software"), to
 10           // deal in the Software without restriction, including without limitation the
 11           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 12           // sell copies of the Software, and to permit persons to whom the Software is
 13           // furnished to do so, subject to the following conditions:
 14           //
 15           // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 16           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 17           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 18           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 19           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 20           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 22 kumpf 1.1 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 23           //
 24           //==============================================================================
 25           //
 26           // Author: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 27           //
 28           // Modified By:
 29           //
 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 kumpf 1.1     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               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               structure of member data (such as the AcceptLanguages class) and
 57               addition of new OperationContext containers will affect message
 58               serialization.
 59            */
 60           class PEGASUS_COMMON_LINKAGE CIMMessageSerializer
 61           {
 62           public:
 63           
 64 kumpf 1.1     static void serialize(Array<Sint8>& out, CIMMessage* cimMessage);
 65           
 66           private:
 67           
 68               static void _serializeCIMRequestMessage(
 69                   Array<Sint8>& out,
 70                   CIMRequestMessage* cimMessage);
 71           
 72               static void _serializeCIMResponseMessage(
 73                   Array<Sint8>& out,
 74                   CIMResponseMessage* cimMessage);
 75           
 76               //
 77               // Utility Methods
 78               //
 79           
 80               static void _serializeUserInfo(
 81                   Array<Sint8>& out,
 82                   const String& authType,
 83                   const String& userName);
 84           
 85 kumpf 1.1     static void _serializeQueueIdStack(
 86                   Array<Sint8>& out,
 87                   const QueueIdStack& queueIdStack);
 88           
 89               static void _serializeOperationContext(
 90                   Array<Sint8>& out,
 91                   const OperationContext& operationContext);
 92           
 93               static void _serializeContentLanguages(
 94                   Array<Sint8>& out,
 95                   const ContentLanguages& contentLanguages);
 96           
 97               static void _serializeAcceptLanguages(
 98                   Array<Sint8>& out,
 99                   const AcceptLanguages& acceptLanguages);
100           
101               static void _serializeCIMException(
102                   Array<Sint8>& out,
103                   const CIMException& cimException);
104           
105               static void _serializeCIMPropertyList(
106 kumpf 1.1         Array<Sint8>& out,
107                   const CIMPropertyList& cimPropertyList);
108           
109               static void _serializeCIMObjectPath(
110                   Array<Sint8>& out,
111                   const CIMObjectPath& cimObjectPath);
112           
113               static void _serializeCIMInstance(
114                   Array<Sint8>& out,
115                   const CIMInstance& cimInstance);
116           
117               static void _serializeCIMNamespaceName(
118                   Array<Sint8>& out,
119                   const CIMNamespaceName& cimNamespaceName);
120           
121               static void _serializeCIMName(
122                   Array<Sint8>& out,
123                   const CIMName& cimName);
124           
125               //
126               //
127 kumpf 1.1     // CIM Request Messages
128               //
129               //
130           
131               //
132               // CIMOperationRequestMessages
133               //
134           
135               static void _serializeCIMGetInstanceRequestMessage(
136                   Array<Sint8>& out,
137                   CIMGetInstanceRequestMessage* message);
138           
139               static void _serializeCIMDeleteInstanceRequestMessage(
140                   Array<Sint8>& out,
141                   CIMDeleteInstanceRequestMessage* message);
142           
143               static void _serializeCIMCreateInstanceRequestMessage(
144                   Array<Sint8>& out,
145                   CIMCreateInstanceRequestMessage* message);
146           
147               static void _serializeCIMModifyInstanceRequestMessage(
148 kumpf 1.1         Array<Sint8>& out,
149                   CIMModifyInstanceRequestMessage* message);
150           
151               static void _serializeCIMEnumerateInstancesRequestMessage(
152                   Array<Sint8>& out,
153                   CIMEnumerateInstancesRequestMessage* message);
154           
155               static void _serializeCIMEnumerateInstanceNamesRequestMessage(
156                   Array<Sint8>& out,
157                   CIMEnumerateInstanceNamesRequestMessage* message);
158           
159               static void _serializeCIMExecQueryRequestMessage(
160                   Array<Sint8>& out,
161                   CIMExecQueryRequestMessage* message);
162           
163               static void _serializeCIMAssociatorsRequestMessage(
164                   Array<Sint8>& out,
165                   CIMAssociatorsRequestMessage* message);
166           
167               static void _serializeCIMAssociatorNamesRequestMessage(
168                   Array<Sint8>& out,
169 kumpf 1.1         CIMAssociatorNamesRequestMessage* message);
170           
171               static void _serializeCIMReferencesRequestMessage(
172                   Array<Sint8>& out,
173                   CIMReferencesRequestMessage* message);
174           
175               static void _serializeCIMReferenceNamesRequestMessage(
176                   Array<Sint8>& out,
177                   CIMReferenceNamesRequestMessage* message);
178           
179               static void _serializeCIMGetPropertyRequestMessage(
180                   Array<Sint8>& out,
181                   CIMGetPropertyRequestMessage* message);
182           
183               static void _serializeCIMSetPropertyRequestMessage(
184                   Array<Sint8>& out,
185                   CIMSetPropertyRequestMessage* message);
186           
187               static void _serializeCIMInvokeMethodRequestMessage(
188                   Array<Sint8>& out,
189                   CIMInvokeMethodRequestMessage* message);
190 kumpf 1.1 
191               //
192               // CIMIndicationRequestMessages
193               //
194           
195               static void _serializeCIMEnableIndicationsRequestMessage(
196                   Array<Sint8>& out,
197                   CIMEnableIndicationsRequestMessage* message);
198           
199               static void _serializeCIMDisableIndicationsRequestMessage(
200                   Array<Sint8>& out,
201                   CIMDisableIndicationsRequestMessage* message);
202           
203               static void _serializeCIMCreateSubscriptionRequestMessage(
204                   Array<Sint8>& out,
205                   CIMCreateSubscriptionRequestMessage* message);
206           
207               static void _serializeCIMModifySubscriptionRequestMessage(
208                   Array<Sint8>& out,
209                   CIMModifySubscriptionRequestMessage* message);
210           
211 kumpf 1.1     static void _serializeCIMDeleteSubscriptionRequestMessage(
212                   Array<Sint8>& out,
213                   CIMDeleteSubscriptionRequestMessage* message);
214           
215               //
216               // Generic CIMRequestMessages
217               //
218           
219               static void _serializeCIMExportIndicationRequestMessage(
220                   Array<Sint8>& out,
221                   CIMExportIndicationRequestMessage* message);
222           
223               static void _serializeCIMProcessIndicationRequestMessage(
224                   Array<Sint8>& out,
225                   CIMProcessIndicationRequestMessage* message);
226           
227               static void _serializeCIMDisableModuleRequestMessage(
228                   Array<Sint8>& out,
229                   CIMDisableModuleRequestMessage* message);
230           
231               static void _serializeCIMEnableModuleRequestMessage(
232 kumpf 1.1         Array<Sint8>& out,
233                   CIMEnableModuleRequestMessage* message);
234           
235               static void _serializeCIMStopAllProvidersRequestMessage(
236                   Array<Sint8>& out,
237                   CIMStopAllProvidersRequestMessage* message);
238           
239 kumpf 1.2     static void _serializeCIMInitializeProviderRequestMessage(
240                   Array<Sint8>& out,
241                   CIMInitializeProviderRequestMessage* message);
242           
243 kumpf 1.5     static void _serializeCIMInitializeProviderAgentRequestMessage(
244                   Array<Sint8>& out,
245                   CIMInitializeProviderAgentRequestMessage* message);
246           
247 kumpf 1.6     static void _serializeCIMNotifyConfigChangeRequestMessage(
248                   Array<Sint8>& out,
249                   CIMNotifyConfigChangeRequestMessage* message);
250           
251 kumpf 1.2 
252 kumpf 1.1     //
253               //
254               // CIM Response Messages
255               //
256               //
257           
258               //
259               // CIMOperationResponseMessages
260               //
261           
262               static void _serializeCIMGetInstanceResponseMessage(
263                   Array<Sint8>& out,
264                   CIMGetInstanceResponseMessage* message);
265           
266               static void _serializeCIMDeleteInstanceResponseMessage(
267                   Array<Sint8>& out,
268                   CIMDeleteInstanceResponseMessage* message);
269           
270               static void _serializeCIMCreateInstanceResponseMessage(
271                   Array<Sint8>& out,
272                   CIMCreateInstanceResponseMessage* message);
273 kumpf 1.1 
274               static void _serializeCIMModifyInstanceResponseMessage(
275                   Array<Sint8>& out,
276                   CIMModifyInstanceResponseMessage* message);
277           
278               static void _serializeCIMEnumerateInstancesResponseMessage(
279                   Array<Sint8>& out,
280                   CIMEnumerateInstancesResponseMessage* message);
281           
282               static void _serializeCIMEnumerateInstanceNamesResponseMessage(
283                   Array<Sint8>& out,
284                   CIMEnumerateInstanceNamesResponseMessage* message);
285           
286               static void _serializeCIMExecQueryResponseMessage(
287                   Array<Sint8>& out,
288                   CIMExecQueryResponseMessage* message);
289           
290               static void _serializeCIMAssociatorsResponseMessage(
291                   Array<Sint8>& out,
292                   CIMAssociatorsResponseMessage* message);
293           
294 kumpf 1.1     static void _serializeCIMAssociatorNamesResponseMessage(
295                   Array<Sint8>& out,
296                   CIMAssociatorNamesResponseMessage* message);
297           
298               static void _serializeCIMReferencesResponseMessage(
299                   Array<Sint8>& out,
300                   CIMReferencesResponseMessage* message);
301           
302               static void _serializeCIMReferenceNamesResponseMessage(
303                   Array<Sint8>& out,
304                   CIMReferenceNamesResponseMessage* message);
305           
306               static void _serializeCIMGetPropertyResponseMessage(
307                   Array<Sint8>& out,
308                   CIMGetPropertyResponseMessage* message);
309           
310               static void _serializeCIMSetPropertyResponseMessage(
311                   Array<Sint8>& out,
312                   CIMSetPropertyResponseMessage* message);
313           
314               static void _serializeCIMInvokeMethodResponseMessage(
315 kumpf 1.1         Array<Sint8>& out,
316                   CIMInvokeMethodResponseMessage* message);
317           
318               //
319               // CIMIndicationResponseMessages
320               //
321           
322               static void _serializeCIMEnableIndicationsResponseMessage(
323                   Array<Sint8>& out,
324                   CIMEnableIndicationsResponseMessage* message);
325           
326               static void _serializeCIMDisableIndicationsResponseMessage(
327                   Array<Sint8>& out,
328                   CIMDisableIndicationsResponseMessage* message);
329           
330               static void _serializeCIMCreateSubscriptionResponseMessage(
331                   Array<Sint8>& out,
332                   CIMCreateSubscriptionResponseMessage* message);
333           
334               static void _serializeCIMModifySubscriptionResponseMessage(
335                   Array<Sint8>& out,
336 kumpf 1.1         CIMModifySubscriptionResponseMessage* message);
337           
338               static void _serializeCIMDeleteSubscriptionResponseMessage(
339                   Array<Sint8>& out,
340                   CIMDeleteSubscriptionResponseMessage* message);
341           
342               //
343               // Generic CIMResponseMessages
344               //
345           
346               static void _serializeCIMExportIndicationResponseMessage(
347                   Array<Sint8>& out,
348                   CIMExportIndicationResponseMessage* message);
349           
350               static void _serializeCIMProcessIndicationResponseMessage(
351                   Array<Sint8>& out,
352                   CIMProcessIndicationResponseMessage* message);
353           
354               static void _serializeCIMDisableModuleResponseMessage(
355                   Array<Sint8>& out,
356                   CIMDisableModuleResponseMessage* message);
357 kumpf 1.1 
358               static void _serializeCIMEnableModuleResponseMessage(
359                   Array<Sint8>& out,
360                   CIMEnableModuleResponseMessage* message);
361           
362               static void _serializeCIMStopAllProvidersResponseMessage(
363                   Array<Sint8>& out,
364                   CIMStopAllProvidersResponseMessage* message);
365           
366 kumpf 1.2     static void _serializeCIMInitializeProviderResponseMessage(
367                   Array<Sint8>& out,
368                   CIMInitializeProviderResponseMessage* message);
369           
370 kumpf 1.5     static void _serializeCIMInitializeProviderAgentResponseMessage(
371                   Array<Sint8>& out,
372                   CIMInitializeProviderAgentResponseMessage* message);
373 kumpf 1.6 
374               static void _serializeCIMNotifyConfigChangeResponseMessage(
375                   Array<Sint8>& out,
376                   CIMNotifyConfigChangeResponseMessage* message);
377 kumpf 1.1 };
378           
379           PEGASUS_NAMESPACE_END
380           
381           #endif /* Pegasus_CIMMessageSerializer_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2