(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 _serializeCIMConsumeIndicationRequestMessage(
228                   Array<Sint8>& out,
229                   CIMConsumeIndicationRequestMessage* message);
230           
231               static void _serializeCIMDisableModuleRequestMessage(
232 kumpf 1.1         Array<Sint8>& out,
233                   CIMDisableModuleRequestMessage* message);
234           
235               static void _serializeCIMEnableModuleRequestMessage(
236                   Array<Sint8>& out,
237                   CIMEnableModuleRequestMessage* message);
238           
239               static void _serializeCIMStopAllProvidersRequestMessage(
240                   Array<Sint8>& out,
241                   CIMStopAllProvidersRequestMessage* message);
242           
243               //
244               //
245               // CIM Response Messages
246               //
247               //
248           
249               //
250               // CIMOperationResponseMessages
251               //
252           
253 kumpf 1.1     static void _serializeCIMGetInstanceResponseMessage(
254                   Array<Sint8>& out,
255                   CIMGetInstanceResponseMessage* message);
256           
257               static void _serializeCIMDeleteInstanceResponseMessage(
258                   Array<Sint8>& out,
259                   CIMDeleteInstanceResponseMessage* message);
260           
261               static void _serializeCIMCreateInstanceResponseMessage(
262                   Array<Sint8>& out,
263                   CIMCreateInstanceResponseMessage* message);
264           
265               static void _serializeCIMModifyInstanceResponseMessage(
266                   Array<Sint8>& out,
267                   CIMModifyInstanceResponseMessage* message);
268           
269               static void _serializeCIMEnumerateInstancesResponseMessage(
270                   Array<Sint8>& out,
271                   CIMEnumerateInstancesResponseMessage* message);
272           
273               static void _serializeCIMEnumerateInstanceNamesResponseMessage(
274 kumpf 1.1         Array<Sint8>& out,
275                   CIMEnumerateInstanceNamesResponseMessage* message);
276           
277               static void _serializeCIMExecQueryResponseMessage(
278                   Array<Sint8>& out,
279                   CIMExecQueryResponseMessage* message);
280           
281               static void _serializeCIMAssociatorsResponseMessage(
282                   Array<Sint8>& out,
283                   CIMAssociatorsResponseMessage* message);
284           
285               static void _serializeCIMAssociatorNamesResponseMessage(
286                   Array<Sint8>& out,
287                   CIMAssociatorNamesResponseMessage* message);
288           
289               static void _serializeCIMReferencesResponseMessage(
290                   Array<Sint8>& out,
291                   CIMReferencesResponseMessage* message);
292           
293               static void _serializeCIMReferenceNamesResponseMessage(
294                   Array<Sint8>& out,
295 kumpf 1.1         CIMReferenceNamesResponseMessage* message);
296           
297               static void _serializeCIMGetPropertyResponseMessage(
298                   Array<Sint8>& out,
299                   CIMGetPropertyResponseMessage* message);
300           
301               static void _serializeCIMSetPropertyResponseMessage(
302                   Array<Sint8>& out,
303                   CIMSetPropertyResponseMessage* message);
304           
305               static void _serializeCIMInvokeMethodResponseMessage(
306                   Array<Sint8>& out,
307                   CIMInvokeMethodResponseMessage* message);
308           
309               //
310               // CIMIndicationResponseMessages
311               //
312           
313               static void _serializeCIMEnableIndicationsResponseMessage(
314                   Array<Sint8>& out,
315                   CIMEnableIndicationsResponseMessage* message);
316 kumpf 1.1 
317               static void _serializeCIMDisableIndicationsResponseMessage(
318                   Array<Sint8>& out,
319                   CIMDisableIndicationsResponseMessage* message);
320           
321               static void _serializeCIMCreateSubscriptionResponseMessage(
322                   Array<Sint8>& out,
323                   CIMCreateSubscriptionResponseMessage* message);
324           
325               static void _serializeCIMModifySubscriptionResponseMessage(
326                   Array<Sint8>& out,
327                   CIMModifySubscriptionResponseMessage* message);
328           
329               static void _serializeCIMDeleteSubscriptionResponseMessage(
330                   Array<Sint8>& out,
331                   CIMDeleteSubscriptionResponseMessage* message);
332           
333               //
334               // Generic CIMResponseMessages
335               //
336           
337 kumpf 1.1     static void _serializeCIMExportIndicationResponseMessage(
338                   Array<Sint8>& out,
339                   CIMExportIndicationResponseMessage* message);
340           
341               static void _serializeCIMProcessIndicationResponseMessage(
342                   Array<Sint8>& out,
343                   CIMProcessIndicationResponseMessage* message);
344           
345           #if 0    // ATTN: This message type is currently not defined
346               static void _serializeCIMConsumeIndicationResponseMessage(
347                   Array<Sint8>& out,
348                   CIMConsumeIndicationResponseMessage* message);
349           #endif
350           
351               static void _serializeCIMDisableModuleResponseMessage(
352                   Array<Sint8>& out,
353                   CIMDisableModuleResponseMessage* message);
354           
355               static void _serializeCIMEnableModuleResponseMessage(
356                   Array<Sint8>& out,
357                   CIMEnableModuleResponseMessage* message);
358 kumpf 1.1 
359               static void _serializeCIMStopAllProvidersResponseMessage(
360                   Array<Sint8>& out,
361                   CIMStopAllProvidersResponseMessage* message);
362           
363           };
364           
365           PEGASUS_NAMESPACE_END
366           
367           #endif /* Pegasus_CIMMessageSerializer_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2