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

   1 karl  1.26 //%2006////////////////////////////////////////////////////////////////////////
   2 kumpf 1.1  //
   3 karl  1.16 // 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.16 // 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.20 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
  10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
  11 karl  1.26 // 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            // 
  21            // 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            // Author: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
  33            //
  34 se.gupta 1.10 // Modified By: Seema Gupta (gseema@in.ibm.com) for PEP135
  35 david.dillard 1.18 //              David Dillard, VERITAS Software Corp.
  36                    //                  (david.dillard@veritas.com)
  37 jenny.yu      1.19 //              Jenny Yu, Hewlett-Packard Company (jenny.yu@hp.com)
  38 carolann.graves 1.21 //              Carol Ann Krug Graves, Hewlett-Packard Company
  39                      //                  (carolann_graves@hp.com)
  40 kumpf           1.1  //
  41                      //%/////////////////////////////////////////////////////////////////////////////
  42                      
  43 kumpf           1.9  #include <Pegasus/Common/XmlWriter.h>
  44                      #include <Pegasus/Common/OperationContextInternal.h>
  45                      
  46 kumpf           1.1  #include "CIMMessageSerializer.h"
  47                      
  48                      PEGASUS_NAMESPACE_BEGIN
  49                      
  50 mike            1.22 void CIMMessageSerializer::serialize(Buffer& out, CIMMessage* cimMessage)
  51 kumpf           1.1  {
  52                          if (cimMessage == 0)
  53                          {
  54                              // No message to serialize
  55                              return;
  56                          }
  57                      
  58                          // ATTN: Need to serialize the Message class members?
  59                      
  60                          XmlWriter::append(out, "<PGMESSAGE ID=\"");
  61                          XmlWriter::append(out, cimMessage->messageId);
  62                          XmlWriter::append(out, "\" TYPE=\"");
  63                          XmlWriter::append(out, cimMessage->getType());
  64                          XmlWriter::append(out, "\">");
  65                      
  66 kumpf           1.23 #ifndef PEGASUS_DISABLE_PERFINST
  67                          // Serialize the statistics data
  68                      
  69                          XmlWriter::appendValueElement(
  70 kumpf           1.34         out, cimMessage->getServerStartTime());
  71 kumpf           1.23     XmlWriter::appendValueElement(
  72 kumpf           1.34         out, cimMessage->getProviderTime());
  73 kumpf           1.23 #endif
  74                      
  75 kumpf           1.29     XmlWriter::appendValueElement(out, cimMessage->isComplete());
  76 kumpf           1.30     XmlWriter::appendValueElement(out, cimMessage->getIndex());
  77 kumpf           1.29 
  78 kumpf           1.11     _serializeOperationContext(out, cimMessage->operationContext);
  79 kumpf           1.1  
  80                          CIMRequestMessage* cimReqMessage;
  81                          cimReqMessage = dynamic_cast<CIMRequestMessage*>(cimMessage);
  82                      
  83                          CIMResponseMessage* cimRespMessage;
  84                          cimRespMessage = dynamic_cast<CIMResponseMessage*>(cimMessage);
  85                      
  86                          if (cimReqMessage)
  87                          {
  88                              _serializeCIMRequestMessage(out, cimReqMessage);
  89                          }
  90 kumpf           1.27     else
  91 kumpf           1.1      {
  92 kumpf           1.27         PEGASUS_ASSERT(cimRespMessage != 0);
  93 kumpf           1.1          _serializeCIMResponseMessage(out, cimRespMessage);
  94                          }
  95                      
  96                          XmlWriter::append(out, "</PGMESSAGE>");
  97                      }
  98                      
  99                      //
 100                      // _serializeCIMRequestMessage
 101                      //
 102                      void CIMMessageSerializer::_serializeCIMRequestMessage(
 103 mike            1.22     Buffer& out,
 104 kumpf           1.1      CIMRequestMessage* cimMessage)
 105                      {
 106                          PEGASUS_ASSERT(cimMessage != 0);
 107                      
 108                          XmlWriter::append(out, "<PGREQ>");
 109                      
 110                          _serializeQueueIdStack(out, cimMessage->queueIds);
 111                      
 112                          CIMOperationRequestMessage* cimOpReqMessage;
 113                          cimOpReqMessage = dynamic_cast<CIMOperationRequestMessage*>(cimMessage);
 114                      
 115                          CIMIndicationRequestMessage* cimIndReqMessage;
 116                          cimIndReqMessage = dynamic_cast<CIMIndicationRequestMessage*>(cimMessage);
 117                      
 118                          if (cimOpReqMessage)
 119                          {
 120                              XmlWriter::append(out, "<PGOPREQ>\n");
 121                      
 122 kumpf           1.32         _serializeUserInfo(
 123                                  out, cimOpReqMessage->authType, cimOpReqMessage->userName);
 124 kumpf           1.1          _serializeCIMNamespaceName(out, cimOpReqMessage->nameSpace);
 125                              _serializeCIMName(out, cimOpReqMessage->className);
 126                      
 127                              // Encode cimOpReqMessage->providerType as an integer
 128                              XmlWriter::appendValueElement(out, cimOpReqMessage->providerType);
 129                      
 130                              switch (cimMessage->getType())
 131                              {
 132 kumpf           1.27         // A provider cannot implement these operation types, so the
 133                              // serialization of these messages is not implemented.
 134                              //case CIM_GET_CLASS_REQUEST_MESSAGE:
 135                              //case CIM_DELETE_CLASS_REQUEST_MESSAGE:
 136                              //case CIM_CREATE_CLASS_REQUEST_MESSAGE:
 137                              //case CIM_MODIFY_CLASS_REQUEST_MESSAGE:
 138                              //case CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE:
 139                              //case CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE:
 140                              //case CIM_GET_QUALIFIER_REQUEST_MESSAGE:
 141                              //case CIM_SET_QUALIFIER_REQUEST_MESSAGE:
 142                              //case CIM_DELETE_QUALIFIER_REQUEST_MESSAGE:
 143                              //case CIM_ENUMERATE_QUALIFIERS_REQUEST_MESSAGE:
 144 kumpf           1.1  
 145                              // Instance operations
 146                              case CIM_GET_INSTANCE_REQUEST_MESSAGE:
 147                                  _serializeCIMGetInstanceRequestMessage(
 148                                      out, (CIMGetInstanceRequestMessage*)cimMessage);
 149                                  break;
 150                              case CIM_DELETE_INSTANCE_REQUEST_MESSAGE:
 151                                  _serializeCIMDeleteInstanceRequestMessage(
 152                                      out, (CIMDeleteInstanceRequestMessage*)cimMessage);
 153                                  break;
 154                              case CIM_CREATE_INSTANCE_REQUEST_MESSAGE:
 155                                  _serializeCIMCreateInstanceRequestMessage(
 156                                      out, (CIMCreateInstanceRequestMessage*)cimMessage);
 157                                  break;
 158                              case CIM_MODIFY_INSTANCE_REQUEST_MESSAGE:
 159                                  _serializeCIMModifyInstanceRequestMessage(
 160                                      out, (CIMModifyInstanceRequestMessage*)cimMessage);
 161                                  break;
 162                              case CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE:
 163                                  _serializeCIMEnumerateInstancesRequestMessage(
 164                                      out, (CIMEnumerateInstancesRequestMessage*)cimMessage);
 165 kumpf           1.1              break;
 166                              case CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE:
 167                                  _serializeCIMEnumerateInstanceNamesRequestMessage(
 168                                      out, (CIMEnumerateInstanceNamesRequestMessage*)cimMessage);
 169                                  break;
 170                              case CIM_EXEC_QUERY_REQUEST_MESSAGE:
 171                                  _serializeCIMExecQueryRequestMessage(
 172                                      out, (CIMExecQueryRequestMessage*)cimMessage);
 173                                  break;
 174                      
 175                              // Property operations
 176                              case CIM_GET_PROPERTY_REQUEST_MESSAGE:
 177                                  _serializeCIMGetPropertyRequestMessage(
 178                                      out, (CIMGetPropertyRequestMessage*)cimMessage);
 179                                  break;
 180                              case CIM_SET_PROPERTY_REQUEST_MESSAGE:
 181                                  _serializeCIMSetPropertyRequestMessage(
 182                                      out, (CIMSetPropertyRequestMessage*)cimMessage);
 183                                  break;
 184                      
 185                              // Association operations
 186 kumpf           1.1          case CIM_ASSOCIATORS_REQUEST_MESSAGE:
 187                                  _serializeCIMAssociatorsRequestMessage(
 188                                      out, (CIMAssociatorsRequestMessage*)cimMessage);
 189                                  break;
 190                              case CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE:
 191                                  _serializeCIMAssociatorNamesRequestMessage(
 192                                      out, (CIMAssociatorNamesRequestMessage*)cimMessage);
 193                                  break;
 194                              case CIM_REFERENCES_REQUEST_MESSAGE:
 195                                  _serializeCIMReferencesRequestMessage(
 196                                      out, (CIMReferencesRequestMessage*)cimMessage);
 197                                  break;
 198                              case CIM_REFERENCE_NAMES_REQUEST_MESSAGE:
 199                                  _serializeCIMReferenceNamesRequestMessage(
 200                                      out, (CIMReferenceNamesRequestMessage*)cimMessage);
 201                                  break;
 202                      
 203                              // Method operations
 204                              case CIM_INVOKE_METHOD_REQUEST_MESSAGE:
 205                                  _serializeCIMInvokeMethodRequestMessage(
 206                                      out, (CIMInvokeMethodRequestMessage*)cimMessage);
 207 kumpf           1.1              break;
 208                      
 209                              default:
 210                                  PEGASUS_ASSERT(0);
 211                              }
 212                      
 213                              XmlWriter::append(out, "</PGOPREQ>");
 214                          }
 215                          else if (cimIndReqMessage)
 216                          {
 217                              XmlWriter::append(out, "<PGINDREQ>");
 218                      
 219 kumpf           1.32         _serializeUserInfo(
 220                                  out, cimIndReqMessage->authType, cimIndReqMessage->userName);
 221                      
 222 kumpf           1.1          switch (cimMessage->getType())
 223                              {
 224                              case CIM_CREATE_SUBSCRIPTION_REQUEST_MESSAGE:
 225                                  _serializeCIMCreateSubscriptionRequestMessage(
 226                                      out, (CIMCreateSubscriptionRequestMessage*)cimMessage);
 227                                  break;
 228                              case CIM_MODIFY_SUBSCRIPTION_REQUEST_MESSAGE:
 229                                  _serializeCIMModifySubscriptionRequestMessage(
 230                                      out, (CIMModifySubscriptionRequestMessage*)cimMessage);
 231                                  break;
 232                              case CIM_DELETE_SUBSCRIPTION_REQUEST_MESSAGE:
 233                                  _serializeCIMDeleteSubscriptionRequestMessage(
 234                                      out, (CIMDeleteSubscriptionRequestMessage*)cimMessage);
 235                                  break;
 236                              default:
 237                                  PEGASUS_ASSERT(0);
 238                              }
 239                      
 240                              XmlWriter::append(out, "</PGINDREQ>");
 241                          }
 242                          else    // Other message types
 243 kumpf           1.1      {
 244                              XmlWriter::append(out, "<PGOTHERREQ>");
 245                      
 246                              switch (cimMessage->getType())
 247                              {
 248                              case CIM_EXPORT_INDICATION_REQUEST_MESSAGE:
 249                                  _serializeCIMExportIndicationRequestMessage(
 250                                      out, (CIMExportIndicationRequestMessage*)cimMessage);
 251                                  break;
 252                              case CIM_PROCESS_INDICATION_REQUEST_MESSAGE:
 253                                  _serializeCIMProcessIndicationRequestMessage(
 254                                      out, (CIMProcessIndicationRequestMessage*)cimMessage);
 255                                  break;
 256 kumpf           1.27         //case CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE:
 257 kumpf           1.1              // ATTN: No need to serialize this yet
 258                                  //_serializeCIMNotifyProviderRegistrationRequestMessage(
 259                                  //    out, (CIMNotifyProviderRegistrationRequestMessage*)cimMessage);
 260                                  break;
 261 kumpf           1.27         //case CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE:
 262 kumpf           1.1              // ATTN: No need to serialize this yet
 263                                  //_serializeCIMNotifyProviderTerminationRequestMessage(
 264                                  //    out, (CIMNotifyProviderTerminationRequestMessage*)cimMessage);
 265                                  break;
 266 kumpf           1.27         //case CIM_HANDLE_INDICATION_REQUEST_MESSAGE:
 267 kumpf           1.1              // ATTN: No need to serialize this yet
 268                                  //_serializeCIMHandleIndicationRequestMessage(
 269                                  //    out, (CIMHandleIndicationRequestMessage*)cimMessage);
 270                                  break;
 271                              case CIM_DISABLE_MODULE_REQUEST_MESSAGE:
 272                                  _serializeCIMDisableModuleRequestMessage(
 273                                      out, (CIMDisableModuleRequestMessage*)cimMessage);
 274                                  break;
 275                              case CIM_ENABLE_MODULE_REQUEST_MESSAGE:
 276                                  _serializeCIMEnableModuleRequestMessage(
 277                                      out, (CIMEnableModuleRequestMessage*)cimMessage);
 278                                  break;
 279 kumpf           1.27         //case CIM_NOTIFY_PROVIDER_ENABLE_REQUEST_MESSAGE:
 280 kumpf           1.1              // ATTN: No need to serialize this yet
 281                                  //_serializeCIMNotifyProviderEnableRequestMessage(
 282                                  //    out, (CIMNotifyProviderEnableRequestMessage*)cimMessage);
 283                                  break;
 284 carolann.graves 1.31         //case CIM_NOTIFY_PROVIDER_FAIL_REQUEST_MESSAGE:
 285                                  // ATTN: No need to serialize this yet
 286                                  //_serializeCIMNotifyProviderFailRequestMessage(
 287                                  //    out, (CIMNotifyProviderFailRequestMessage*)cimMessage);
 288                                  //break;
 289 kumpf           1.1          case CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE:
 290                                  _serializeCIMStopAllProvidersRequestMessage(
 291                                      out, (CIMStopAllProvidersRequestMessage*)cimMessage);
 292                                  break;
 293 kumpf           1.2          case CIM_INITIALIZE_PROVIDER_REQUEST_MESSAGE:
 294                                  _serializeCIMInitializeProviderRequestMessage(
 295                                      out, (CIMInitializeProviderRequestMessage*)cimMessage);
 296                                  break;
 297 kumpf           1.7          case CIM_INITIALIZE_PROVIDER_AGENT_REQUEST_MESSAGE:
 298                                  _serializeCIMInitializeProviderAgentRequestMessage(
 299                                      out, (CIMInitializeProviderAgentRequestMessage*)cimMessage);
 300                                  break;
 301 kumpf           1.2  
 302 kumpf           1.8          case CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE:
 303                                  _serializeCIMNotifyConfigChangeRequestMessage(
 304                                      out, (CIMNotifyConfigChangeRequestMessage*)cimMessage);
 305                                  break;
 306                      
 307 carolann.graves 1.21         case CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE:
 308                                  _serializeCIMSubscriptionInitCompleteRequestMessage(
 309                                      out, 
 310                                      (CIMSubscriptionInitCompleteRequestMessage *)
 311                                      cimMessage);
 312                                  break;
 313                      
 314 kumpf           1.1          default:
 315                                  PEGASUS_ASSERT(0);
 316                              }
 317                      
 318                              XmlWriter::append(out, "</PGOTHERREQ>");
 319                          }
 320                      
 321                          XmlWriter::append(out, "</PGREQ>");
 322                      }
 323                      
 324                      //
 325                      // _serializeCIMResponseMessage
 326                      //
 327                      void CIMMessageSerializer::_serializeCIMResponseMessage(
 328 mike            1.22     Buffer& out,
 329 kumpf           1.1      CIMResponseMessage* cimMessage)
 330                      {
 331                          PEGASUS_ASSERT(cimMessage != 0);
 332                      
 333                          XmlWriter::append(out, "<PGRESP>\n");
 334                      
 335                          _serializeQueueIdStack(out, cimMessage->queueIds);
 336                          _serializeCIMException(out, cimMessage->cimException);
 337                      
 338                          switch (cimMessage->getType())
 339                          {
 340                              //
 341                              // CIM Operation Response Messages
 342                              //
 343                      
 344 kumpf           1.27         // A provider cannot implement these operation types, so the
 345                              // serialization of these messages is not implemented.
 346                              //case CIM_GET_CLASS_RESPONSE_MESSAGE:
 347                              //case CIM_DELETE_CLASS_RESPONSE_MESSAGE:
 348                              //case CIM_CREATE_CLASS_RESPONSE_MESSAGE:
 349                              //case CIM_MODIFY_CLASS_RESPONSE_MESSAGE:
 350                              //case CIM_ENUMERATE_CLASSES_RESPONSE_MESSAGE:
 351                              //case CIM_ENUMERATE_CLASS_NAMES_RESPONSE_MESSAGE:
 352                              //case CIM_GET_QUALIFIER_RESPONSE_MESSAGE:
 353                              //case CIM_SET_QUALIFIER_RESPONSE_MESSAGE:
 354                              //case CIM_DELETE_QUALIFIER_RESPONSE_MESSAGE:
 355                              //case CIM_ENUMERATE_QUALIFIERS_RESPONSE_MESSAGE:
 356 kumpf           1.1  
 357                              // Instance operations
 358                              case CIM_GET_INSTANCE_RESPONSE_MESSAGE:
 359                                  _serializeCIMGetInstanceResponseMessage(
 360                                      out, (CIMGetInstanceResponseMessage*)cimMessage);
 361                                  break;
 362                              case CIM_DELETE_INSTANCE_RESPONSE_MESSAGE:
 363                                  _serializeCIMDeleteInstanceResponseMessage(
 364                                      out, (CIMDeleteInstanceResponseMessage*)cimMessage);
 365                                  break;
 366                              case CIM_CREATE_INSTANCE_RESPONSE_MESSAGE:
 367                                  _serializeCIMCreateInstanceResponseMessage(
 368                                      out, (CIMCreateInstanceResponseMessage*)cimMessage);
 369                                  break;
 370                              case CIM_MODIFY_INSTANCE_RESPONSE_MESSAGE:
 371                                  _serializeCIMModifyInstanceResponseMessage(
 372                                      out, (CIMModifyInstanceResponseMessage*)cimMessage);
 373                                  break;
 374                              case CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE:
 375                                  _serializeCIMEnumerateInstancesResponseMessage(
 376                                      out, (CIMEnumerateInstancesResponseMessage*)cimMessage);
 377 kumpf           1.1              break;
 378                              case CIM_ENUMERATE_INSTANCE_NAMES_RESPONSE_MESSAGE:
 379                                  _serializeCIMEnumerateInstanceNamesResponseMessage(
 380                                      out, (CIMEnumerateInstanceNamesResponseMessage*)cimMessage);
 381                                  break;
 382                              case CIM_EXEC_QUERY_RESPONSE_MESSAGE:
 383                                  _serializeCIMExecQueryResponseMessage(
 384                                      out, (CIMExecQueryResponseMessage*)cimMessage);
 385                                  break;
 386                      
 387                              // Property operations
 388                              case CIM_GET_PROPERTY_RESPONSE_MESSAGE:
 389                                  _serializeCIMGetPropertyResponseMessage(
 390                                      out, (CIMGetPropertyResponseMessage*)cimMessage);
 391                                  break;
 392                              case CIM_SET_PROPERTY_RESPONSE_MESSAGE:
 393                                  _serializeCIMSetPropertyResponseMessage(
 394                                      out, (CIMSetPropertyResponseMessage*)cimMessage);
 395                                  break;
 396                      
 397                              // Association operations
 398 kumpf           1.1          case CIM_ASSOCIATORS_RESPONSE_MESSAGE:
 399                                  _serializeCIMAssociatorsResponseMessage(
 400                                      out, (CIMAssociatorsResponseMessage*)cimMessage);
 401                                  break;
 402                              case CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE:
 403                                  _serializeCIMAssociatorNamesResponseMessage(
 404                                      out, (CIMAssociatorNamesResponseMessage*)cimMessage);
 405                                  break;
 406                              case CIM_REFERENCES_RESPONSE_MESSAGE:
 407                                  _serializeCIMReferencesResponseMessage(
 408                                      out, (CIMReferencesResponseMessage*)cimMessage);
 409                                  break;
 410                              case CIM_REFERENCE_NAMES_RESPONSE_MESSAGE:
 411                                  _serializeCIMReferenceNamesResponseMessage(
 412                                      out, (CIMReferenceNamesResponseMessage*)cimMessage);
 413                                  break;
 414                      
 415                              // Method operations
 416                              case CIM_INVOKE_METHOD_RESPONSE_MESSAGE:
 417                                  _serializeCIMInvokeMethodResponseMessage(
 418                                      out, (CIMInvokeMethodResponseMessage*)cimMessage);
 419 kumpf           1.1              break;
 420                      
 421                              //
 422                              // CIM Indication Response Messages
 423                              //
 424                      
 425                              case CIM_CREATE_SUBSCRIPTION_RESPONSE_MESSAGE:
 426                                  _serializeCIMCreateSubscriptionResponseMessage(
 427                                      out, (CIMCreateSubscriptionResponseMessage*)cimMessage);
 428                                  break;
 429                              case CIM_MODIFY_SUBSCRIPTION_RESPONSE_MESSAGE:
 430                                  _serializeCIMModifySubscriptionResponseMessage(
 431                                      out, (CIMModifySubscriptionResponseMessage*)cimMessage);
 432                                  break;
 433                              case CIM_DELETE_SUBSCRIPTION_RESPONSE_MESSAGE:
 434                                  _serializeCIMDeleteSubscriptionResponseMessage(
 435                                      out, (CIMDeleteSubscriptionResponseMessage*)cimMessage);
 436                                  break;
 437                      
 438                              //
 439                              // Other CIM Response Messages
 440 kumpf           1.1          //
 441                      
 442                              case CIM_EXPORT_INDICATION_RESPONSE_MESSAGE:
 443                                  _serializeCIMExportIndicationResponseMessage(
 444                                      out, (CIMExportIndicationResponseMessage*)cimMessage);
 445                                  break;
 446                              case CIM_PROCESS_INDICATION_RESPONSE_MESSAGE:
 447                                  _serializeCIMProcessIndicationResponseMessage(
 448                                      out, (CIMProcessIndicationResponseMessage*)cimMessage);
 449                                  break;
 450 kumpf           1.27         //case CIM_NOTIFY_PROVIDER_REGISTRATION_RESPONSE_MESSAGE:
 451 kumpf           1.1              // ATTN: No need to serialize this yet
 452                                  //_serializeCIMNotifyProviderRegistrationResponseMessage(
 453                                  //    out, (CIMNotifyProviderRegistrationResponseMessage*)cimMessage);
 454                                  break;
 455 kumpf           1.27         //case CIM_NOTIFY_PROVIDER_TERMINATION_RESPONSE_MESSAGE:
 456 kumpf           1.1              // ATTN: No need to serialize this yet
 457                                  //_serializeCIMNotifyProviderTerminationResponseMessage(
 458                                  //    out, (CIMNotifyProviderTerminationResponseMessage*)cimMessage);
 459                                  break;
 460 kumpf           1.27         //case CIM_HANDLE_INDICATION_RESPONSE_MESSAGE:
 461 kumpf           1.1              // ATTN: No need to serialize this yet
 462                                  //_serializeCIMHandleIndicationResponseMessage(
 463                                  //    out, (CIMHandleIndicationResponseMessage*)cimMessage);
 464                                  break;
 465                              case CIM_DISABLE_MODULE_RESPONSE_MESSAGE:
 466                                  _serializeCIMDisableModuleResponseMessage(
 467                                      out, (CIMDisableModuleResponseMessage*)cimMessage);
 468                                  break;
 469                              case CIM_ENABLE_MODULE_RESPONSE_MESSAGE:
 470                                  _serializeCIMEnableModuleResponseMessage(
 471                                      out, (CIMEnableModuleResponseMessage*)cimMessage);
 472                                  break;
 473 kumpf           1.27         //case CIM_NOTIFY_PROVIDER_ENABLE_RESPONSE_MESSAGE:
 474 kumpf           1.1              // ATTN: No need to serialize this yet
 475                                  //_serializeCIMNotifyProviderEnableResponseMessage(
 476                                  //    out, (CIMNotifyProviderEnableResponseMessage*)cimMessage);
 477                                  break;
 478 carolann.graves 1.31         //case CIM_NOTIFY_PROVIDER_FAIL_RESPONSE_MESSAGE:
 479                                  // ATTN: No need to serialize this yet
 480                                  //_serializeCIMNotifyProviderFailResponseMessage(
 481                                  //    out, (CIMNotifyProviderFailResponseMessage*)cimMessage);
 482                                  //break;
 483 kumpf           1.1          case CIM_STOP_ALL_PROVIDERS_RESPONSE_MESSAGE:
 484                                  _serializeCIMStopAllProvidersResponseMessage(
 485                                      out, (CIMStopAllProvidersResponseMessage*)cimMessage);
 486                                  break;
 487 kumpf           1.2          case CIM_INITIALIZE_PROVIDER_RESPONSE_MESSAGE:
 488                                  _serializeCIMInitializeProviderResponseMessage(
 489                                      out, (CIMInitializeProviderResponseMessage*)cimMessage);
 490                                  break;
 491 kumpf           1.7          case CIM_INITIALIZE_PROVIDER_AGENT_RESPONSE_MESSAGE:
 492                                  _serializeCIMInitializeProviderAgentResponseMessage(
 493                                      out, (CIMInitializeProviderAgentResponseMessage*)cimMessage);
 494                                  break;
 495 kumpf           1.8          case CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE:
 496                                  _serializeCIMNotifyConfigChangeResponseMessage(
 497                                      out, (CIMNotifyConfigChangeResponseMessage*)cimMessage);
 498                                  break;
 499 carolann.graves 1.21         case CIM_SUBSCRIPTION_INIT_COMPLETE_RESPONSE_MESSAGE:
 500                                  _serializeCIMSubscriptionInitCompleteResponseMessage(
 501                                      out, 
 502                                      (CIMSubscriptionInitCompleteResponseMessage *)
 503                                      cimMessage);
 504                                  break;
 505 kumpf           1.2  
 506 kumpf           1.1          default:
 507                                  PEGASUS_ASSERT(0);
 508                          }
 509                      
 510                          XmlWriter::append(out, "</PGRESP>");
 511                      }
 512                      
 513                      
 514                      //
 515                      // Utility Methods
 516                      //
 517                      
 518                      //
 519                      // _serializeUserInfo consolidates encoding of these common message attributes
 520                      //
 521                      void CIMMessageSerializer::_serializeUserInfo(
 522 mike            1.22     Buffer& out,
 523 kumpf           1.1      const String& authType,
 524                          const String& userName)
 525                      {
 526                          XmlWriter::appendValueElement(out, authType);
 527                          XmlWriter::appendValueElement(out, userName);
 528                      }
 529                      
 530                      //
 531                      // _serializeQueueIdStack
 532                      //
 533                      void CIMMessageSerializer::_serializeQueueIdStack(
 534 mike            1.22     Buffer& out,
 535 kumpf           1.1      const QueueIdStack& queueIdStack)
 536                      {
 537                          QueueIdStack stackCopy = queueIdStack;
 538                      
 539                          // Use a PGQIDSTACK element to encapsulate the QueueIdStack encoding
 540                          XmlWriter::append(out, "<PGQIDSTACK>\n");
 541                          while (!stackCopy.isEmpty())
 542                          {
 543                              Uint32 item = stackCopy.top();
 544                              stackCopy.pop();
 545                              XmlWriter::appendValueElement(out, item);
 546                          }
 547                          XmlWriter::append(out, "</PGQIDSTACK>\n");
 548                      }
 549                      
 550                      //
 551                      // _serializeOperationContext
 552                      //
 553                      void CIMMessageSerializer::_serializeOperationContext(
 554 mike            1.22     Buffer& out,
 555 kumpf           1.1      const OperationContext& operationContext)
 556                      {
 557 kumpf           1.13     // Use a PGOP element to encapsulate the OperationContext encoding
 558 kumpf           1.1      XmlWriter::append(out, "<PGOC>\n");
 559                      
 560                          // Note: OperationContext class does not allow iteration through Containers
 561                      
 562 a.dunfey        1.33     if(operationContext.contains(IdentityContainer::NAME))
 563 kumpf           1.1      {
 564                              const IdentityContainer container =
 565                                  operationContext.get(IdentityContainer::NAME);
 566                      
 567                              XmlWriter::append(out, "<PGOCID>\n");
 568                              XmlWriter::appendValueElement(out, container.getUserName());
 569                              XmlWriter::append(out, "</PGOCID>\n");
 570                          }
 571                      
 572 a.dunfey        1.33     if(operationContext.contains(SubscriptionInstanceContainer::NAME))
 573 kumpf           1.1      {
 574                              const SubscriptionInstanceContainer container =
 575                                  operationContext.get(SubscriptionInstanceContainer::NAME);
 576                      
 577                              XmlWriter::append(out, "<PGOCSI>\n");
 578                              _serializeCIMInstance(out, container.getInstance());
 579                              XmlWriter::append(out, "</PGOCSI>\n");
 580                          }
 581                      
 582 a.dunfey        1.33     if(operationContext.contains(SubscriptionFilterConditionContainer::NAME))
 583 kumpf           1.1      {
 584                              const SubscriptionFilterConditionContainer container =
 585                                  operationContext.get(SubscriptionFilterConditionContainer::NAME);
 586                      
 587                              XmlWriter::append(out, "<PGOCSFC>\n");
 588                              XmlWriter::appendValueElement(out, container.getFilterCondition());
 589                              XmlWriter::appendValueElement(out, container.getQueryLanguage());
 590                              XmlWriter::append(out, "</PGOCSFC>\n");
 591                          }
 592                      
 593 a.dunfey        1.33     if(operationContext.contains(SubscriptionFilterQueryContainer::NAME))
 594 kumpf           1.1      {
 595 chuck           1.17         const SubscriptionFilterQueryContainer container =
 596                                  operationContext.get(SubscriptionFilterQueryContainer::NAME);
 597                      
 598                              XmlWriter::append(out, "<PGOCSFQ>\n");
 599                              XmlWriter::appendValueElement(out, container.getFilterQuery());
 600                              XmlWriter::appendValueElement(out, container.getQueryLanguage());
 601                              _serializeCIMNamespaceName(out, container.getSourceNameSpace());
 602                              XmlWriter::append(out, "</PGOCSFQ>\n");
 603                          }
 604                      
 605 a.dunfey        1.33     if(operationContext.contains(SubscriptionInstanceNamesContainer::NAME))
 606 chuck           1.17     {
 607 kumpf           1.1          const SubscriptionInstanceNamesContainer container =
 608                                  operationContext.get(SubscriptionInstanceNamesContainer::NAME);
 609                      
 610                              XmlWriter::append(out, "<PGOCSIN>\n");
 611                      
 612                              Array<CIMObjectPath> cimObjectPaths = container.getInstanceNames();
 613                              for (Uint32 i=0; i < cimObjectPaths.size(); i++)
 614                              {
 615                                  _serializeCIMObjectPath(out, cimObjectPaths[i]);
 616                              }
 617                      
 618                              XmlWriter::append(out, "</PGOCSIN>\n");
 619                          }
 620                      
 621 a.dunfey        1.33     if(operationContext.contains(TimeoutContainer::NAME))
 622 kumpf           1.1      {
 623                              const TimeoutContainer container =
 624                                  operationContext.get(TimeoutContainer::NAME);
 625                      
 626                              XmlWriter::append(out, "<PGOCTO>\n");
 627                              XmlWriter::appendValueElement(out, container.getTimeOut());
 628                              XmlWriter::append(out, "</PGOCTO>\n");
 629                          }
 630                      
 631 a.dunfey        1.33     if(operationContext.contains(AcceptLanguageListContainer::NAME))
 632 kumpf           1.1      {
 633                              const AcceptLanguageListContainer container =
 634                                  operationContext.get(AcceptLanguageListContainer::NAME);
 635                      
 636                              XmlWriter::append(out, "<PGOCALL>\n");
 637 kumpf           1.25         _serializeAcceptLanguageList(out, container.getLanguages());
 638 kumpf           1.1          XmlWriter::append(out, "</PGOCALL>\n");
 639                          }
 640                      
 641 a.dunfey        1.33     if(operationContext.contains(ContentLanguageListContainer::NAME))
 642 kumpf           1.1      {
 643                              const ContentLanguageListContainer container =
 644                                  operationContext.get(ContentLanguageListContainer::NAME);
 645                      
 646                              XmlWriter::append(out, "<PGOCCLL>\n");
 647 kumpf           1.25         _serializeContentLanguageList(out, container.getLanguages());
 648 kumpf           1.1          XmlWriter::append(out, "</PGOCCLL>\n");
 649                          }
 650                      
 651 a.dunfey        1.33     if(operationContext.contains(SnmpTrapOidContainer::NAME))
 652 kumpf           1.1      {
 653                              const SnmpTrapOidContainer container =
 654                                  operationContext.get(SnmpTrapOidContainer::NAME);
 655                      
 656                              XmlWriter::append(out, "<PGOCSTO>\n");
 657                              XmlWriter::appendValueElement(out, container.getSnmpTrapOid());
 658                              XmlWriter::append(out, "</PGOCSTO>\n");
 659                          }
 660                      
 661 a.dunfey        1.33     if(operationContext.contains(LocaleContainer::NAME))
 662 kumpf           1.1      {
 663                              const LocaleContainer container =
 664                                  operationContext.get(LocaleContainer::NAME);
 665                      
 666                              XmlWriter::append(out, "<PGOCL>\n");
 667                              XmlWriter::appendValueElement(out, container.getLanguageId());
 668                              XmlWriter::append(out, "</PGOCL>\n");
 669                          }
 670                      
 671 a.dunfey        1.33     if(operationContext.contains(ProviderIdContainer::NAME))
 672 kumpf           1.1      {
 673                              const ProviderIdContainer container =
 674                                  operationContext.get(ProviderIdContainer::NAME);
 675                      
 676                              XmlWriter::append(out, "<PGOCPI>\n");
 677                              _serializeCIMInstance(out, container.getModule());
 678                              _serializeCIMInstance(out, container.getProvider());
 679 kumpf           1.11         XmlWriter::appendValueElement(out, container.isRemoteNameSpace());
 680                              XmlWriter::appendValueElement(out, container.getRemoteInfo());
 681 kumpf           1.1          XmlWriter::append(out, "</PGOCPI>\n");
 682                          }
 683                      
 684                          XmlWriter::append(out, "</PGOC>\n");
 685                      }
 686                      
 687                      //
 688 kumpf           1.25 // _serializeContentLanguageList
 689 kumpf           1.1  //
 690 kumpf           1.25 void CIMMessageSerializer::_serializeContentLanguageList(
 691 mike            1.22     Buffer& out,
 692 kumpf           1.25     const ContentLanguageList& contentLanguages)
 693 kumpf           1.1  {
 694 kumpf           1.25     // Use a PGCONTLANGS element to encapsulate the ContentLanguageList
 695                          // encoding
 696 kumpf           1.1      XmlWriter::append(out, "<PGCONTLANGS>\n");
 697 kumpf           1.24     for (Uint32 i=0; i < contentLanguages.size(); i++)
 698 kumpf           1.1      {
 699 kumpf           1.24         XmlWriter::appendValueElement(
 700                                  out, contentLanguages.getLanguageTag(i).toString());
 701 kumpf           1.1      }
 702                          XmlWriter::append(out, "</PGCONTLANGS>\n");
 703                      }
 704                      
 705                      //
 706 kumpf           1.25 // _serializeAcceptLanguageList
 707 kumpf           1.1  //
 708 kumpf           1.25 void CIMMessageSerializer::_serializeAcceptLanguageList(
 709 mike            1.22     Buffer& out,
 710 kumpf           1.25     const AcceptLanguageList& acceptLanguages)
 711 kumpf           1.1  {
 712 kumpf           1.25     // Use a PGACCLANGS element to encapsulate the AcceptLanguageList encoding
 713 kumpf           1.1      XmlWriter::append(out, "<PGACCLANGS>\n");
 714 kumpf           1.24     for (Uint32 i=0; i < acceptLanguages.size(); i++)
 715 kumpf           1.1      {
 716 kumpf           1.24         XmlWriter::appendValueElement(
 717                                  out, acceptLanguages.getLanguageTag(i).toString());
 718                              XmlWriter::appendValueElement(out, acceptLanguages.getQualityValue(i));
 719 kumpf           1.1      }
 720                          XmlWriter::append(out, "</PGACCLANGS>\n");
 721                      }
 722                      
 723                      //
 724                      // _serializeCIMException
 725                      //
 726                      void CIMMessageSerializer::_serializeCIMException(
 727 mike            1.22     Buffer& out,
 728 kumpf           1.1      const CIMException& cimException)
 729                      {
 730 kumpf           1.9      TraceableCIMException e(cimException);
 731 kumpf           1.1  
 732                          // Use a PGCIMEXC element to encapsulate the CIMException encoding
 733 kumpf           1.9      // (Note: This is not truly necessary and could be removed.)
 734 kumpf           1.1      XmlWriter::append(out, "<PGCIMEXC>\n");
 735 kumpf           1.9  
 736                          XmlWriter::appendValueElement(out, Uint32(e.getCode()));
 737                          XmlWriter::appendValueElement(out, e.getMessage());
 738                          XmlWriter::appendValueElement(out, e.getCIMMessage());
 739                          XmlWriter::appendValueElement(out, e.getFile());
 740                          XmlWriter::appendValueElement(out, e.getLine());
 741 kumpf           1.25     _serializeContentLanguageList(out, e.getContentLanguages());
 742 kumpf           1.9  
 743 kumpf           1.1      XmlWriter::append(out, "</PGCIMEXC>\n");
 744                      }
 745                      
 746                      //
 747 jenny.yu        1.19 // _serializeCIMPropertyList
 748 kumpf           1.1  //
 749                      void CIMMessageSerializer::_serializeCIMPropertyList(
 750 mike            1.22     Buffer& out,
 751 kumpf           1.1      const CIMPropertyList& cimPropertyList)
 752                      {
 753                          // Need IPARAMVALUE wrapper because the value can be null.
 754                          XmlWriter::appendPropertyListIParameter(out, cimPropertyList);
 755                      }
 756                      
 757                      //
 758                      // _serializeCIMObjectPath
 759                      //
 760                      void CIMMessageSerializer::_serializeCIMObjectPath(
 761 mike            1.22     Buffer& out,
 762 kumpf           1.1      const CIMObjectPath& cimObjectPath)
 763                      {
 764                          // Use a PGPATH element to encapsulate the CIMObjectPath encoding
 765                          // to account for uninitialized objects
 766                          XmlWriter::append(out, "<PGPATH>\n");
 767                          if (!cimObjectPath.getClassName().isNull())
 768                          {
 769                              XmlWriter::appendValueReferenceElement(out, cimObjectPath, true);
 770                          }
 771                          XmlWriter::append(out, "</PGPATH>\n");
 772                      }
 773                      
 774                      //
 775                      // _serializeCIMInstance
 776                      //
 777                      void CIMMessageSerializer::_serializeCIMInstance(
 778 mike            1.22     Buffer& out,
 779 kumpf           1.1      const CIMInstance& cimInstance)
 780                      {
 781                          // Use a PGINST element to encapsulate the CIMInstance encoding
 782                          // to account for uninitialized objects
 783                          XmlWriter::append(out, "<PGINST>\n");
 784                          if (!cimInstance.isUninitialized())
 785                          {
 786 jenny.yu        1.19         XmlWriter::appendInstanceElement(out, cimInstance);
 787                              _serializeCIMObjectPath(out, cimInstance.getPath());
 788 kumpf           1.1      }
 789                          XmlWriter::append(out, "</PGINST>\n");
 790                      }
 791                      
 792                      //
 793                      // _serializeCIMNamespaceName
 794                      //
 795                      void CIMMessageSerializer::_serializeCIMNamespaceName(
 796 mike            1.22     Buffer& out,
 797 kumpf           1.1      const CIMNamespaceName& cimNamespaceName)
 798                      {
 799                          // Encode CIMNamespaceName as a String for efficiency and so that null
 800                          // values can be handled
 801                          XmlWriter::appendValueElement(out, cimNamespaceName.getString());
 802                      }
 803                      
 804                      //
 805                      // _serializeCIMName
 806                      //
 807                      void CIMMessageSerializer::_serializeCIMName(
 808 mike            1.22     Buffer& out,
 809 kumpf           1.1      const CIMName& cimName)
 810                      {
 811                          // Encode CIMName as a String so that null values can be handled
 812                          XmlWriter::appendValueElement(out, cimName.getString());
 813                      }
 814                      
 815 jenny.yu        1.19 //
 816                      // _serializeCIMObject
 817                      //
 818                      void CIMMessageSerializer::_serializeCIMObject(
 819 mike            1.22     Buffer& out,
 820 jenny.yu        1.19     const CIMObject& object)
 821                      {
 822                          // Use a PGOBJ element to encapsulate the CIMObject encoding
 823                          // to account for uninitialized objects
 824                          XmlWriter::append(out, "<PGOBJ>\n");
 825                          if (!object.isUninitialized())
 826                          {
 827                              XmlWriter::appendObjectElement(out, object);
 828                              _serializeCIMObjectPath(out, object.getPath());
 829                          }
 830                          XmlWriter::append(out, "</PGOBJ>\n");
 831                      }
 832 kumpf           1.1  
 833                      //
 834                      //
 835                      // Request Messages
 836                      //
 837                      //
 838                      
 839                      //
 840                      //
 841                      // CIMOperationRequestMessages
 842                      //
 843                      //
 844                      
 845                      //
 846                      // _serializeCIMGetInstanceRequestMessage
 847                      //
 848                      void CIMMessageSerializer::_serializeCIMGetInstanceRequestMessage(
 849 mike            1.22     Buffer& out,
 850 kumpf           1.1      CIMGetInstanceRequestMessage* message)
 851                      {
 852                          _serializeCIMObjectPath(out, message->instanceName);
 853                          XmlWriter::appendValueElement(out, message->localOnly);
 854                          XmlWriter::appendValueElement(out, message->includeQualifiers);
 855                          XmlWriter::appendValueElement(out, message->includeClassOrigin);
 856                          _serializeCIMPropertyList(out, message->propertyList);
 857                      }
 858                      
 859                      //
 860                      // _serializeCIMDeleteInstanceRequestMessage
 861                      //
 862                      void CIMMessageSerializer::_serializeCIMDeleteInstanceRequestMessage(
 863 mike            1.22     Buffer& out,
 864 kumpf           1.1      CIMDeleteInstanceRequestMessage* message)
 865                      {
 866                          _serializeCIMObjectPath(out, message->instanceName);
 867                      }
 868                      
 869                      //
 870                      // _serializeCIMCreateInstanceRequestMessage
 871                      //
 872                      void CIMMessageSerializer::_serializeCIMCreateInstanceRequestMessage(
 873 mike            1.22     Buffer& out,
 874 kumpf           1.1      CIMCreateInstanceRequestMessage* message)
 875                      {
 876                          _serializeCIMInstance(out, message->newInstance);
 877                      }
 878                      
 879                      //
 880                      // _serializeCIMModifyInstanceRequestMessage
 881                      //
 882                      void CIMMessageSerializer::_serializeCIMModifyInstanceRequestMessage(
 883 mike            1.22     Buffer& out,
 884 kumpf           1.1      CIMModifyInstanceRequestMessage* message)
 885                      {
 886                          _serializeCIMInstance(out, message->modifiedInstance);
 887                          XmlWriter::appendValueElement(out, message->includeQualifiers);
 888                          _serializeCIMPropertyList(out, message->propertyList);
 889                      }
 890                      
 891                      //
 892                      // _serializeCIMEnumerateInstancesRequestMessage
 893                      //
 894                      void CIMMessageSerializer::_serializeCIMEnumerateInstancesRequestMessage(
 895 mike            1.22     Buffer& out,
 896 kumpf           1.1      CIMEnumerateInstancesRequestMessage* message)
 897                      {
 898                          XmlWriter::appendValueElement(out, message->deepInheritance);
 899                          XmlWriter::appendValueElement(out, message->localOnly);
 900                          XmlWriter::appendValueElement(out, message->includeQualifiers);
 901                          XmlWriter::appendValueElement(out, message->includeClassOrigin);
 902                          _serializeCIMPropertyList(out, message->propertyList);
 903                      }
 904                      
 905                      //
 906                      // _serializeCIMEnumerateInstanceNamesRequestMessage
 907                      //
 908                      void CIMMessageSerializer::_serializeCIMEnumerateInstanceNamesRequestMessage(
 909 mike            1.22     Buffer& out,
 910 kumpf           1.1      CIMEnumerateInstanceNamesRequestMessage* message)
 911                      {
 912                          // No additional attributes to serialize!
 913                      }
 914                      
 915                      //
 916                      // _serializeCIMExecQueryRequestMessage
 917                      //
 918                      void CIMMessageSerializer::_serializeCIMExecQueryRequestMessage(
 919 mike            1.22     Buffer& out,
 920 kumpf           1.1      CIMExecQueryRequestMessage* message)
 921                      {
 922                          XmlWriter::appendValueElement(out, message->queryLanguage);
 923                          XmlWriter::appendValueElement(out, message->query);
 924                      }
 925                      
 926                      //
 927                      // _serializeCIMAssociatorsRequestMessage
 928                      //
 929                      void CIMMessageSerializer::_serializeCIMAssociatorsRequestMessage(
 930 mike            1.22     Buffer& out,
 931 kumpf           1.1      CIMAssociatorsRequestMessage* message)
 932                      {
 933                          _serializeCIMObjectPath(out, message->objectName);
 934                          _serializeCIMName(out, message->assocClass);
 935                          _serializeCIMName(out, message->resultClass);
 936                          XmlWriter::appendValueElement(out, message->role);
 937                          XmlWriter::appendValueElement(out, message->resultRole);
 938                          XmlWriter::appendValueElement(out, message->includeQualifiers);
 939                          XmlWriter::appendValueElement(out, message->includeClassOrigin);
 940                          _serializeCIMPropertyList(out, message->propertyList);
 941                      }
 942                      
 943                      //
 944                      // _serializeCIMAssociatorNamesRequestMessage
 945                      //
 946                      void CIMMessageSerializer::_serializeCIMAssociatorNamesRequestMessage(
 947 mike            1.22     Buffer& out,
 948 kumpf           1.1      CIMAssociatorNamesRequestMessage* message)
 949                      {
 950                          _serializeCIMObjectPath(out, message->objectName);
 951                          _serializeCIMName(out, message->assocClass);
 952                          _serializeCIMName(out, message->resultClass);
 953                          XmlWriter::appendValueElement(out, message->role);
 954                          XmlWriter::appendValueElement(out, message->resultRole);
 955                      }
 956                      
 957                      //
 958                      // _serializeCIMReferencesRequestMessage
 959                      //
 960                      void CIMMessageSerializer::_serializeCIMReferencesRequestMessage(
 961 mike            1.22     Buffer& out,
 962 kumpf           1.1      CIMReferencesRequestMessage* message)
 963                      {
 964                          _serializeCIMObjectPath(out, message->objectName);
 965                          _serializeCIMName(out, message->resultClass);
 966                          XmlWriter::appendValueElement(out, message->role);
 967                          XmlWriter::appendValueElement(out, message->includeQualifiers);
 968                          XmlWriter::appendValueElement(out, message->includeClassOrigin);
 969                          _serializeCIMPropertyList(out, message->propertyList);
 970                      }
 971                      
 972                      //
 973                      // _serializeCIMReferenceNamesRequestMessage
 974                      //
 975                      void CIMMessageSerializer::_serializeCIMReferenceNamesRequestMessage(
 976 mike            1.22     Buffer& out,
 977 kumpf           1.1      CIMReferenceNamesRequestMessage* message)
 978                      {
 979                          _serializeCIMObjectPath(out, message->objectName);
 980                          _serializeCIMName(out, message->resultClass);
 981                          XmlWriter::appendValueElement(out, message->role);
 982                      }
 983                      
 984                      //
 985                      // _serializeCIMGetPropertyRequestMessage
 986                      //
 987                      void CIMMessageSerializer::_serializeCIMGetPropertyRequestMessage(
 988 mike            1.22     Buffer& out,
 989 kumpf           1.1      CIMGetPropertyRequestMessage* message)
 990                      {
 991                          _serializeCIMObjectPath(out, message->instanceName);
 992                          _serializeCIMName(out, message->propertyName);
 993                      }
 994                      
 995                      //
 996                      // _serializeCIMSetPropertyRequestMessage
 997                      //
 998                      void CIMMessageSerializer::_serializeCIMSetPropertyRequestMessage(
 999 mike            1.22     Buffer& out,
1000 kumpf           1.1      CIMSetPropertyRequestMessage* message)
1001                      {
1002                          _serializeCIMObjectPath(out, message->instanceName);
1003                      
1004                          // Use PARAMVALUE element so we can preserve the CIMType information
1005                          XmlWriter::appendParamValueElement(
1006                              out,
1007                              CIMParamValue(
1008                                  message->propertyName.getString(), message->newValue, true));
1009                      }
1010                      
1011                      //
1012                      // _serializeCIMInvokeMethodRequestMessage
1013                      //
1014                      void CIMMessageSerializer::_serializeCIMInvokeMethodRequestMessage(
1015 mike            1.22     Buffer& out,
1016 kumpf           1.1      CIMInvokeMethodRequestMessage* message)
1017                      {
1018                          _serializeCIMObjectPath(out, message->instanceName);
1019                          _serializeCIMName(out, message->methodName);
1020                      
1021                          // Use PGPARAMS element so we can find the end of the PARAMVALUE elements
1022                          XmlWriter::append(out, "<PGPARAMS>\n");
1023                          for (Uint32 i=0; i < message->inParameters.size(); i++)
1024                          {
1025                              XmlWriter::appendParamValueElement(out, message->inParameters[i]);
1026                          }
1027                          XmlWriter::append(out, "</PGPARAMS>\n");
1028                      }
1029                      
1030                      
1031                      //
1032                      //
1033                      // CIMIndicationRequestMessages
1034                      //
1035                      //
1036                      
1037 kumpf           1.1  //
1038                      // _serializeCIMCreateSubscriptionRequestMessage
1039                      //
1040                      void CIMMessageSerializer::_serializeCIMCreateSubscriptionRequestMessage(
1041 mike            1.22     Buffer& out,
1042 kumpf           1.1      CIMCreateSubscriptionRequestMessage* message)
1043                      {
1044                          _serializeCIMNamespaceName(out, message->nameSpace);
1045                      
1046                          _serializeCIMInstance(out, message->subscriptionInstance);
1047                      
1048                          // Use PGNAMEARRAY element to encapsulate the CIMName elements
1049                          XmlWriter::append(out, "<PGNAMEARRAY>\n");
1050                          for (Uint32 i=0; i < message->classNames.size(); i++)
1051                          {
1052                              _serializeCIMName(out, message->classNames[i]);
1053                          }
1054                          XmlWriter::append(out, "</PGNAMEARRAY>\n");
1055                      
1056                          _serializeCIMPropertyList(out, message->propertyList);
1057                      
1058                          // Encode message->repeatNotificationPolicy as an integer
1059                          XmlWriter::appendValueElement(out, message->repeatNotificationPolicy);
1060                      
1061 kumpf           1.3      XmlWriter::appendValueElement(out, message->query);
1062 kumpf           1.13 }
1063 kumpf           1.1  
1064                      //
1065                      // _serializeCIMModifySubscriptionRequestMessage
1066                      //
1067                      void CIMMessageSerializer::_serializeCIMModifySubscriptionRequestMessage(
1068 mike            1.22     Buffer& out,
1069 kumpf           1.1      CIMModifySubscriptionRequestMessage* message)
1070                      {
1071                          _serializeCIMNamespaceName(out, message->nameSpace);
1072                      
1073                          _serializeCIMInstance(out, message->subscriptionInstance);
1074                      
1075                          // Use PGNAMEARRAY element to encapsulate the CIMName elements
1076                          XmlWriter::append(out, "<PGNAMEARRAY>\n");
1077                          for (Uint32 i=0; i < message->classNames.size(); i++)
1078                          {
1079                              _serializeCIMName(out, message->classNames[i]);
1080                          }
1081                          XmlWriter::append(out, "</PGNAMEARRAY>\n");
1082                      
1083                          _serializeCIMPropertyList(out, message->propertyList);
1084                      
1085                          // Encode message->repeatNotificationPolicy as an integer
1086                          XmlWriter::appendValueElement(out, message->repeatNotificationPolicy);
1087                      
1088 kumpf           1.3      XmlWriter::appendValueElement(out, message->query);
1089 kumpf           1.1  }
1090                      
1091                      //
1092                      // _serializeCIMDeleteSubscriptionRequestMessage
1093                      //
1094                      void CIMMessageSerializer::_serializeCIMDeleteSubscriptionRequestMessage(
1095 mike            1.22     Buffer& out,
1096 kumpf           1.1      CIMDeleteSubscriptionRequestMessage* message)
1097                      {
1098                          _serializeCIMNamespaceName(out, message->nameSpace);
1099                      
1100                          _serializeCIMInstance(out, message->subscriptionInstance);
1101                      
1102                          // Use PGNAMEARRAY element to encapsulate the CIMName elements
1103                          XmlWriter::append(out, "<PGNAMEARRAY>\n");
1104                          for (Uint32 i=0; i < message->classNames.size(); i++)
1105                          {
1106                              _serializeCIMName(out, message->classNames[i]);
1107                          }
1108                          XmlWriter::append(out, "</PGNAMEARRAY>\n");
1109                      }
1110                      
1111                      
1112                      //
1113                      //
1114                      // Other CIMRequestMessages
1115                      //
1116                      //
1117 kumpf           1.1  
1118                      //
1119                      // _serializeCIMExportIndicationRequestMessage
1120                      //
1121                      void CIMMessageSerializer::_serializeCIMExportIndicationRequestMessage(
1122 mike            1.22     Buffer& out,
1123 kumpf           1.1      CIMExportIndicationRequestMessage* message)
1124                      {
1125                          _serializeUserInfo(out, message->authType, message->userName);
1126                      
1127                          XmlWriter::appendValueElement(out, message->destinationPath);
1128                          _serializeCIMInstance(out, message->indicationInstance);
1129                      }
1130                      
1131                      //
1132                      // _serializeCIMProcessIndicationRequestMessage
1133                      //
1134                      void CIMMessageSerializer::_serializeCIMProcessIndicationRequestMessage(
1135 mike            1.22     Buffer& out,
1136 kumpf           1.1      CIMProcessIndicationRequestMessage* message)
1137                      {
1138                          _serializeCIMNamespaceName(out, message->nameSpace);
1139                      
1140                          _serializeCIMInstance(out, message->indicationInstance);
1141                      
1142                          // Use PGPATHARRAY element to encapsulate the object path elements
1143                          XmlWriter::append(out, "<PGPATHARRAY>\n");
1144                          for (Uint32 i=0; i < message->subscriptionInstanceNames.size(); i++)
1145                          {
1146                              _serializeCIMObjectPath(out, message->subscriptionInstanceNames[i]);
1147                          }
1148                          XmlWriter::append(out, "</PGPATHARRAY>\n");
1149                      
1150                          _serializeCIMInstance(out, message->provider);
1151                      }
1152                      
1153                      //
1154                      // _serializeCIMDisableModuleRequestMessage
1155                      //
1156                      void CIMMessageSerializer::_serializeCIMDisableModuleRequestMessage(
1157 mike            1.22     Buffer& out,
1158 kumpf           1.1      CIMDisableModuleRequestMessage* message)
1159                      {
1160                          _serializeUserInfo(out, message->authType, message->userName);
1161                      
1162                          _serializeCIMInstance(out, message->providerModule);
1163                      
1164                          // Use PGINSTARRAY element to encapsulate the CIMInstance elements
1165                          XmlWriter::append(out, "<PGINSTARRAY>\n");
1166                          for (Uint32 i=0; i < message->providers.size(); i++)
1167                          {
1168                              _serializeCIMInstance(out, message->providers[i]);
1169                          }
1170                          XmlWriter::append(out, "</PGINSTARRAY>\n");
1171                      
1172                          XmlWriter::appendValueElement(out, message->disableProviderOnly);
1173                      
1174                          // Use PGBOOLARRAY element to encapsulate the Boolean elements
1175                          XmlWriter::append(out, "<PGBOOLARRAY>\n");
1176                          for (Uint32 i=0; i < message->indicationProviders.size(); i++)
1177                          {
1178                              XmlWriter::appendValueElement(out, message->indicationProviders[i]);
1179 kumpf           1.1      }
1180                          XmlWriter::append(out, "</PGBOOLARRAY>\n");
1181                      }
1182                      
1183                      //
1184                      // _serializeCIMEnableModuleRequestMessage
1185                      //
1186                      void CIMMessageSerializer::_serializeCIMEnableModuleRequestMessage(
1187 mike            1.22     Buffer& out,
1188 kumpf           1.1      CIMEnableModuleRequestMessage* message)
1189                      {
1190                          _serializeUserInfo(out, message->authType, message->userName);
1191                      
1192                          _serializeCIMInstance(out, message->providerModule);
1193                      }
1194                      
1195                      //
1196                      // _serializeCIMStopAllProvidersRequestMessage
1197                      //
1198                      void CIMMessageSerializer::_serializeCIMStopAllProvidersRequestMessage(
1199 mike            1.22     Buffer& out,
1200 kumpf           1.1      CIMStopAllProvidersRequestMessage* message)
1201                      {
1202                          // No additional attributes to serialize!
1203                      }
1204                      
1205 kumpf           1.2  //
1206                      // _serializeCIMInitializeProviderRequestMessage
1207                      //
1208                      void CIMMessageSerializer::_serializeCIMInitializeProviderRequestMessage(
1209 mike            1.22     Buffer& out,
1210 kumpf           1.2      CIMInitializeProviderRequestMessage* message)
1211                      {
1212 kumpf           1.4      // No additional attributes to serialize!
1213 kumpf           1.2  }
1214                      
1215 kumpf           1.7  //
1216                      // _serializeCIMInitializeProviderAgentRequestMessage
1217                      //
1218                      void CIMMessageSerializer::_serializeCIMInitializeProviderAgentRequestMessage(
1219 mike            1.22     Buffer& out,
1220 kumpf           1.7      CIMInitializeProviderAgentRequestMessage* message)
1221                      {
1222                          XmlWriter::appendValueElement(out, message->pegasusHome);
1223                      
1224                          // Use PGCONFARRAY element to encapsulate the config property elements
1225                          XmlWriter::append(out, "<PGCONFARRAY>\n");
1226                          for (Uint32 i=0; i < message->configProperties.size(); i++)
1227                          {
1228                              XmlWriter::appendValueElement(out, message->configProperties[i].first);
1229                              XmlWriter::appendValueElement(out, message->configProperties[i].second);
1230                          }
1231                          XmlWriter::append(out, "</PGCONFARRAY>\n");
1232                      
1233                          XmlWriter::appendValueElement(out, message->bindVerbose);
1234 carolann.graves 1.21 
1235                          XmlWriter::appendValueElement(out, message->subscriptionInitComplete);
1236 kumpf           1.7  }
1237                      
1238 kumpf           1.8  //
1239                      // _serializeCIMNotifyConfigChangeRequestMessage
1240                      //
1241                      void CIMMessageSerializer::_serializeCIMNotifyConfigChangeRequestMessage(
1242 mike            1.22     Buffer& out,
1243 kumpf           1.8      CIMNotifyConfigChangeRequestMessage* message)
1244                      {
1245                          XmlWriter::appendValueElement(out, message->propertyName);
1246                          XmlWriter::appendValueElement(out, message->newPropertyValue);
1247                          XmlWriter::appendValueElement(out, message->currentValueModified);
1248                      }
1249 kumpf           1.1  
1250                      //
1251 carolann.graves 1.21 // _serializeCIMSubscriptionInitCompleteRequestMessage
1252                      //
1253                      void 
1254                      CIMMessageSerializer::_serializeCIMSubscriptionInitCompleteRequestMessage(
1255 mike            1.22     Buffer& out,
1256 carolann.graves 1.21     CIMSubscriptionInitCompleteRequestMessage* message)
1257                      {
1258                          // No additional attributes to serialize!
1259                      }
1260                      
1261                      //
1262 kumpf           1.1  //
1263                      // Response Messages
1264                      //
1265                      //
1266                      
1267                      //
1268                      //
1269                      // CIM Operation Response Messages
1270                      //
1271                      //
1272                      
1273                      //
1274                      // _serializeCIMGetInstanceResponseMessage
1275                      //
1276                      void CIMMessageSerializer::_serializeCIMGetInstanceResponseMessage(
1277 mike            1.22     Buffer& out,
1278 kumpf           1.1      CIMGetInstanceResponseMessage* message)
1279                      {
1280                          _serializeCIMInstance(out, message->cimInstance);
1281                      }
1282                      
1283                      //
1284                      // _serializeCIMDeleteInstanceResponseMessage
1285                      //
1286                      void CIMMessageSerializer::_serializeCIMDeleteInstanceResponseMessage(
1287 mike            1.22     Buffer& out,
1288 kumpf           1.1      CIMDeleteInstanceResponseMessage* message)
1289                      {
1290                          // No additional attributes to serialize!
1291                      }
1292                      
1293                      //
1294                      // _serializeCIMCreateInstanceResponseMessage
1295                      //
1296                      void CIMMessageSerializer::_serializeCIMCreateInstanceResponseMessage(
1297 mike            1.22     Buffer& out,
1298 kumpf           1.1      CIMCreateInstanceResponseMessage* message)
1299                      {
1300                          _serializeCIMObjectPath(out, message->instanceName);
1301                      }
1302                      
1303                      //
1304                      // _serializeCIMModifyInstanceResponseMessage
1305                      //
1306                      void CIMMessageSerializer::_serializeCIMModifyInstanceResponseMessage(
1307 mike            1.22     Buffer& out,
1308 kumpf           1.1      CIMModifyInstanceResponseMessage* message)
1309                      {
1310                          // No additional attributes to serialize!
1311                      }
1312                      
1313                      //
1314                      // _serializeCIMEnumerateInstancesResponseMessage
1315                      //
1316                      void CIMMessageSerializer::_serializeCIMEnumerateInstancesResponseMessage(
1317 mike            1.22     Buffer& out,
1318 kumpf           1.1      CIMEnumerateInstancesResponseMessage* message)
1319                      {
1320                          // Use PGINSTARRAY element to encapsulate the CIMInstance elements
1321                          XmlWriter::append(out, "<PGINSTARRAY>\n");
1322                          for (Uint32 i=0; i < message->cimNamedInstances.size(); i++)
1323                          {
1324                              _serializeCIMInstance(out, message->cimNamedInstances[i]);
1325                          }
1326                          XmlWriter::append(out, "</PGINSTARRAY>\n");
1327                      }
1328                      
1329                      //
1330                      // _serializeCIMEnumerateInstanceNamesResponseMessage
1331                      //
1332                      void CIMMessageSerializer::_serializeCIMEnumerateInstanceNamesResponseMessage(
1333 mike            1.22     Buffer& out,
1334 kumpf           1.1      CIMEnumerateInstanceNamesResponseMessage* message)
1335                      {
1336                          // Use PGPATHARRAY element to encapsulate the object path elements
1337                          XmlWriter::append(out, "<PGPATHARRAY>\n");
1338                          for (Uint32 i=0; i < message->instanceNames.size(); i++)
1339                          {
1340                              _serializeCIMObjectPath(out, message->instanceNames[i]);
1341                          }
1342                          XmlWriter::append(out, "</PGPATHARRAY>\n");
1343                      }
1344                      
1345                      //
1346                      // _serializeCIMExecQueryResponseMessage
1347                      //
1348                      void CIMMessageSerializer::_serializeCIMExecQueryResponseMessage(
1349 mike            1.22     Buffer& out,
1350 kumpf           1.1      CIMExecQueryResponseMessage* message)
1351                      {
1352 jenny.yu        1.19     // Use PGOBJARRAY element to encapsulate the CIMObject elements
1353 kumpf           1.1      XmlWriter::append(out, "<PGOBJARRAY>\n");
1354                          for (Uint32 i=0; i < message->cimObjects.size(); i++)
1355                          {
1356 jenny.yu        1.19         _serializeCIMObject(out, message->cimObjects[i]);
1357 kumpf           1.1      }
1358                          XmlWriter::append(out, "</PGOBJARRAY>\n");
1359                      }
1360                      
1361                      //
1362                      // _serializeCIMAssociatorsResponseMessage
1363                      //
1364                      void CIMMessageSerializer::_serializeCIMAssociatorsResponseMessage(
1365 mike            1.22     Buffer& out,
1366 kumpf           1.1      CIMAssociatorsResponseMessage* message)
1367                      {
1368 jenny.yu        1.19     // Use PGOBJARRAY element to encapsulate the CIMObject elements
1369 kumpf           1.1      XmlWriter::append(out, "<PGOBJARRAY>\n");
1370                          for (Uint32 i=0; i < message->cimObjects.size(); i++)
1371                          {
1372 jenny.yu        1.19         _serializeCIMObject(out, message->cimObjects[i]);
1373 kumpf           1.1      }
1374                          XmlWriter::append(out, "</PGOBJARRAY>\n");
1375                      }
1376                      
1377                      //
1378                      // _serializeCIMAssociatorNamesResponseMessage
1379                      //
1380                      void CIMMessageSerializer::_serializeCIMAssociatorNamesResponseMessage(
1381 mike            1.22     Buffer& out,
1382 kumpf           1.1      CIMAssociatorNamesResponseMessage* message)
1383                      {
1384                          // Use PGPATHARRAY element to encapsulate the object path elements
1385                          XmlWriter::append(out, "<PGPATHARRAY>\n");
1386                          for (Uint32 i=0; i < message->objectNames.size(); i++)
1387                          {
1388                              _serializeCIMObjectPath(out, message->objectNames[i]);
1389                          }
1390                          XmlWriter::append(out, "</PGPATHARRAY>\n");
1391                      }
1392                      
1393                      //
1394                      // _serializeCIMReferencesResponseMessage
1395                      //
1396                      void CIMMessageSerializer::_serializeCIMReferencesResponseMessage(
1397 mike            1.22     Buffer& out,
1398 kumpf           1.1      CIMReferencesResponseMessage* message)
1399                      {
1400 jenny.yu        1.19     // Use PGOBJARRAY element to encapsulate the CIMObject elements
1401 kumpf           1.1      XmlWriter::append(out, "<PGOBJARRAY>\n");
1402                          for (Uint32 i=0; i < message->cimObjects.size(); i++)
1403                          {
1404 jenny.yu        1.19         _serializeCIMObject(out, message->cimObjects[i]);
1405 kumpf           1.1      }
1406                          XmlWriter::append(out, "</PGOBJARRAY>\n");
1407                      }
1408                      
1409                      //
1410                      // _serializeCIMReferenceNamesResponseMessage
1411                      //
1412                      void CIMMessageSerializer::_serializeCIMReferenceNamesResponseMessage(
1413 mike            1.22     Buffer& out,
1414 kumpf           1.1      CIMReferenceNamesResponseMessage* message)
1415                      {
1416                          // Use PGPATHARRAY element to encapsulate the object path elements
1417                          XmlWriter::append(out, "<PGPATHARRAY>\n");
1418                          for (Uint32 i=0; i < message->objectNames.size(); i++)
1419                          {
1420                              _serializeCIMObjectPath(out, message->objectNames[i]);
1421                          }
1422                          XmlWriter::append(out, "</PGPATHARRAY>\n");
1423                      }
1424                      
1425                      //
1426                      // _serializeCIMGetPropertyResponseMessage
1427                      //
1428                      void CIMMessageSerializer::_serializeCIMGetPropertyResponseMessage(
1429 mike            1.22     Buffer& out,
1430 kumpf           1.1      CIMGetPropertyResponseMessage* message)
1431                      {
1432                          // Use PARAMVALUE element so we can preserve the CIMType information
1433                          XmlWriter::appendParamValueElement(
1434                              out,
1435                              CIMParamValue(String("ignore"), message->value, true));
1436                      }
1437                      
1438                      //
1439                      // _serializeCIMSetPropertyResponseMessage
1440                      //
1441                      void CIMMessageSerializer::_serializeCIMSetPropertyResponseMessage(
1442 mike            1.22     Buffer& out,
1443 kumpf           1.1      CIMSetPropertyResponseMessage* message)
1444                      {
1445                          // No additional attributes to serialize!
1446                      }
1447                      
1448                      //
1449                      // _serializeCIMInvokeMethodResponseMessage
1450                      //
1451                      void CIMMessageSerializer::_serializeCIMInvokeMethodResponseMessage(
1452 mike            1.22     Buffer& out,
1453 kumpf           1.1      CIMInvokeMethodResponseMessage* message)
1454                      {
1455                          // Use PARAMVALUE element so we can preserve the CIMType information
1456                          XmlWriter::appendParamValueElement(
1457                              out,
1458                              CIMParamValue(String("ignore"), message->retValue, true));
1459                      
1460                          // Use PGPARAMS element so we can find the end of the PARAMVALUE elements
1461                          XmlWriter::append(out, "<PGPARAMS>\n");
1462                          for (Uint32 i=0; i < message->outParameters.size(); i++)
1463                          {
1464                              XmlWriter::appendParamValueElement(out, message->outParameters[i]);
1465                          }
1466                          XmlWriter::append(out, "</PGPARAMS>\n");
1467                      
1468                          _serializeCIMName(out, message->methodName);
1469                      }
1470                      
1471                      
1472                      //
1473                      //
1474 kumpf           1.1  // CIM Indication Response Messages
1475                      //
1476                      //
1477                      
1478                      //
1479                      // _serializeCIMCreateSubscriptionResponseMessage
1480                      //
1481                      void CIMMessageSerializer::_serializeCIMCreateSubscriptionResponseMessage(
1482 mike            1.22     Buffer& out,
1483 kumpf           1.1      CIMCreateSubscriptionResponseMessage* message)
1484                      {
1485                          // No additional attributes to serialize!
1486                      }
1487                      
1488                      //
1489                      // _serializeCIMModifySubscriptionResponseMessage
1490                      //
1491                      void CIMMessageSerializer::_serializeCIMModifySubscriptionResponseMessage(
1492 mike            1.22     Buffer& out,
1493 kumpf           1.1      CIMModifySubscriptionResponseMessage* message)
1494                      {
1495                          // No additional attributes to serialize!
1496                      }
1497                      
1498                      //
1499                      // _serializeCIMDeleteSubscriptionResponseMessage
1500                      //
1501                      void CIMMessageSerializer::_serializeCIMDeleteSubscriptionResponseMessage(
1502 mike            1.22     Buffer& out,
1503 kumpf           1.1      CIMDeleteSubscriptionResponseMessage* message)
1504                      {
1505                          // No additional attributes to serialize!
1506                      }
1507                      
1508                      
1509                      //
1510                      //
1511                      // Other CIMResponseMessages
1512                      //
1513                      //
1514                      
1515                      //
1516                      // _serializeCIMExportIndicationResponseMessage
1517                      //
1518                      void CIMMessageSerializer::_serializeCIMExportIndicationResponseMessage(
1519 mike            1.22     Buffer& out,
1520 kumpf           1.1      CIMExportIndicationResponseMessage* message)
1521                      {
1522                          // No additional attributes to serialize!
1523                      }
1524                      
1525                      //
1526                      // _serializeCIMProcessIndicationResponseMessage
1527                      //
1528                      void CIMMessageSerializer::_serializeCIMProcessIndicationResponseMessage(
1529 mike            1.22     Buffer& out,
1530 kumpf           1.1      CIMProcessIndicationResponseMessage* message)
1531                      {
1532                          // No additional attributes to serialize!
1533                      }
1534                      
1535                      //
1536                      // _serializeCIMDisableModuleResponseMessage
1537                      //
1538                      void CIMMessageSerializer::_serializeCIMDisableModuleResponseMessage(
1539 mike            1.22     Buffer& out,
1540 kumpf           1.1      CIMDisableModuleResponseMessage* message)
1541                      {
1542                          // Use PGUINT16ARRAY element to encapsulate the Uint16 elements
1543                          XmlWriter::append(out, "<PGUINT16ARRAY>\n");
1544                          for (Uint32 i=0; i < message->operationalStatus.size(); i++)
1545                          {
1546                              XmlWriter::appendValueElement(out, message->operationalStatus[i]);
1547                          }
1548                          XmlWriter::append(out, "</PGUINT16ARRAY>\n");
1549                      }
1550                      
1551                      //
1552                      // _serializeCIMEnableModuleResponseMessage
1553                      //
1554                      void CIMMessageSerializer::_serializeCIMEnableModuleResponseMessage(
1555 mike            1.22     Buffer& out,
1556 kumpf           1.1      CIMEnableModuleResponseMessage* message)
1557                      {
1558                          // Use PGUINT16ARRAY element to encapsulate the Uint16 elements
1559                          XmlWriter::append(out, "<PGUINT16ARRAY>\n");
1560                          for (Uint32 i=0; i < message->operationalStatus.size(); i++)
1561                          {
1562                              XmlWriter::appendValueElement(out, message->operationalStatus[i]);
1563                          }
1564                          XmlWriter::append(out, "</PGUINT16ARRAY>\n");
1565                      }
1566                      
1567                      //
1568                      // _serializeCIMStopAllProvidersResponseMessage
1569                      //
1570                      void CIMMessageSerializer::_serializeCIMStopAllProvidersResponseMessage(
1571 mike            1.22     Buffer& out,
1572 kumpf           1.1      CIMStopAllProvidersResponseMessage* message)
1573                      {
1574                          // No additional attributes to serialize!
1575                      }
1576                      
1577 kumpf           1.2  //
1578                      // _serializeCIMInitializeProviderResponseMessage
1579                      //
1580                      void CIMMessageSerializer::_serializeCIMInitializeProviderResponseMessage(
1581 mike            1.22     Buffer& out,
1582 kumpf           1.2      CIMInitializeProviderResponseMessage* message)
1583                      {
1584                          // No additional attributes to serialize!
1585                      }
1586                      
1587 kumpf           1.7  //
1588                      // _serializeCIMInitializeProviderAgentResponseMessage
1589                      //
1590                      void CIMMessageSerializer::_serializeCIMInitializeProviderAgentResponseMessage(
1591 mike            1.22     Buffer& out,
1592 kumpf           1.7      CIMInitializeProviderAgentResponseMessage* message)
1593                      {
1594                          // No additional attributes to serialize!
1595                      }
1596                      
1597 kumpf           1.8  //
1598                      // _serializeCIMNotifyConfigChangeResponseMessage
1599                      //
1600                      void CIMMessageSerializer::_serializeCIMNotifyConfigChangeResponseMessage(
1601 mike            1.22     Buffer& out,
1602 kumpf           1.8      CIMNotifyConfigChangeResponseMessage* message)
1603                      {
1604                          // No additional attributes to serialize!
1605                      }
1606                      
1607 carolann.graves 1.21 //
1608                      // _serializeCIMSubscriptionInitCompleteResponseMessage
1609                      //
1610                      void 
1611                      CIMMessageSerializer::_serializeCIMSubscriptionInitCompleteResponseMessage
1612 mike            1.22    (Buffer& out,
1613 carolann.graves 1.21     CIMSubscriptionInitCompleteResponseMessage* message)
1614                      {
1615                          // No additional attributes to serialize!
1616                      }
1617                      
1618 kumpf           1.1  PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2