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

   1 karl  1.28 //%2006////////////////////////////////////////////////////////////////////////
   2 kumpf 1.1  //
   3 karl  1.17 // 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.17 // 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.21 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
  10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
  11 karl  1.28 // 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            //%/////////////////////////////////////////////////////////////////////////////
  33            
  34 kumpf 1.9  #include <Pegasus/Common/XmlReader.h>
  35            #include <Pegasus/Common/OperationContextInternal.h>
  36            #include <Pegasus/Common/System.h>
  37            
  38 kumpf 1.1  #include "CIMMessageDeserializer.h"
  39            
  40            PEGASUS_NAMESPACE_BEGIN
  41            
  42 david.dillard 1.19 CIMMessage* CIMMessageDeserializer::deserialize(char* buffer)
  43 kumpf         1.1  {
  44                        if (buffer[0] == 0)
  45                        {
  46                            // No message to deserialize
  47                            return 0;
  48                        }
  49                    
  50                        XmlParser parser(buffer);
  51                        XmlEntry entry;
  52                    
  53 w.otsuka      1.23     CIMMessage* message = 0;
  54 kumpf         1.1      String messageID;
  55                        String typeString;
  56                        Uint32 type;
  57 kumpf         1.32     CIMValue genericValue;
  58 kumpf         1.25 #ifndef PEGASUS_DISABLE_PERFINST
  59 kumpf         1.36     Uint64 serverStartTimeMicroseconds;
  60                        Uint64 providerTimeMicroseconds;
  61 kumpf         1.25 #endif
  62 kumpf         1.31     Boolean isComplete;
  63 kumpf         1.33     Uint32 index;
  64 kumpf         1.11     OperationContext operationContext;
  65 kumpf         1.1  
  66                        XmlReader::expectStartTag(parser, entry, "PGMESSAGE");
  67                    
  68 kumpf         1.29     Boolean found = entry.getAttributeValue("ID", messageID);
  69                        PEGASUS_ASSERT(found);
  70 kumpf         1.1  
  71 kumpf         1.29     found = entry.getAttributeValue("TYPE", typeString);
  72                        PEGASUS_ASSERT(found);
  73 kumpf         1.1      type = Uint32(atoi(typeString.getCString()));
  74                    
  75 kumpf         1.25 #ifndef PEGASUS_DISABLE_PERFINST
  76                        // Deserialize the performance statistics data
  77                    
  78                        XmlReader::getValueElement(parser, CIMTYPE_UINT64, genericValue);
  79 kumpf         1.36     genericValue.get(serverStartTimeMicroseconds);
  80 kumpf         1.25     XmlReader::getValueElement(parser, CIMTYPE_UINT64, genericValue);
  81 kumpf         1.36     genericValue.get(providerTimeMicroseconds);
  82 kumpf         1.25 #endif
  83                    
  84 kumpf         1.31     XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
  85                        genericValue.get(isComplete);
  86                    
  87 kumpf         1.33     XmlReader::getValueElement(parser, CIMTYPE_UINT32, genericValue);
  88                        genericValue.get(index);
  89                    
  90 kumpf         1.11     _deserializeOperationContext(parser, operationContext);
  91 kumpf         1.1  
  92                        if (XmlReader::testStartTag(parser, entry, "PGREQ"))
  93                        {
  94                            message = _deserializeCIMRequestMessage(parser, type);
  95                            XmlReader::expectEndTag(parser, "PGREQ");
  96                        }
  97 kumpf         1.29     else
  98 kumpf         1.1      {
  99 kumpf         1.29         // CIMResponseMessage is the only other CIMMessage type defined
 100                            Boolean found = XmlReader::testStartTag(parser, entry, "PGRESP");
 101                            PEGASUS_ASSERT(found);
 102 kumpf         1.1          message = _deserializeCIMResponseMessage(parser, type);
 103                            XmlReader::expectEndTag(parser, "PGRESP");
 104                        }
 105                    
 106                        XmlReader::expectEndTag(parser, "PGMESSAGE");
 107                    
 108                        message->messageId = messageID;
 109 kumpf         1.25 #ifndef PEGASUS_DISABLE_PERFINST
 110 kumpf         1.36     message->setServerStartTime(serverStartTimeMicroseconds);
 111                        message->setProviderTime(providerTimeMicroseconds);
 112 kumpf         1.25 #endif
 113 kumpf         1.31     message->setComplete(isComplete);
 114 kumpf         1.33     message->setIndex(index);
 115 kumpf         1.11     message->operationContext = operationContext;
 116 kumpf         1.1  
 117                        return message;
 118                    }
 119                    
 120                    //
 121                    // _deserializeCIMRequestMessage
 122                    //
 123                    CIMRequestMessage* CIMMessageDeserializer::_deserializeCIMRequestMessage(
 124                        XmlParser& parser,
 125                        Uint32 type)
 126                    {
 127                        CIMRequestMessage* message = 0;
 128                        XmlEntry entry;
 129                        QueueIdStack queueIdStack;
 130                    
 131                        _deserializeQueueIdStack(parser, queueIdStack);
 132                    
 133                        if (XmlReader::testStartTag(parser, entry, "PGOPREQ"))
 134                        {
 135 w.otsuka      1.23         CIMOperationRequestMessage* cimOpReqMessage = 0;
 136 kumpf         1.1          CIMValue genericValue;
 137 kumpf         1.35         String authType;
 138                            String userName;
 139 kumpf         1.1          CIMNamespaceName nameSpace;
 140                            CIMName className;
 141                            Uint32 providerType;
 142                    
 143 kumpf         1.35         _deserializeUserInfo(parser, authType, userName);
 144 kumpf         1.1          _deserializeCIMNamespaceName(parser, nameSpace);
 145                            _deserializeCIMName(parser, className);
 146                    
 147                            // Decode cimMessage->providerType
 148                            XmlReader::getValueElement(parser, CIMTYPE_UINT32, genericValue);
 149                            genericValue.get(providerType);
 150                    
 151                            switch (type)
 152                            {
 153 kumpf         1.29         // A provider cannot implement these operation types, so the
 154                            // serialization of these messages is not implemented.
 155                            //case CIM_GET_CLASS_REQUEST_MESSAGE:
 156                            //case CIM_DELETE_CLASS_REQUEST_MESSAGE:
 157                            //case CIM_CREATE_CLASS_REQUEST_MESSAGE:
 158                            //case CIM_MODIFY_CLASS_REQUEST_MESSAGE:
 159                            //case CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE:
 160                            //case CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE:
 161                            //case CIM_GET_QUALIFIER_REQUEST_MESSAGE:
 162                            //case CIM_SET_QUALIFIER_REQUEST_MESSAGE:
 163                            //case CIM_DELETE_QUALIFIER_REQUEST_MESSAGE:
 164                            //case CIM_ENUMERATE_QUALIFIERS_REQUEST_MESSAGE:
 165 kumpf         1.1  
 166                            // Instance operations
 167                            case CIM_GET_INSTANCE_REQUEST_MESSAGE:
 168                                cimOpReqMessage = _deserializeCIMGetInstanceRequestMessage(parser);
 169                                break;
 170                            case CIM_DELETE_INSTANCE_REQUEST_MESSAGE:
 171 kumpf         1.37             cimOpReqMessage =
 172                                    _deserializeCIMDeleteInstanceRequestMessage(parser);
 173 kumpf         1.1              break;
 174                            case CIM_CREATE_INSTANCE_REQUEST_MESSAGE:
 175 kumpf         1.37             cimOpReqMessage =
 176                                    _deserializeCIMCreateInstanceRequestMessage(parser);
 177 kumpf         1.1              break;
 178                            case CIM_MODIFY_INSTANCE_REQUEST_MESSAGE:
 179 kumpf         1.37             cimOpReqMessage =
 180                                    _deserializeCIMModifyInstanceRequestMessage(parser);
 181 kumpf         1.1              break;
 182                            case CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE:
 183 kumpf         1.37             cimOpReqMessage =
 184                                    _deserializeCIMEnumerateInstancesRequestMessage(parser);
 185 kumpf         1.1              break;
 186                            case CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE:
 187 kumpf         1.37             cimOpReqMessage =
 188                                    _deserializeCIMEnumerateInstanceNamesRequestMessage(parser);
 189 kumpf         1.1              break;
 190                            case CIM_EXEC_QUERY_REQUEST_MESSAGE:
 191                                cimOpReqMessage = _deserializeCIMExecQueryRequestMessage(parser);
 192                                break;
 193                    
 194                            // Property operations
 195                            case CIM_GET_PROPERTY_REQUEST_MESSAGE:
 196                                cimOpReqMessage = _deserializeCIMGetPropertyRequestMessage(parser);
 197                                break;
 198                            case CIM_SET_PROPERTY_REQUEST_MESSAGE:
 199                                cimOpReqMessage = _deserializeCIMSetPropertyRequestMessage(parser);
 200                                break;
 201                    
 202                            // Association operations
 203                            case CIM_ASSOCIATORS_REQUEST_MESSAGE:
 204                                cimOpReqMessage = _deserializeCIMAssociatorsRequestMessage(parser);
 205                                break;
 206                            case CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE:
 207 kumpf         1.37             cimOpReqMessage =
 208                                    _deserializeCIMAssociatorNamesRequestMessage(parser);
 209 kumpf         1.1              break;
 210                            case CIM_REFERENCES_REQUEST_MESSAGE:
 211                                cimOpReqMessage = _deserializeCIMReferencesRequestMessage(parser);
 212                                break;
 213                            case CIM_REFERENCE_NAMES_REQUEST_MESSAGE:
 214 kumpf         1.37             cimOpReqMessage =
 215                                    _deserializeCIMReferenceNamesRequestMessage(parser);
 216 kumpf         1.1              break;
 217                    
 218                            // Method operations
 219                            case CIM_INVOKE_METHOD_REQUEST_MESSAGE:
 220                                cimOpReqMessage = _deserializeCIMInvokeMethodRequestMessage(parser);
 221                                break;
 222                            }
 223 kumpf         1.29         PEGASUS_ASSERT(cimOpReqMessage != 0);
 224 kumpf         1.1  
 225                            XmlReader::expectEndTag(parser, "PGOPREQ");
 226                    
 227 kumpf         1.35         cimOpReqMessage->authType = authType;
 228                            cimOpReqMessage->userName = userName;
 229 kumpf         1.1          cimOpReqMessage->nameSpace = CIMNamespaceName(nameSpace);
 230                            cimOpReqMessage->className = className;
 231                            cimOpReqMessage->providerType = providerType;
 232                    
 233                            message = cimOpReqMessage;
 234                        }
 235                        else if (XmlReader::testStartTag(parser, entry, "PGINDREQ"))
 236                        {
 237 kumpf         1.35         String authType;
 238                            String userName;
 239                    
 240                            _deserializeUserInfo(parser, authType, userName);
 241                    
 242 w.otsuka      1.23         CIMIndicationRequestMessage* cimIndReqMessage = 0;
 243 kumpf         1.1          switch (type)
 244                            {
 245                            case CIM_CREATE_SUBSCRIPTION_REQUEST_MESSAGE:
 246 kumpf         1.37             cimIndReqMessage =
 247                                    _deserializeCIMCreateSubscriptionRequestMessage(parser);
 248 kumpf         1.1              break;
 249                            case CIM_MODIFY_SUBSCRIPTION_REQUEST_MESSAGE:
 250 kumpf         1.37             cimIndReqMessage =
 251                                    _deserializeCIMModifySubscriptionRequestMessage(parser);
 252 kumpf         1.1              break;
 253                            case CIM_DELETE_SUBSCRIPTION_REQUEST_MESSAGE:
 254 kumpf         1.37             cimIndReqMessage =
 255                                    _deserializeCIMDeleteSubscriptionRequestMessage(parser);
 256 kumpf         1.1              break;
 257                            }
 258 kumpf         1.29         PEGASUS_ASSERT(cimIndReqMessage != 0);
 259 kumpf         1.1  
 260                            XmlReader::expectEndTag(parser, "PGINDREQ");
 261                    
 262 kumpf         1.35         cimIndReqMessage->authType = authType;
 263                            cimIndReqMessage->userName = userName;
 264                    
 265 kumpf         1.1          message = cimIndReqMessage;
 266                        }
 267                        else    // Other message types
 268                        {
 269                            XmlReader::expectStartTag(parser, entry, "PGOTHERREQ");
 270                    
 271                            switch (type)
 272                            {
 273                            case CIM_EXPORT_INDICATION_REQUEST_MESSAGE:
 274                                message = _deserializeCIMExportIndicationRequestMessage(parser);
 275                                break;
 276                            case CIM_PROCESS_INDICATION_REQUEST_MESSAGE:
 277                                message = _deserializeCIMProcessIndicationRequestMessage(parser);
 278                                break;
 279 kumpf         1.29         //case CIM_NOTIFY_PROVIDER_REGISTRATION_REQUEST_MESSAGE:
 280 kumpf         1.1              // ATTN: No need to serialize this yet
 281 kumpf         1.37             //message =
 282                                //  _deserializeCIMNotifyProviderRegistrationRequestMessage(parser);
 283 kumpf         1.1              break;
 284 kumpf         1.29         //case CIM_NOTIFY_PROVIDER_TERMINATION_REQUEST_MESSAGE:
 285 kumpf         1.1              // ATTN: No need to serialize this yet
 286 kumpf         1.37             //message =
 287                                //  _deserializeCIMNotifyProviderTerminationRequestMessage(parser);
 288 kumpf         1.1              break;
 289 kumpf         1.29         //case CIM_HANDLE_INDICATION_REQUEST_MESSAGE:
 290 kumpf         1.1              // ATTN: No need to serialize this yet
 291                                //message = _deserializeCIMHandleIndicationRequestMessage(parser);
 292                                break;
 293                            case CIM_DISABLE_MODULE_REQUEST_MESSAGE:
 294                                message = _deserializeCIMDisableModuleRequestMessage(parser);
 295                                break;
 296                            case CIM_ENABLE_MODULE_REQUEST_MESSAGE:
 297                                message = _deserializeCIMEnableModuleRequestMessage(parser);
 298                                break;
 299 kumpf         1.29         //case CIM_NOTIFY_PROVIDER_ENABLE_REQUEST_MESSAGE:
 300 kumpf         1.1              // ATTN: No need to serialize this yet
 301 kumpf         1.37             //message =
 302                                //    _deserializeCIMNotifyProviderEnableRequestMessage(parser);
 303 kumpf         1.1              break;
 304 carolann.graves 1.34         //case CIM_NOTIFY_PROVIDER_FAIL_REQUEST_MESSAGE:
 305                                  // ATTN: No need to deserialize this yet
 306                                  //message = _deserializeCIMNotifyProviderFailRequestMessage(parser);
 307                                  //break;
 308 kumpf           1.1          case CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE:
 309                                  message = _deserializeCIMStopAllProvidersRequestMessage(parser);
 310                                  break;
 311 kumpf           1.2          case CIM_INITIALIZE_PROVIDER_REQUEST_MESSAGE:
 312                                  message = _deserializeCIMInitializeProviderRequestMessage(parser);
 313                                  break;
 314 kumpf           1.7          case CIM_INITIALIZE_PROVIDER_AGENT_REQUEST_MESSAGE:
 315                                  message =
 316                                      _deserializeCIMInitializeProviderAgentRequestMessage(parser);
 317                                  break;
 318 kumpf           1.8          case CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE:
 319                                  message = _deserializeCIMNotifyConfigChangeRequestMessage(parser);
 320                                  break;
 321 carolann.graves 1.22         case CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE:
 322 kumpf           1.37             message =
 323 carolann.graves 1.22                 _deserializeCIMSubscriptionInitCompleteRequestMessage
 324                                          (parser);
 325                                  break;
 326 kumpf           1.1          }
 327 kumpf           1.29         PEGASUS_ASSERT(message != 0);
 328 kumpf           1.1  
 329                              XmlReader::expectEndTag(parser, "PGOTHERREQ");
 330                          }
 331                      
 332                          message->queueIds = queueIdStack;
 333                      
 334                          return message;
 335                      }
 336                      
 337                      //
 338                      // _deserializeCIMResponseMessage
 339                      //
 340                      CIMResponseMessage* CIMMessageDeserializer::_deserializeCIMResponseMessage(
 341                          XmlParser& parser,
 342                          Uint32 type)
 343                      {
 344                          CIMResponseMessage* message = 0;
 345                          QueueIdStack queueIdStack;
 346                          CIMException cimException;
 347                      
 348                          _deserializeQueueIdStack(parser, queueIdStack);
 349 kumpf           1.1      _deserializeCIMException(parser, cimException);
 350                      
 351                          switch (type)
 352                          {
 353                              //
 354                              // CIM Operation Response Messages
 355                              //
 356                      
 357 kumpf           1.29         // A provider cannot implement these operation types, so the
 358                              // serialization of these messages is not implemented.
 359                              //case CIM_GET_CLASS_RESPONSE_MESSAGE:
 360                              //case CIM_DELETE_CLASS_RESPONSE_MESSAGE:
 361                              //case CIM_CREATE_CLASS_RESPONSE_MESSAGE:
 362                              //case CIM_MODIFY_CLASS_RESPONSE_MESSAGE:
 363                              //case CIM_ENUMERATE_CLASSES_RESPONSE_MESSAGE:
 364                              //case CIM_ENUMERATE_CLASS_NAMES_RESPONSE_MESSAGE:
 365                              //case CIM_GET_QUALIFIER_RESPONSE_MESSAGE:
 366                              //case CIM_SET_QUALIFIER_RESPONSE_MESSAGE:
 367                              //case CIM_DELETE_QUALIFIER_RESPONSE_MESSAGE:
 368                              //case CIM_ENUMERATE_QUALIFIERS_RESPONSE_MESSAGE:
 369 kumpf           1.1  
 370                              // Instance operations
 371                              case CIM_GET_INSTANCE_RESPONSE_MESSAGE:
 372                                  message = _deserializeCIMGetInstanceResponseMessage(parser);
 373                                  break;
 374                              case CIM_DELETE_INSTANCE_RESPONSE_MESSAGE:
 375                                  message = _deserializeCIMDeleteInstanceResponseMessage(parser);
 376                                  break;
 377                              case CIM_CREATE_INSTANCE_RESPONSE_MESSAGE:
 378                                  message = _deserializeCIMCreateInstanceResponseMessage(parser);
 379                                  break;
 380                              case CIM_MODIFY_INSTANCE_RESPONSE_MESSAGE:
 381                                  message = _deserializeCIMModifyInstanceResponseMessage(parser);
 382                                  break;
 383                              case CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE:
 384                                  message = _deserializeCIMEnumerateInstancesResponseMessage(parser);
 385                                  break;
 386                              case CIM_ENUMERATE_INSTANCE_NAMES_RESPONSE_MESSAGE:
 387 kumpf           1.37             message =
 388                                      _deserializeCIMEnumerateInstanceNamesResponseMessage(parser);
 389 kumpf           1.1              break;
 390                              case CIM_EXEC_QUERY_RESPONSE_MESSAGE:
 391                                  message = _deserializeCIMExecQueryResponseMessage(parser);
 392                                  break;
 393                      
 394                              // Property operations
 395                              case CIM_GET_PROPERTY_RESPONSE_MESSAGE:
 396                                  message = _deserializeCIMGetPropertyResponseMessage(parser);
 397                                  break;
 398                              case CIM_SET_PROPERTY_RESPONSE_MESSAGE:
 399                                  message = _deserializeCIMSetPropertyResponseMessage(parser);
 400                                  break;
 401                      
 402                              // Association operations
 403                              case CIM_ASSOCIATORS_RESPONSE_MESSAGE:
 404                                  message = _deserializeCIMAssociatorsResponseMessage(parser);
 405                                  break;
 406                              case CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE:
 407                                  message = _deserializeCIMAssociatorNamesResponseMessage(parser);
 408                                  break;
 409                              case CIM_REFERENCES_RESPONSE_MESSAGE:
 410 kumpf           1.1              message = _deserializeCIMReferencesResponseMessage(parser);
 411                                  break;
 412                              case CIM_REFERENCE_NAMES_RESPONSE_MESSAGE:
 413                                  message = _deserializeCIMReferenceNamesResponseMessage(parser);
 414                                  break;
 415                      
 416                              // Method operations
 417                              case CIM_INVOKE_METHOD_RESPONSE_MESSAGE:
 418                                  message = _deserializeCIMInvokeMethodResponseMessage(parser);
 419                                  break;
 420                      
 421                              //
 422                              // CIM Indication Response Messages
 423                              //
 424                      
 425                              case CIM_CREATE_SUBSCRIPTION_RESPONSE_MESSAGE:
 426                                  message = _deserializeCIMCreateSubscriptionResponseMessage(parser);
 427                                  break;
 428                              case CIM_MODIFY_SUBSCRIPTION_RESPONSE_MESSAGE:
 429                                  message = _deserializeCIMModifySubscriptionResponseMessage(parser);
 430                                  break;
 431 kumpf           1.1          case CIM_DELETE_SUBSCRIPTION_RESPONSE_MESSAGE:
 432                                  message = _deserializeCIMDeleteSubscriptionResponseMessage(parser);
 433                                  break;
 434                      
 435                              //
 436                              // Other CIM Response Messages
 437                              //
 438                      
 439                              case CIM_EXPORT_INDICATION_RESPONSE_MESSAGE:
 440                                  message = _deserializeCIMExportIndicationResponseMessage(parser);
 441                                  break;
 442                              case CIM_PROCESS_INDICATION_RESPONSE_MESSAGE:
 443                                  message = _deserializeCIMProcessIndicationResponseMessage(parser);
 444                                  break;
 445 kumpf           1.29         //case CIM_NOTIFY_PROVIDER_REGISTRATION_RESPONSE_MESSAGE:
 446 kumpf           1.1              // ATTN: No need to serialize this yet
 447 kumpf           1.37             //message =
 448                                  //    _deserializeCIMNotifyProviderRegistrationResponseMessage(
 449                                  //        parser);
 450 kumpf           1.29             //break;
 451                              //case CIM_NOTIFY_PROVIDER_TERMINATION_RESPONSE_MESSAGE:
 452 kumpf           1.1              // ATTN: No need to serialize this yet
 453 kumpf           1.37             //message =
 454                                  //  _deserializeCIMNotifyProviderTerminationResponseMessage(parser);
 455 kumpf           1.29             //break;
 456                              //case CIM_HANDLE_INDICATION_RESPONSE_MESSAGE:
 457 kumpf           1.1              // ATTN: No need to serialize this yet
 458                                  //message = _deserializeCIMHandleIndicationResponseMessage(parser);
 459 kumpf           1.29             //break;
 460 kumpf           1.1          case CIM_DISABLE_MODULE_RESPONSE_MESSAGE:
 461                                  message = _deserializeCIMDisableModuleResponseMessage(parser);
 462                                  break;
 463                              case CIM_ENABLE_MODULE_RESPONSE_MESSAGE:
 464                                  message = _deserializeCIMEnableModuleResponseMessage(parser);
 465                                  break;
 466 kumpf           1.29         //case CIM_NOTIFY_PROVIDER_ENABLE_RESPONSE_MESSAGE:
 467 kumpf           1.1              // ATTN: No need to serialize this yet
 468 kumpf           1.37             //message =
 469                                  //    _deserializeCIMNotifyProviderEnableResponseMessage(parser);
 470 kumpf           1.29             //break;
 471 carolann.graves 1.34         //case CIM_NOTIFY_PROVIDER_FAIL_RESPONSE_MESSAGE:
 472                                  // ATTN: No need to deserialize this yet
 473 kumpf           1.37             //message =
 474                                  //    _deserializeCIMNotifyProviderFailResponseMessage(parser);
 475 carolann.graves 1.34             //break;
 476 kumpf           1.1          case CIM_STOP_ALL_PROVIDERS_RESPONSE_MESSAGE:
 477                                  message = _deserializeCIMStopAllProvidersResponseMessage(parser);
 478                                  break;
 479 kumpf           1.2          case CIM_INITIALIZE_PROVIDER_RESPONSE_MESSAGE:
 480                                  message = _deserializeCIMInitializeProviderResponseMessage(parser);
 481                                  break;
 482 kumpf           1.7          case CIM_INITIALIZE_PROVIDER_AGENT_RESPONSE_MESSAGE:
 483                                  message =
 484                                      _deserializeCIMInitializeProviderAgentResponseMessage(parser);
 485                                  break;
 486 kumpf           1.8          case CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE:
 487                                  message = _deserializeCIMNotifyConfigChangeResponseMessage(parser);
 488                                  break;
 489 carolann.graves 1.22         case CIM_SUBSCRIPTION_INIT_COMPLETE_RESPONSE_MESSAGE:
 490 kumpf           1.37             message =
 491 carolann.graves 1.22                 _deserializeCIMSubscriptionInitCompleteResponseMessage
 492                                          (parser);
 493                                  break;
 494 kumpf           1.1      }
 495 kumpf           1.29     PEGASUS_ASSERT(message != 0);
 496 kumpf           1.1  
 497                          message->queueIds = queueIdStack;
 498                          message->cimException = cimException;
 499                      
 500                          return message;
 501                      }
 502                      
 503                      
 504                      //
 505                      // Utility Methods
 506                      //
 507                      
 508                      //
 509                      // _deserializeUserInfo consolidates decoding of these common message attributes
 510                      //
 511                      void CIMMessageDeserializer::_deserializeUserInfo(
 512                          XmlParser& parser,
 513                          String& authType,
 514                          String& userName)
 515                      {
 516                          CIMValue genericValue;
 517 kumpf           1.1  
 518                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 519                          genericValue.get(authType);
 520                      
 521                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 522                          genericValue.get(userName);
 523                      }
 524                      
 525                      //
 526                      // _deserializeQueueIdStack
 527                      //
 528                      void CIMMessageDeserializer::_deserializeQueueIdStack(
 529                          XmlParser& parser,
 530                          QueueIdStack& queueIdStack)
 531                      {
 532                          // ATTN: Incoming queueIdStack is presumed to be empty
 533                      
 534                          XmlEntry entry;
 535                          CIMValue genericValue;
 536                          Uint32 genericUint32;
 537                          Array<Uint32> items;
 538 kumpf           1.1  
 539                          XmlReader::expectStartTag(parser, entry, "PGQIDSTACK");
 540                          while (XmlReader::getValueElement(parser, CIMTYPE_UINT32, genericValue))
 541                          {
 542                              genericValue.get(genericUint32);
 543                              items.append(genericUint32);
 544                          }
 545                          XmlReader::expectEndTag(parser, "PGQIDSTACK");
 546                      
 547                          for (Uint32 i=items.size(); i>0; i--)
 548                          {
 549                              queueIdStack.push(items[i-1]);
 550                          }
 551                      }
 552                      
 553                      //
 554                      // _deserializeOperationContext
 555                      //
 556                      void CIMMessageDeserializer::_deserializeOperationContext(
 557                          XmlParser& parser,
 558                          OperationContext& operationContext)
 559 kumpf           1.1  {
 560 kumpf           1.29     operationContext.clear();
 561 kumpf           1.1  
 562                          XmlEntry entry;
 563                          CIMValue genericValue;
 564                          String genericString;
 565                      
 566                          XmlReader::expectStartTag(parser, entry, "PGOC");
 567                      
 568                          if (XmlReader::testStartTag(parser, entry, "PGOCID"))
 569                          {
 570                              String userName;
 571                      
 572                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 573                              genericValue.get(userName);
 574                              operationContext.insert(IdentityContainer(userName));
 575                              XmlReader::expectEndTag(parser, "PGOCID");
 576                          }
 577                      
 578                          if (XmlReader::testStartTag(parser, entry, "PGOCSI"))
 579                          {
 580                              CIMInstance subscriptionInstance;
 581                              _deserializeCIMInstance(parser, subscriptionInstance);
 582 kumpf           1.1          operationContext.insert(
 583                                  SubscriptionInstanceContainer(subscriptionInstance));
 584                              XmlReader::expectEndTag(parser, "PGOCSI");
 585                          }
 586                      
 587                          if (XmlReader::testStartTag(parser, entry, "PGOCSFC"))
 588                          {
 589                              String filterCondition;
 590                              String queryLanguage;
 591                      
 592                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 593                              genericValue.get(filterCondition);
 594                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 595                              genericValue.get(queryLanguage);
 596                              operationContext.insert(
 597                                  SubscriptionFilterConditionContainer(
 598                                      filterCondition, queryLanguage));
 599                              XmlReader::expectEndTag(parser, "PGOCSFC");
 600                          }
 601                      
 602 chuck           1.18     if (XmlReader::testStartTag(parser, entry, "PGOCSFQ"))
 603                          {
 604                              String filterQuery;
 605                              String queryLanguage;
 606                              CIMNamespaceName nameSpace;
 607                      
 608                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 609                              genericValue.get(filterQuery);
 610                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 611                              genericValue.get(queryLanguage);
 612                              _deserializeCIMNamespaceName(parser, nameSpace);
 613                              operationContext.insert(
 614                                  SubscriptionFilterQueryContainer(
 615                                      filterQuery, queryLanguage, nameSpace));
 616                              XmlReader::expectEndTag(parser, "PGOCSFQ");
 617                          }
 618                      
 619 kumpf           1.1      if (XmlReader::testStartTag(parser, entry, "PGOCSIN"))
 620                          {
 621                              Array<CIMObjectPath> subscriptionInstanceNames;
 622                              CIMObjectPath genericObjectPath;
 623                      
 624                              while (_deserializeCIMObjectPath(parser, genericObjectPath))
 625                              {
 626                                  subscriptionInstanceNames.append(genericObjectPath);
 627                              }
 628                              operationContext.insert(
 629                                  SubscriptionInstanceNamesContainer(subscriptionInstanceNames));
 630                              XmlReader::expectEndTag(parser, "PGOCSIN");
 631                          }
 632                      
 633                          if (XmlReader::testStartTag(parser, entry, "PGOCTO"))
 634                          {
 635                              Uint32 timeout;
 636                      
 637                              XmlReader::getValueElement(parser, CIMTYPE_UINT32, genericValue);
 638                              genericValue.get(timeout);
 639                              operationContext.insert(TimeoutContainer(timeout));
 640 kumpf           1.1          XmlReader::expectEndTag(parser, "PGOCTO");
 641                          }
 642                      
 643                          if (XmlReader::testStartTag(parser, entry, "PGOCALL"))
 644                          {
 645 kumpf           1.27         AcceptLanguageList acceptLanguages;
 646 kumpf           1.1  
 647 kumpf           1.27         _deserializeAcceptLanguageList(parser, acceptLanguages);
 648 kumpf           1.1          operationContext.insert(AcceptLanguageListContainer(acceptLanguages));
 649                              XmlReader::expectEndTag(parser, "PGOCALL");
 650                          }
 651                      
 652                          if (XmlReader::testStartTag(parser, entry, "PGOCCLL"))
 653                          {
 654 kumpf           1.27         ContentLanguageList contentLanguages;
 655 kumpf           1.1  
 656 kumpf           1.27         _deserializeContentLanguageList(parser, contentLanguages);
 657 kumpf           1.1          operationContext.insert(
 658                                  ContentLanguageListContainer(contentLanguages));
 659                              XmlReader::expectEndTag(parser, "PGOCCLL");
 660                          }
 661                      
 662                          if (XmlReader::testStartTag(parser, entry, "PGOCSTO"))
 663                          {
 664                              String snmpTrapOid;
 665                      
 666                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 667                              genericValue.get(snmpTrapOid);
 668                              operationContext.insert(SnmpTrapOidContainer(snmpTrapOid));
 669                              XmlReader::expectEndTag(parser, "PGOCSTO");
 670                          }
 671                      
 672                          if (XmlReader::testStartTag(parser, entry, "PGOCL"))
 673                          {
 674                              String languageId;
 675                      
 676                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 677                              genericValue.get(languageId);
 678 kumpf           1.1          operationContext.insert(LocaleContainer(languageId));
 679                              XmlReader::expectEndTag(parser, "PGOCL");
 680                          }
 681                      
 682                          if (XmlReader::testStartTag(parser, entry, "PGOCPI"))
 683                          {
 684 kumpf           1.11         CIMValue genericValue;
 685 kumpf           1.1          CIMInstance module;
 686                              CIMInstance provider;
 687 kumpf           1.11         Boolean isRemoteNameSpace;
 688                              String remoteInfo;
 689 kumpf           1.1  
 690                              _deserializeCIMInstance(parser, module);
 691                              _deserializeCIMInstance(parser, provider);
 692 kumpf           1.11 
 693                              XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
 694                              genericValue.get(isRemoteNameSpace);
 695                      
 696                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 697                              genericValue.get(remoteInfo);
 698                      
 699                              operationContext.insert(ProviderIdContainer(
 700                                  module, provider, isRemoteNameSpace, remoteInfo));
 701 kumpf           1.1          XmlReader::expectEndTag(parser, "PGOCPI");
 702                          }
 703                      
 704                          XmlReader::expectEndTag(parser, "PGOC");
 705                      }
 706                      
 707                      //
 708 kumpf           1.27 // _deserializeContentLanguageList
 709 kumpf           1.1  //
 710 kumpf           1.27 void CIMMessageDeserializer::_deserializeContentLanguageList(
 711 kumpf           1.1      XmlParser& parser,
 712 kumpf           1.27     ContentLanguageList& contentLanguages)
 713 kumpf           1.1  {
 714 kumpf           1.29     contentLanguages.clear();
 715 kumpf           1.1  
 716                          XmlEntry entry;
 717                          CIMValue genericValue;
 718                          String genericString;
 719                      
 720                          XmlReader::expectStartTag(parser, entry, "PGCONTLANGS");
 721                          while (XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue))
 722                          {
 723                              genericValue.get(genericString);
 724 kumpf           1.26         contentLanguages.append(LanguageTag(genericString));
 725 kumpf           1.1      }
 726                          XmlReader::expectEndTag(parser, "PGCONTLANGS");
 727                      }
 728                      
 729                      //
 730 kumpf           1.27 // _deserializeAcceptLanguageList
 731 kumpf           1.1  //
 732 kumpf           1.27 void CIMMessageDeserializer::_deserializeAcceptLanguageList(
 733 kumpf           1.1      XmlParser& parser,
 734 kumpf           1.27     AcceptLanguageList& acceptLanguages)
 735 kumpf           1.1  {
 736 kumpf           1.29     acceptLanguages.clear();
 737 kumpf           1.1  
 738                          XmlEntry entry;
 739                          CIMValue genericValue;
 740                          String genericString;
 741                          Real32 genericReal32;
 742                      
 743                          XmlReader::expectStartTag(parser, entry, "PGACCLANGS");
 744                          while (XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue))
 745                          {
 746                              genericValue.get(genericString);
 747                              XmlReader::getValueElement(parser, CIMTYPE_REAL32, genericValue);
 748                              genericValue.get(genericReal32);
 749 kumpf           1.26         acceptLanguages.insert(LanguageTag(genericString), genericReal32);
 750 kumpf           1.1      }
 751                          XmlReader::expectEndTag(parser, "PGACCLANGS");
 752                      }
 753                      
 754                      //
 755                      // _deserializeCIMException
 756                      //
 757                      void CIMMessageDeserializer::_deserializeCIMException(
 758                          XmlParser& parser,
 759                          CIMException& cimException)
 760                      {
 761                          XmlEntry entry;
 762                          CIMValue genericValue;
 763 kumpf           1.9      Uint32 statusCode;
 764                          String message;
 765                          String cimMessage;
 766                          String file;
 767                          Uint32 line;
 768 kumpf           1.27     ContentLanguageList contentLanguages;
 769 kumpf           1.1  
 770                          XmlReader::expectStartTag(parser, entry, "PGCIMEXC");
 771                      
 772                          XmlReader::getValueElement(parser, CIMTYPE_UINT32, genericValue);
 773 kumpf           1.9      genericValue.get(statusCode);
 774                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 775                          genericValue.get(message);
 776 kumpf           1.1      XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 777 kumpf           1.9      genericValue.get(cimMessage);
 778                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 779                          genericValue.get(file);
 780                          XmlReader::getValueElement(parser, CIMTYPE_UINT32, genericValue);
 781                          genericValue.get(line);
 782 kumpf           1.27     _deserializeContentLanguageList(parser, contentLanguages);
 783 kumpf           1.1  
 784                          XmlReader::expectEndTag(parser, "PGCIMEXC");
 785                      
 786 kumpf           1.9      TraceableCIMException e = TraceableCIMException(
 787                              contentLanguages,
 788                              CIMStatusCode(statusCode),
 789                              message,
 790                              file,
 791                              line);
 792                          e.setCIMMessage(cimMessage);
 793                          cimException = e;
 794 kumpf           1.1  }
 795                      
 796                      //
 797                      // _deserializeCIMPropertyList
 798                      //
 799                      void CIMMessageDeserializer::_deserializeCIMPropertyList(
 800                          XmlParser& parser,
 801                          CIMPropertyList& propertyList)
 802                      {
 803                          const char* name;
 804                          CIMValue genericValue;
 805 kumpf           1.12     Boolean emptyTag;
 806 kumpf           1.1  
 807                          propertyList.clear();
 808 kumpf           1.12     XmlReader::getIParamValueTag(parser, name, emptyTag);
 809                          PEGASUS_ASSERT(!emptyTag);
 810 kumpf           1.1      PEGASUS_ASSERT(System::strcasecmp(name, "PropertyList") == 0);
 811                          if (XmlReader::getValueArrayElement(parser, CIMTYPE_STRING, genericValue))
 812                          {
 813                              Array<String> propertyListArray;
 814                              genericValue.get(propertyListArray);
 815                              Array<CIMName> cimNameArray;
 816                              for (Uint32 i = 0; i < propertyListArray.size(); i++)
 817                              {
 818                                  cimNameArray.append(propertyListArray[i]);
 819                              }
 820                              propertyList.set(cimNameArray);
 821                          }
 822                          XmlReader::expectEndTag(parser, "IPARAMVALUE");
 823                      }
 824                      
 825                      //
 826                      // _deserializeCIMObjectPath
 827                      //
 828                      Boolean CIMMessageDeserializer::_deserializeCIMObjectPath(
 829                          XmlParser& parser,
 830                          CIMObjectPath& cimObjectPath)
 831 kumpf           1.1  {
 832                          XmlEntry entry;
 833                      
 834                          if (!XmlReader::testStartTag(parser, entry, "PGPATH"))
 835                          {
 836                              return false;
 837                          }
 838                      
 839                          // VALUE.REFERENCE element is absent when the object is uninitialized.
 840                          // In this case, XmlReader::getValueReferenceElement returns "false" and
 841                          // leaves cimObjectPath untouched.
 842                          if (!XmlReader::getValueReferenceElement(parser, cimObjectPath))
 843                          {
 844                              cimObjectPath = CIMObjectPath();
 845                          }
 846                      
 847                          XmlReader::expectEndTag(parser, "PGPATH");
 848                      
 849                          return true;
 850                      }
 851                      
 852 kumpf           1.1  //
 853                      // _deserializeCIMInstance
 854                      //
 855                      Boolean CIMMessageDeserializer::_deserializeCIMInstance(
 856                          XmlParser& parser,
 857                          CIMInstance& cimInstance)
 858                      {
 859                          XmlEntry entry;
 860                      
 861                          if (!XmlReader::testStartTag(parser, entry, "PGINST"))
 862                          {
 863                              return false;
 864                          }
 865                      
 866                          // INSTANCE element is absent when the object is uninitialized.
 867 jenny.yu        1.20     // In this case, XmlReader::getInstanceElement returns "false" and
 868 kumpf           1.1      // leaves cimInstance untouched.
 869 jenny.yu        1.20     if (XmlReader::getInstanceElement(parser, cimInstance))
 870                          {
 871                              CIMObjectPath path;
 872                              _deserializeCIMObjectPath(parser, path);
 873                              cimInstance.setPath(path);
 874                          }
 875                          else
 876 kumpf           1.1      {
 877                              cimInstance = CIMInstance();
 878                          }
 879                      
 880                          XmlReader::expectEndTag(parser, "PGINST");
 881                      
 882                          return true;
 883                      }
 884                      
 885                      //
 886                      // _deserializeCIMNamespaceName
 887                      //
 888                      void CIMMessageDeserializer::_deserializeCIMNamespaceName(
 889                          XmlParser& parser,
 890                          CIMNamespaceName& cimNamespaceName)
 891                      {
 892                          CIMValue genericValue;
 893                          String genericString;
 894                      
 895                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
 896                          genericValue.get(genericString);
 897 kumpf           1.1      if (genericString.size() > 0)
 898                          {
 899                              cimNamespaceName = CIMNamespaceName(genericString);
 900                          }
 901                      }
 902                      
 903                      //
 904                      // _deserializeCIMName
 905                      //
 906                      Boolean CIMMessageDeserializer::_deserializeCIMName(
 907                          XmlParser& parser,
 908                          CIMName& cimName)
 909                      {
 910                          CIMValue genericValue;
 911                          String genericString;
 912                      
 913                          if (!XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue))
 914                          {
 915                              return false;
 916                          }
 917                      
 918 kumpf           1.1      genericValue.get(genericString);
 919                          if (genericString.size() > 0)
 920                          {
 921                              cimName = CIMName(genericString);
 922                          }
 923                          else
 924                          {
 925                              cimName = CIMName();
 926                          }
 927                      
 928                          return true;
 929                      }
 930                      
 931 jenny.yu        1.20 //
 932                      // _deserializeCIMObject
 933                      //
 934                      Boolean CIMMessageDeserializer::_deserializeCIMObject(
 935                          XmlParser& parser,
 936                          CIMObject& object)
 937                      {
 938                          XmlEntry entry;
 939                      
 940                          if (!XmlReader::testStartTag(parser, entry, "PGOBJ"))
 941                          {
 942                              return false;
 943                          }
 944                      
 945                          CIMInstance cimInstance;
 946                          CIMClass cimClass;
 947                          CIMObjectPath path;
 948                      
 949                          // INSTANCE or CLASS element is absent when the object is uninitialized
 950                          if (XmlReader::getInstanceElement(parser, cimInstance))
 951                          {
 952 jenny.yu        1.20         _deserializeCIMObjectPath(parser, path);
 953                              cimInstance.setPath(path);
 954                              object = CIMObject(cimInstance);
 955                          }
 956                          else if (XmlReader::getClassElement(parser, cimClass))
 957                          {
 958                              _deserializeCIMObjectPath(parser, path);
 959                              cimClass.setPath(path);
 960                              object = CIMObject(cimClass);
 961                          }
 962                          else
 963                          {
 964                              // Uninitialized object
 965                              object = CIMObject();
 966                          }
 967                      
 968                          XmlReader::expectEndTag(parser, "PGOBJ");
 969                      
 970                          return true;
 971                      }
 972 kumpf           1.1  
 973                      //
 974                      //
 975                      // Response Messages
 976                      //
 977                      //
 978                      
 979                      //
 980                      //
 981                      // CIMOperationRequestMessages
 982                      //
 983                      //
 984                      
 985                      //
 986                      // _deserializeCIMGetInstanceRequestMessage
 987                      //
 988                      CIMGetInstanceRequestMessage*
 989                      CIMMessageDeserializer::_deserializeCIMGetInstanceRequestMessage(
 990                          XmlParser& parser)
 991                      {
 992                          CIMValue genericValue;
 993 kumpf           1.1      CIMObjectPath instanceName;
 994                          Boolean localOnly;
 995                          Boolean includeQualifiers;
 996                          Boolean includeClassOrigin;
 997                          CIMPropertyList propertyList;
 998                      
 999                          _deserializeCIMObjectPath(parser, instanceName);
1000                      
1001                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1002                          genericValue.get(localOnly);
1003                      
1004                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1005                          genericValue.get(includeQualifiers);
1006                      
1007                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1008                          genericValue.get(includeClassOrigin);
1009                      
1010                          _deserializeCIMPropertyList(parser, propertyList);
1011                      
1012                          CIMGetInstanceRequestMessage* message =
1013                              new CIMGetInstanceRequestMessage(
1014 kumpf           1.1              String::EMPTY,         // messageId
1015                                  CIMNamespaceName(),    // nameSpace
1016                                  instanceName,
1017                                  localOnly,
1018                                  includeQualifiers,
1019                                  includeClassOrigin,
1020                                  propertyList,
1021 kumpf           1.35             QueueIdStack());
1022 kumpf           1.1  
1023 kumpf           1.38     return message;
1024 kumpf           1.1  }
1025                      
1026                      //
1027                      // _deserializeCIMDeleteInstanceRequestMessage
1028                      //
1029                      CIMDeleteInstanceRequestMessage*
1030                      CIMMessageDeserializer::_deserializeCIMDeleteInstanceRequestMessage(
1031                          XmlParser& parser)
1032                      {
1033                          CIMObjectPath instanceName;
1034                      
1035                          _deserializeCIMObjectPath(parser, instanceName);
1036                      
1037                          CIMDeleteInstanceRequestMessage* message =
1038                              new CIMDeleteInstanceRequestMessage(
1039                                  String::EMPTY,         // messageId
1040                                  CIMNamespaceName(),    // nameSpace
1041                                  instanceName,
1042 kumpf           1.35             QueueIdStack());
1043 kumpf           1.1  
1044 kumpf           1.38     return message;
1045 kumpf           1.1  }
1046                      
1047                      //
1048                      // _deserializeCIMCreateInstanceRequestMessage
1049                      //
1050                      CIMCreateInstanceRequestMessage*
1051                      CIMMessageDeserializer::_deserializeCIMCreateInstanceRequestMessage(
1052                          XmlParser& parser)
1053                      {
1054                          CIMInstance newInstance;
1055                      
1056                          _deserializeCIMInstance(parser, newInstance);
1057                      
1058                          CIMCreateInstanceRequestMessage* message =
1059                              new CIMCreateInstanceRequestMessage(
1060                                  String::EMPTY,         // messageId
1061                                  CIMNamespaceName(),    // nameSpace
1062                                  newInstance,
1063 kumpf           1.35             QueueIdStack());
1064 kumpf           1.1  
1065 kumpf           1.38     return message;
1066 kumpf           1.1  }
1067                      
1068                      //
1069                      // _deserializeCIMModifyInstanceRequestMessage
1070                      //
1071                      CIMModifyInstanceRequestMessage*
1072                      CIMMessageDeserializer::_deserializeCIMModifyInstanceRequestMessage(
1073                          XmlParser& parser)
1074                      {
1075                          CIMValue genericValue;
1076                          CIMInstance modifiedInstance;
1077                          Boolean includeQualifiers;
1078                          CIMPropertyList propertyList;
1079                      
1080                          _deserializeCIMInstance(parser, modifiedInstance);
1081                      
1082                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1083                          genericValue.get(includeQualifiers);
1084                      
1085                          _deserializeCIMPropertyList(parser, propertyList);
1086                      
1087 kumpf           1.1      CIMModifyInstanceRequestMessage* message =
1088                              new CIMModifyInstanceRequestMessage(
1089                                  String::EMPTY,         // messageId
1090                                  CIMNamespaceName(),    // nameSpace
1091                                  modifiedInstance,
1092                                  includeQualifiers,
1093                                  propertyList,
1094 kumpf           1.35             QueueIdStack());
1095 kumpf           1.1  
1096 kumpf           1.38     return message;
1097 kumpf           1.1  }
1098                      
1099                      //
1100                      // _deserializeCIMEnumerateInstancesRequestMessage
1101                      //
1102                      CIMEnumerateInstancesRequestMessage*
1103                      CIMMessageDeserializer::_deserializeCIMEnumerateInstancesRequestMessage(
1104                          XmlParser& parser)
1105                      {
1106                          CIMValue genericValue;
1107                          CIMObjectPath instanceName;
1108                          Boolean deepInheritance;
1109                          Boolean localOnly;
1110                          Boolean includeQualifiers;
1111                          Boolean includeClassOrigin;
1112                          CIMPropertyList propertyList;
1113                      
1114                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1115                          genericValue.get(deepInheritance);
1116                      
1117                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1118 kumpf           1.1      genericValue.get(localOnly);
1119                      
1120                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1121                          genericValue.get(includeQualifiers);
1122                      
1123                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1124                          genericValue.get(includeClassOrigin);
1125                      
1126                          _deserializeCIMPropertyList(parser, propertyList);
1127                      
1128                          CIMEnumerateInstancesRequestMessage* message =
1129                              new CIMEnumerateInstancesRequestMessage(
1130                                  String::EMPTY,         // messageId
1131                                  CIMNamespaceName(),    // nameSpace
1132                                  CIMName(),             // className
1133                                  deepInheritance,
1134                                  localOnly,
1135                                  includeQualifiers,
1136                                  includeClassOrigin,
1137                                  propertyList,
1138 kumpf           1.35             QueueIdStack());
1139 kumpf           1.1  
1140 kumpf           1.38     return message;
1141 kumpf           1.1  }
1142                      
1143                      //
1144                      // _deserializeCIMEnumerateInstanceNamesRequestMessage
1145                      //
1146                      CIMEnumerateInstanceNamesRequestMessage*
1147                      CIMMessageDeserializer::_deserializeCIMEnumerateInstanceNamesRequestMessage(
1148                          XmlParser& parser)
1149                      {
1150                          CIMEnumerateInstanceNamesRequestMessage* message =
1151                              new CIMEnumerateInstanceNamesRequestMessage(
1152                                  String::EMPTY,         // messageId
1153                                  CIMNamespaceName(),    // nameSpace
1154                                  CIMName(),             // className
1155 kumpf           1.35             QueueIdStack());
1156 kumpf           1.1  
1157 kumpf           1.38     return message;
1158 kumpf           1.1  }
1159                      
1160                      //
1161                      // _deserializeCIMExecQueryRequestMessage
1162                      //
1163                      CIMExecQueryRequestMessage*
1164                      CIMMessageDeserializer::_deserializeCIMExecQueryRequestMessage(
1165                          XmlParser& parser)
1166                      {
1167                          CIMValue genericValue;
1168                          String queryLanguage;
1169                          String query;
1170                      
1171                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1172                          genericValue.get(queryLanguage);
1173                      
1174                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1175                          genericValue.get(query);
1176                      
1177                          CIMExecQueryRequestMessage* message =
1178                              new CIMExecQueryRequestMessage(
1179 kumpf           1.1              String::EMPTY,         // messageId
1180                                  CIMNamespaceName(),    // nameSpace
1181                                  queryLanguage,
1182                                  query,
1183 kumpf           1.35             QueueIdStack());
1184 kumpf           1.1  
1185 kumpf           1.38     return message;
1186 kumpf           1.1  }
1187                      
1188                      //
1189                      // _deserializeCIMAssociatorsRequestMessage
1190                      //
1191                      CIMAssociatorsRequestMessage*
1192                      CIMMessageDeserializer::_deserializeCIMAssociatorsRequestMessage(
1193                          XmlParser& parser)
1194                      {
1195                          CIMValue genericValue;
1196                          CIMObjectPath objectName;
1197                          CIMName assocClass;
1198                          CIMName resultClass;
1199                          String role;
1200                          String resultRole;
1201                          Boolean includeQualifiers;
1202                          Boolean includeClassOrigin;
1203                          CIMPropertyList propertyList;
1204                      
1205                          _deserializeCIMObjectPath(parser, objectName);
1206                          _deserializeCIMName(parser, assocClass);
1207 kumpf           1.1      _deserializeCIMName(parser, resultClass);
1208                      
1209                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1210                          genericValue.get(role);
1211                      
1212                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1213                          genericValue.get(resultRole);
1214                      
1215                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1216                          genericValue.get(includeQualifiers);
1217                      
1218                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1219                          genericValue.get(includeClassOrigin);
1220                      
1221                          _deserializeCIMPropertyList(parser, propertyList);
1222                      
1223                          CIMAssociatorsRequestMessage* message =
1224                              new CIMAssociatorsRequestMessage(
1225                                  String::EMPTY,         // messageId
1226                                  CIMNamespaceName(),    // nameSpace
1227                                  objectName,
1228 kumpf           1.1              assocClass,
1229                                  resultClass,
1230                                  role,
1231                                  resultRole,
1232                                  includeQualifiers,
1233                                  includeClassOrigin,
1234                                  propertyList,
1235 kumpf           1.35             QueueIdStack());
1236 kumpf           1.1  
1237 kumpf           1.38     return message;
1238 kumpf           1.1  }
1239                      
1240                      //
1241                      // _deserializeCIMAssociatorNamesRequestMessage
1242                      //
1243                      CIMAssociatorNamesRequestMessage*
1244                      CIMMessageDeserializer::_deserializeCIMAssociatorNamesRequestMessage(
1245                          XmlParser& parser)
1246                      {
1247                          CIMValue genericValue;
1248                          CIMObjectPath objectName;
1249                          CIMName assocClass;
1250                          CIMName resultClass;
1251                          String role;
1252                          String resultRole;
1253                      
1254                          _deserializeCIMObjectPath(parser, objectName);
1255                          _deserializeCIMName(parser, assocClass);
1256                          _deserializeCIMName(parser, resultClass);
1257                      
1258                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1259 kumpf           1.1      genericValue.get(role);
1260                      
1261                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1262                          genericValue.get(resultRole);
1263                      
1264                          CIMAssociatorNamesRequestMessage* message =
1265                              new CIMAssociatorNamesRequestMessage(
1266                                  String::EMPTY,         // messageId
1267                                  CIMNamespaceName(),    // nameSpace
1268                                  objectName,
1269                                  assocClass,
1270                                  resultClass,
1271                                  role,
1272                                  resultRole,
1273 kumpf           1.35             QueueIdStack());
1274 kumpf           1.1  
1275 kumpf           1.38     return message;
1276 kumpf           1.1  }
1277                      
1278                      //
1279                      // _deserializeCIMReferencesRequestMessage
1280                      //
1281                      CIMReferencesRequestMessage*
1282                      CIMMessageDeserializer::_deserializeCIMReferencesRequestMessage(
1283                          XmlParser& parser)
1284                      {
1285                          CIMValue genericValue;
1286                          CIMObjectPath objectName;
1287                          CIMName resultClass;
1288                          String role;
1289                          Boolean includeQualifiers;
1290                          Boolean includeClassOrigin;
1291                          CIMPropertyList propertyList;
1292                      
1293                          _deserializeCIMObjectPath(parser, objectName);
1294                          _deserializeCIMName(parser, resultClass);
1295                      
1296                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1297 kumpf           1.1      genericValue.get(role);
1298                      
1299                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1300                          genericValue.get(includeQualifiers);
1301                      
1302                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1303                          genericValue.get(includeClassOrigin);
1304                      
1305                          _deserializeCIMPropertyList(parser, propertyList);
1306                      
1307                          CIMReferencesRequestMessage* message =
1308                              new CIMReferencesRequestMessage(
1309                                  String::EMPTY,         // messageId
1310                                  CIMNamespaceName(),    // nameSpace
1311                                  objectName,
1312                                  resultClass,
1313                                  role,
1314                                  includeQualifiers,
1315                                  includeClassOrigin,
1316                                  propertyList,
1317 kumpf           1.35             QueueIdStack());
1318 kumpf           1.1  
1319 kumpf           1.38     return message;
1320 kumpf           1.1  }
1321                      
1322                      //
1323                      // _deserializeCIMReferenceNamesRequestMessage
1324                      //
1325                      CIMReferenceNamesRequestMessage*
1326                      CIMMessageDeserializer::_deserializeCIMReferenceNamesRequestMessage(
1327                          XmlParser& parser)
1328                      {
1329                          CIMValue genericValue;
1330                          CIMObjectPath objectName;
1331                          CIMName resultClass;
1332                          String role;
1333                      
1334                          _deserializeCIMObjectPath(parser, objectName);
1335                          _deserializeCIMName(parser, resultClass);
1336                      
1337                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1338                          genericValue.get(role);
1339                      
1340                          CIMReferenceNamesRequestMessage* message =
1341 kumpf           1.1          new CIMReferenceNamesRequestMessage(
1342                                  String::EMPTY,         // messageId
1343                                  CIMNamespaceName(),    // nameSpace
1344                                  objectName,
1345                                  resultClass,
1346                                  role,
1347 kumpf           1.35             QueueIdStack());
1348 kumpf           1.1  
1349 kumpf           1.38     return message;
1350 kumpf           1.1  }
1351                      
1352                      //
1353                      // _deserializeCIMGetPropertyRequestMessage
1354                      //
1355                      CIMGetPropertyRequestMessage*
1356                      CIMMessageDeserializer::_deserializeCIMGetPropertyRequestMessage(
1357                          XmlParser& parser)
1358                      {
1359                          CIMObjectPath instanceName;
1360                          CIMName propertyName;
1361                      
1362                          _deserializeCIMObjectPath(parser, instanceName);
1363                          _deserializeCIMName(parser, propertyName);
1364                      
1365                          CIMGetPropertyRequestMessage* message =
1366                              new CIMGetPropertyRequestMessage(
1367                                  String::EMPTY,         // messageId
1368                                  CIMNamespaceName(),    // nameSpace
1369                                  instanceName,
1370                                  propertyName,
1371 kumpf           1.35             QueueIdStack());
1372 kumpf           1.1  
1373 kumpf           1.38     return message;
1374 kumpf           1.1  }
1375                      
1376                      //
1377                      // _deserializeCIMSetPropertyRequestMessage
1378                      //
1379                      CIMSetPropertyRequestMessage*
1380                      CIMMessageDeserializer::_deserializeCIMSetPropertyRequestMessage(
1381                          XmlParser& parser)
1382                      {
1383                          CIMObjectPath instanceName;
1384                          CIMParamValue newValue;
1385                      
1386                          _deserializeCIMObjectPath(parser, instanceName);
1387                      
1388                          XmlReader::getParamValueElement(parser, newValue);
1389                      
1390                          CIMSetPropertyRequestMessage* message =
1391                              new CIMSetPropertyRequestMessage(
1392                                  String::EMPTY,         // messageId
1393                                  CIMNamespaceName(),    // nameSpace
1394                                  instanceName,
1395 kumpf           1.1              newValue.getParameterName(),
1396                                  newValue.getValue(),
1397 kumpf           1.35             QueueIdStack());
1398 kumpf           1.1  
1399 kumpf           1.38     return message;
1400 kumpf           1.1  }
1401                      
1402                      //
1403                      // _deserializeCIMInvokeMethodRequestMessage
1404                      //
1405                      CIMInvokeMethodRequestMessage*
1406                      CIMMessageDeserializer::_deserializeCIMInvokeMethodRequestMessage(
1407                          XmlParser& parser)
1408                      {
1409                          XmlEntry entry;
1410                          CIMParamValue genericParamValue;
1411                          CIMObjectPath instanceName;
1412                          CIMName methodName;
1413                          Array<CIMParamValue> inParameters;
1414                      
1415                          _deserializeCIMObjectPath(parser, instanceName);
1416                          _deserializeCIMName(parser, methodName);
1417                      
1418                          // Get inParameter array
1419                          XmlReader::expectStartTag(parser, entry, "PGPARAMS");
1420                          while (XmlReader::getParamValueElement(parser, genericParamValue))
1421 kumpf           1.1      {
1422                              inParameters.append(genericParamValue);
1423                          }
1424                          XmlReader::expectEndTag(parser, "PGPARAMS");
1425                      
1426                          CIMInvokeMethodRequestMessage* message =
1427                              new CIMInvokeMethodRequestMessage(
1428                                  String::EMPTY,         // messageId
1429                                  CIMNamespaceName(),    // nameSpace
1430                                  instanceName,
1431                                  methodName,
1432                                  inParameters,
1433 kumpf           1.35             QueueIdStack());
1434 kumpf           1.1  
1435 kumpf           1.38     return message;
1436 kumpf           1.1  }
1437                      
1438                      
1439                      //
1440                      //
1441                      // CIMIndicationRequestMessages
1442                      //
1443                      //
1444                      
1445                      //
1446                      // _deserializeCIMCreateSubscriptionRequestMessage
1447                      //
1448                      CIMCreateSubscriptionRequestMessage*
1449                      CIMMessageDeserializer::_deserializeCIMCreateSubscriptionRequestMessage(
1450                          XmlParser& parser)
1451                      {
1452                          XmlEntry entry;
1453                          CIMValue genericValue;
1454                          CIMName genericName;
1455                          CIMNamespaceName nameSpace;
1456                          CIMInstance subscriptionInstance;
1457 kumpf           1.1      Array<CIMName> classNames;
1458                          CIMPropertyList propertyList;
1459                          Uint16 repeatNotificationPolicy;
1460 kumpf           1.3      String query;
1461 kumpf           1.1  
1462                          _deserializeCIMNamespaceName(parser, nameSpace);
1463                          _deserializeCIMInstance(parser, subscriptionInstance);
1464                      
1465                          // Get classNames array
1466                          XmlReader::expectStartTag(parser, entry, "PGNAMEARRAY");
1467                          while (_deserializeCIMName(parser, genericName))
1468                          {
1469                              classNames.append(genericName);
1470                          }
1471                          XmlReader::expectEndTag(parser, "PGNAMEARRAY");
1472                      
1473                          _deserializeCIMPropertyList(parser, propertyList);
1474                      
1475                          // Decode repeatNotificationPolicy
1476                          XmlReader::getValueElement(parser, CIMTYPE_UINT16, genericValue);
1477                          genericValue.get(repeatNotificationPolicy);
1478                      
1479                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1480 kumpf           1.3      genericValue.get(query);
1481                      
1482 kumpf           1.1      CIMCreateSubscriptionRequestMessage* message =
1483                              new CIMCreateSubscriptionRequestMessage(
1484                                  String::EMPTY,         // messageId
1485                                  nameSpace,
1486                                  subscriptionInstance,
1487                                  classNames,
1488                                  propertyList,
1489                                  repeatNotificationPolicy,
1490 kumpf           1.3              query,
1491 kumpf           1.35             QueueIdStack());
1492 kumpf           1.1  
1493 kumpf           1.38     return message;
1494 kumpf           1.1  }
1495                      
1496                      //
1497                      // _deserializeCIMModifySubscriptionRequestMessage
1498                      //
1499                      CIMModifySubscriptionRequestMessage*
1500                      CIMMessageDeserializer::_deserializeCIMModifySubscriptionRequestMessage(
1501                          XmlParser& parser)
1502                      {
1503                          XmlEntry entry;
1504                          CIMValue genericValue;
1505                          CIMName genericName;
1506                          CIMNamespaceName nameSpace;
1507                          CIMInstance subscriptionInstance;
1508                          Array<CIMName> classNames;
1509                          CIMPropertyList propertyList;
1510                          Uint16 repeatNotificationPolicy;
1511 kumpf           1.3      String query;
1512 kumpf           1.1  
1513                          _deserializeCIMNamespaceName(parser, nameSpace);
1514                          _deserializeCIMInstance(parser, subscriptionInstance);
1515                      
1516                          // Get classNames array
1517                          XmlReader::expectStartTag(parser, entry, "PGNAMEARRAY");
1518                          while (_deserializeCIMName(parser, genericName))
1519                          {
1520                              classNames.append(genericName);
1521                          }
1522                          XmlReader::expectEndTag(parser, "PGNAMEARRAY");
1523                      
1524                          _deserializeCIMPropertyList(parser, propertyList);
1525                      
1526                          // Decode repeatNotificationPolicy
1527                          XmlReader::getValueElement(parser, CIMTYPE_UINT16, genericValue);
1528                          genericValue.get(repeatNotificationPolicy);
1529                      
1530                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1531 kumpf           1.3      genericValue.get(query);
1532                      
1533 kumpf           1.1      CIMModifySubscriptionRequestMessage* message =
1534                              new CIMModifySubscriptionRequestMessage(
1535                                  String::EMPTY,         // messageId
1536                                  nameSpace,
1537                                  subscriptionInstance,
1538                                  classNames,
1539                                  propertyList,
1540                                  repeatNotificationPolicy,
1541 kumpf           1.3              query,
1542 kumpf           1.35             QueueIdStack());
1543 kumpf           1.1  
1544 kumpf           1.38     return message;
1545 kumpf           1.1  }
1546                      
1547                      //
1548                      // _deserializeCIMDeleteSubscriptionRequestMessage
1549                      //
1550                      CIMDeleteSubscriptionRequestMessage*
1551                      CIMMessageDeserializer::_deserializeCIMDeleteSubscriptionRequestMessage(
1552                          XmlParser& parser)
1553                      {
1554                          XmlEntry entry;
1555                          CIMName genericName;
1556                          CIMNamespaceName nameSpace;
1557                          CIMInstance subscriptionInstance;
1558                          Array<CIMName> classNames;
1559                      
1560                          _deserializeCIMNamespaceName(parser, nameSpace);
1561                          _deserializeCIMInstance(parser, subscriptionInstance);
1562                      
1563                          // Get classNames array
1564                          XmlReader::expectStartTag(parser, entry, "PGNAMEARRAY");
1565                          while (_deserializeCIMName(parser, genericName))
1566 kumpf           1.1      {
1567                              classNames.append(genericName);
1568                          }
1569                          XmlReader::expectEndTag(parser, "PGNAMEARRAY");
1570                      
1571                          CIMDeleteSubscriptionRequestMessage* message =
1572                              new CIMDeleteSubscriptionRequestMessage(
1573                                  String::EMPTY,         // messageId
1574                                  nameSpace,
1575                                  subscriptionInstance,
1576                                  classNames,
1577 kumpf           1.35             QueueIdStack());
1578 kumpf           1.1  
1579 kumpf           1.38     return message;
1580 kumpf           1.1  }
1581                      
1582                      
1583                      //
1584                      //
1585                      // Other CIMRequestMessages
1586                      //
1587                      //
1588                      
1589                      //
1590                      // _deserializeCIMExportIndicationRequestMessage
1591                      //
1592                      CIMExportIndicationRequestMessage*
1593                      CIMMessageDeserializer::_deserializeCIMExportIndicationRequestMessage(
1594                          XmlParser& parser)
1595                      {
1596                          CIMValue genericValue;
1597                          String authType;
1598                          String userName;
1599                          String destinationPath;
1600                          CIMInstance indicationInstance;
1601 kumpf           1.1  
1602                          _deserializeUserInfo(parser, authType, userName);
1603                      
1604                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1605                          genericValue.get(destinationPath);
1606                      
1607                          _deserializeCIMInstance(parser, indicationInstance);
1608                      
1609                          CIMExportIndicationRequestMessage* message =
1610                              new CIMExportIndicationRequestMessage(
1611                                  String::EMPTY,         // messageId
1612                                  destinationPath,
1613                                  indicationInstance,
1614                                  QueueIdStack(),        // queueIds
1615                                  authType,
1616                                  userName);
1617                      
1618 kumpf           1.38     return message;
1619 kumpf           1.1  }
1620                      
1621                      //
1622                      // _deserializeCIMProcessIndicationRequestMessage
1623                      //
1624                      CIMProcessIndicationRequestMessage*
1625                      CIMMessageDeserializer::_deserializeCIMProcessIndicationRequestMessage(
1626                          XmlParser& parser)
1627                      {
1628                          XmlEntry entry;
1629                          CIMObjectPath genericObjectPath;
1630                          CIMNamespaceName nameSpace;
1631                          CIMInstance indicationInstance;
1632                          Array<CIMObjectPath> subscriptionInstanceNames;
1633                          CIMInstance provider;
1634                      
1635                          _deserializeCIMNamespaceName(parser, nameSpace);
1636                          _deserializeCIMInstance(parser, indicationInstance);
1637                      
1638                          // Get subscriptionInstanceNames array
1639                          XmlReader::expectStartTag(parser, entry, "PGPATHARRAY");
1640 kumpf           1.1      while (_deserializeCIMObjectPath(parser, genericObjectPath))
1641                          {
1642                              subscriptionInstanceNames.append(genericObjectPath);
1643                          }
1644                          XmlReader::expectEndTag(parser, "PGPATHARRAY");
1645                      
1646                          _deserializeCIMInstance(parser, provider);
1647                      
1648                          CIMProcessIndicationRequestMessage* message =
1649                              new CIMProcessIndicationRequestMessage(
1650                                  String::EMPTY,         // messageId
1651                                  nameSpace,
1652                                  indicationInstance,
1653                                  subscriptionInstanceNames,
1654                                  provider,
1655                                  QueueIdStack());       // queueIds
1656                      
1657 kumpf           1.38     return message;
1658 kumpf           1.1  }
1659                      
1660                      //
1661                      // _deserializeCIMDisableModuleRequestMessage
1662                      //
1663                      CIMDisableModuleRequestMessage*
1664                      CIMMessageDeserializer::_deserializeCIMDisableModuleRequestMessage(
1665                          XmlParser& parser)
1666                      {
1667                          XmlEntry entry;
1668                          CIMValue genericValue;
1669                          CIMInstance genericInstance;
1670                          Boolean genericBoolean;
1671                          String authType;
1672                          String userName;
1673                          CIMInstance providerModule;
1674                          Array<CIMInstance> providers;
1675                          Boolean disableProviderOnly;
1676                          Array<Boolean> indicationProviders;
1677                      
1678                          _deserializeUserInfo(parser, authType, userName);
1679 kumpf           1.1  
1680                          _deserializeCIMInstance(parser, providerModule);
1681                      
1682                          // Get providers array
1683                          XmlReader::expectStartTag(parser, entry, "PGINSTARRAY");
1684                          while (_deserializeCIMInstance(parser, genericInstance))
1685                          {
1686                              providers.append(genericInstance);
1687                          }
1688                          XmlReader::expectEndTag(parser, "PGINSTARRAY");
1689                      
1690                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1691                          genericValue.get(disableProviderOnly);
1692                      
1693                          // Get indicationProviders array
1694                          XmlReader::expectStartTag(parser, entry, "PGBOOLARRAY");
1695                          while (XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue))
1696                          {
1697                              genericValue.get(genericBoolean);
1698                              indicationProviders.append(genericBoolean);
1699                          }
1700 kumpf           1.1      XmlReader::expectEndTag(parser, "PGBOOLARRAY");
1701                      
1702                          CIMDisableModuleRequestMessage* message =
1703                              new CIMDisableModuleRequestMessage(
1704                                  String::EMPTY,         // messageId
1705                                  providerModule,
1706                                  providers,
1707                                  disableProviderOnly,
1708                                  indicationProviders,
1709                                  QueueIdStack(),        // queueIds
1710                                  authType,
1711                                  userName);
1712                      
1713 kumpf           1.38     return message;
1714 kumpf           1.1  }
1715                      
1716                      //
1717                      // _deserializeCIMEnableModuleRequestMessage
1718                      //
1719                      CIMEnableModuleRequestMessage*
1720                      CIMMessageDeserializer::_deserializeCIMEnableModuleRequestMessage(
1721                          XmlParser& parser)
1722                      {
1723                          String authType;
1724                          String userName;
1725                          CIMInstance providerModule;
1726                      
1727                          _deserializeUserInfo(parser, authType, userName);
1728                      
1729                          _deserializeCIMInstance(parser, providerModule);
1730                      
1731                          CIMEnableModuleRequestMessage* message =
1732                              new CIMEnableModuleRequestMessage(
1733                                  String::EMPTY,         // messageId
1734                                  providerModule,
1735 kumpf           1.1              QueueIdStack(),        // queueIds
1736                                  authType,
1737                                  userName);
1738                      
1739 kumpf           1.38     return message;
1740 kumpf           1.1  }
1741                      
1742                      //
1743                      // _deserializeCIMStopAllProvidersRequestMessage
1744                      //
1745                      CIMStopAllProvidersRequestMessage*
1746                      CIMMessageDeserializer::_deserializeCIMStopAllProvidersRequestMessage(
1747                          XmlParser& parser)
1748                      {
1749                          CIMStopAllProvidersRequestMessage* message =
1750                              new CIMStopAllProvidersRequestMessage(
1751                                  String::EMPTY,         // messageId
1752                                  QueueIdStack());       // queueIds
1753                      
1754 kumpf           1.38     return message;
1755 kumpf           1.1  }
1756                      
1757 kumpf           1.2  //
1758                      // _deserializeCIMInitializeProviderRequestMessage
1759                      //
1760                      CIMInitializeProviderRequestMessage*
1761                      CIMMessageDeserializer::_deserializeCIMInitializeProviderRequestMessage(
1762                          XmlParser& parser)
1763                      {
1764                          CIMInitializeProviderRequestMessage* message =
1765                              new CIMInitializeProviderRequestMessage(
1766                                  String::EMPTY,         // messageId
1767                                  QueueIdStack());       // queueIds
1768                      
1769 kumpf           1.38     return message;
1770 kumpf           1.2  }
1771                      
1772 kumpf           1.7  //
1773                      // _deserializeCIMInitializeProviderAgentRequestMessage
1774                      //
1775                      CIMInitializeProviderAgentRequestMessage*
1776                      CIMMessageDeserializer::_deserializeCIMInitializeProviderAgentRequestMessage(
1777                          XmlParser& parser)
1778                      {
1779                          XmlEntry entry;
1780                          CIMValue genericValue;
1781                          String pegasusHome;
1782                          Array<Pair<String, String> > configProperties;
1783                          Boolean bindVerbose;
1784 carolann.graves 1.22     Boolean subscriptionInitComplete;
1785 kumpf           1.7  
1786                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1787                          genericValue.get(pegasusHome);
1788                      
1789                          // Get configProperties array
1790                          XmlReader::expectStartTag(parser, entry, "PGCONFARRAY");
1791                          while (XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue))
1792                          {
1793                              String propertyName;
1794                              String propertyValue;
1795                      
1796                              genericValue.get(propertyName);
1797                      
1798                              XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1799                              genericValue.get(propertyValue);
1800                      
1801                              configProperties.append(
1802                                  Pair<String, String>(propertyName, propertyValue));
1803                          }
1804                          XmlReader::expectEndTag(parser, "PGCONFARRAY");
1805                      
1806 kumpf           1.7      XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1807                          genericValue.get(bindVerbose);
1808                      
1809 carolann.graves 1.22     XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1810                          genericValue.get(subscriptionInitComplete);
1811                      
1812 kumpf           1.7      CIMInitializeProviderAgentRequestMessage* message =
1813                              new CIMInitializeProviderAgentRequestMessage(
1814                                  String::EMPTY,         // messageId
1815                                  pegasusHome,
1816                                  configProperties,
1817                                  bindVerbose,
1818 carolann.graves 1.22             subscriptionInitComplete,
1819 kumpf           1.7              QueueIdStack());       // queueIds
1820                      
1821 kumpf           1.38     return message;
1822 kumpf           1.7  }
1823                      
1824 kumpf           1.8  //
1825                      // _deserializeCIMNotifyConfigChangeRequestMessage
1826                      //
1827                      CIMNotifyConfigChangeRequestMessage*
1828                      CIMMessageDeserializer::_deserializeCIMNotifyConfigChangeRequestMessage(
1829                          XmlParser& parser)
1830                      {
1831                          CIMValue genericValue;
1832                          String propertyName;
1833                          String newPropertyValue;
1834                          Boolean currentValueModified;
1835                      
1836                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1837                          genericValue.get(propertyName);
1838                      
1839                          XmlReader::getValueElement(parser, CIMTYPE_STRING, genericValue);
1840                          genericValue.get(newPropertyValue);
1841                      
1842                          XmlReader::getValueElement(parser, CIMTYPE_BOOLEAN, genericValue);
1843                          genericValue.get(currentValueModified);
1844                      
1845 kumpf           1.8      CIMNotifyConfigChangeRequestMessage* message =
1846                              new CIMNotifyConfigChangeRequestMessage(
1847                                  String::EMPTY,         // messageId
1848                                  propertyName,
1849                                  newPropertyValue,
1850                                  currentValueModified,
1851                                  QueueIdStack());        // queueIds
1852                      
1853 kumpf           1.38     return message;
1854 kumpf           1.8  }
1855 kumpf           1.1  
1856                      //
1857 carolann.graves 1.22 // _deserializeCIMSubscriptionInitCompleteRequestMessage
1858                      //
1859                      CIMSubscriptionInitCompleteRequestMessage*
1860                      CIMMessageDeserializer::_deserializeCIMSubscriptionInitCompleteRequestMessage(
1861                          XmlParser& parser)
1862                      {
1863                          CIMSubscriptionInitCompleteRequestMessage* message =
1864                              new CIMSubscriptionInitCompleteRequestMessage(
1865                                  String::EMPTY,         // messageId
1866                                  QueueIdStack());       // queueIds
1867                      
1868 kumpf           1.38     return message;
1869 carolann.graves 1.22 }
1870                      
1871                      //
1872 kumpf           1.1  //
1873                      // Response Messages
1874                      //
1875                      //
1876                      
1877                      //
1878                      //
1879                      // CIM Operation Response Messages
1880                      //
1881                      //
1882                      
1883                      //
1884                      // _deserializeCIMGetInstanceResponseMessage
1885                      //
1886                      CIMGetInstanceResponseMessage*
1887                      CIMMessageDeserializer::_deserializeCIMGetInstanceResponseMessage(
1888                          XmlParser& parser)
1889                      {
1890                          CIMInstance cimInstance;
1891                      
1892                          _deserializeCIMInstance(parser, cimInstance);
1893 kumpf           1.1  
1894                          CIMGetInstanceResponseMessage* message =
1895                              new CIMGetInstanceResponseMessage(
1896                                  String::EMPTY,         // messageId
1897                                  CIMException(),        // cimException
1898                                  QueueIdStack(),        // queueIds
1899                                  cimInstance);
1900                      
1901 kumpf           1.38     return message;
1902 kumpf           1.1  }
1903                      
1904                      //
1905                      // _deserializeCIMDeleteInstanceResponseMessage
1906                      //
1907                      CIMDeleteInstanceResponseMessage*
1908                      CIMMessageDeserializer::_deserializeCIMDeleteInstanceResponseMessage(
1909                          XmlParser& parser)
1910                      {
1911                          CIMDeleteInstanceResponseMessage* message =
1912                              new CIMDeleteInstanceResponseMessage(
1913                                  String::EMPTY,         // messageId
1914                                  CIMException(),        // cimException
1915                                  QueueIdStack());       // queueIds
1916                      
1917 kumpf           1.38     return message;
1918 kumpf           1.1  }
1919                      
1920                      //
1921                      // _deserializeCIMCreateInstanceResponseMessage
1922                      //
1923                      CIMCreateInstanceResponseMessage*
1924                      CIMMessageDeserializer::_deserializeCIMCreateInstanceResponseMessage(
1925                          XmlParser& parser)
1926                      {
1927                          CIMObjectPath instanceName;
1928                      
1929                          _deserializeCIMObjectPath(parser, instanceName);
1930                      
1931                          CIMCreateInstanceResponseMessage* message =
1932                              new CIMCreateInstanceResponseMessage(
1933                                  String::EMPTY,         // messageId
1934                                  CIMException(),        // cimException
1935                                  QueueIdStack(),        // queueIds
1936                                  instanceName);
1937                      
1938 kumpf           1.38     return message;
1939 kumpf           1.1  }
1940                      
1941                      //
1942                      // _deserializeCIMModifyInstanceResponseMessage
1943                      //
1944                      CIMModifyInstanceResponseMessage*
1945                      CIMMessageDeserializer::_deserializeCIMModifyInstanceResponseMessage(
1946                          XmlParser& parser)
1947                      {
1948                          CIMModifyInstanceResponseMessage* message =
1949                              new CIMModifyInstanceResponseMessage(
1950                                  String::EMPTY,         // messageId
1951                                  CIMException(),        // cimException
1952                                  QueueIdStack());       // queueIds
1953                      
1954 kumpf           1.38     return message;
1955 kumpf           1.1  }
1956                      
1957                      //
1958                      // _deserializeCIMEnumerateInstancesResponseMessage
1959                      //
1960                      CIMEnumerateInstancesResponseMessage*
1961                      CIMMessageDeserializer::_deserializeCIMEnumerateInstancesResponseMessage(
1962                          XmlParser& parser)
1963                      {
1964                          XmlEntry entry;
1965                          CIMInstance genericInstance;
1966                          Array<CIMInstance> cimNamedInstances;
1967                      
1968                          // Get cimNamedInstances array
1969                          XmlReader::expectStartTag(parser, entry, "PGINSTARRAY");
1970                          while (_deserializeCIMInstance(parser, genericInstance))
1971                          {
1972                              cimNamedInstances.append(genericInstance);
1973                          }
1974                          XmlReader::expectEndTag(parser, "PGINSTARRAY");
1975                      
1976 kumpf           1.1      CIMEnumerateInstancesResponseMessage* message =
1977                              new CIMEnumerateInstancesResponseMessage(
1978                                  String::EMPTY,         // messageId
1979                                  CIMException(),        // cimException
1980                                  QueueIdStack(),        // queueIds
1981                                  cimNamedInstances);
1982                      
1983 kumpf           1.38     return message;
1984 kumpf           1.1  }
1985                      
1986                      //
1987                      // _deserializeCIMEnumerateInstanceNamesResponseMessage
1988                      //
1989                      CIMEnumerateInstanceNamesResponseMessage*
1990                      CIMMessageDeserializer::_deserializeCIMEnumerateInstanceNamesResponseMessage(
1991                          XmlParser& parser)
1992                      {
1993                          XmlEntry entry;
1994                          CIMObjectPath genericObjectPath;
1995                          Array<CIMObjectPath> instanceNames;
1996                      
1997                          // Get instanceNames array
1998                          XmlReader::expectStartTag(parser, entry, "PGPATHARRAY");
1999                          while (_deserializeCIMObjectPath(parser, genericObjectPath))
2000                          {
2001                              instanceNames.append(genericObjectPath);
2002                          }
2003                          XmlReader::expectEndTag(parser, "PGPATHARRAY");
2004                      
2005 kumpf           1.1      CIMEnumerateInstanceNamesResponseMessage* message =
2006                              new CIMEnumerateInstanceNamesResponseMessage(
2007                                  String::EMPTY,         // messageId
2008                                  CIMException(),        // cimException
2009                                  QueueIdStack(),        // queueIds
2010                                  instanceNames);
2011                      
2012 kumpf           1.38     return message;
2013 kumpf           1.1  }
2014                      
2015                      //
2016                      // _deserializeCIMExecQueryResponseMessage
2017                      //
2018                      CIMExecQueryResponseMessage*
2019                      CIMMessageDeserializer::_deserializeCIMExecQueryResponseMessage(
2020                          XmlParser& parser)
2021                      {
2022                          XmlEntry entry;
2023                          CIMObject genericObject;
2024                          Array<CIMObject> cimObjects;
2025                      
2026                          // Get cimObjects array
2027                          XmlReader::expectStartTag(parser, entry, "PGOBJARRAY");
2028 jenny.yu        1.20     while (_deserializeCIMObject(parser, genericObject))
2029 kumpf           1.1      {
2030                              cimObjects.append(genericObject);
2031                          }
2032                          XmlReader::expectEndTag(parser, "PGOBJARRAY");
2033                      
2034                          CIMExecQueryResponseMessage* message =
2035                              new CIMExecQueryResponseMessage(
2036                                  String::EMPTY,         // messageId
2037                                  CIMException(),        // cimException
2038                                  QueueIdStack(),        // queueIds
2039                                  cimObjects);
2040                      
2041 kumpf           1.38     return message;
2042 kumpf           1.1  }
2043                      
2044                      //
2045                      // _deserializeCIMAssociatorsResponseMessage
2046                      //
2047                      CIMAssociatorsResponseMessage*
2048                      CIMMessageDeserializer::_deserializeCIMAssociatorsResponseMessage(
2049                          XmlParser& parser)
2050                      {
2051                          XmlEntry entry;
2052                          CIMObject genericObject;
2053                          Array<CIMObject> cimObjects;
2054                      
2055                          // Get cimObjects array
2056                          XmlReader::expectStartTag(parser, entry, "PGOBJARRAY");
2057 jenny.yu        1.20     while (_deserializeCIMObject(parser, genericObject))
2058 kumpf           1.1      {
2059                              cimObjects.append(genericObject);
2060                          }
2061                          XmlReader::expectEndTag(parser, "PGOBJARRAY");
2062                      
2063                          CIMAssociatorsResponseMessage* message =
2064                              new CIMAssociatorsResponseMessage(
2065                                  String::EMPTY,         // messageId
2066                                  CIMException(),        // cimException
2067                                  QueueIdStack(),        // queueIds
2068                                  cimObjects);
2069                      
2070 kumpf           1.38     return message;
2071 kumpf           1.1  }
2072                      
2073                      //
2074                      // _deserializeCIMAssociatorNamesResponseMessage
2075                      //
2076                      CIMAssociatorNamesResponseMessage*
2077                      CIMMessageDeserializer::_deserializeCIMAssociatorNamesResponseMessage(
2078                          XmlParser& parser)
2079                      {
2080                          XmlEntry entry;
2081                          CIMObjectPath genericObjectPath;
2082                          Array<CIMObjectPath> objectNames;
2083                      
2084                          // Get objectNames array
2085                          XmlReader::expectStartTag(parser, entry, "PGPATHARRAY");
2086                          while (_deserializeCIMObjectPath(parser, genericObjectPath))
2087                          {
2088                              objectNames.append(genericObjectPath);
2089                          }
2090                          XmlReader::expectEndTag(parser, "PGPATHARRAY");
2091                      
2092 kumpf           1.1      CIMAssociatorNamesResponseMessage* message =
2093                              new CIMAssociatorNamesResponseMessage(
2094                                  String::EMPTY,         // messageId
2095                                  CIMException(),        // cimException
2096                                  QueueIdStack(),        // queueIds
2097                                  objectNames);
2098                      
2099 kumpf           1.38     return message;
2100 kumpf           1.1  }
2101                      
2102                      //
2103                      // _deserializeCIMReferencesResponseMessage
2104                      //
2105                      CIMReferencesResponseMessage*
2106                      CIMMessageDeserializer::_deserializeCIMReferencesResponseMessage(
2107                          XmlParser& parser)
2108                      {
2109                          XmlEntry entry;
2110                          CIMObject genericObject;
2111                          Array<CIMObject> cimObjects;
2112                      
2113                          // Get cimObjects array
2114                          XmlReader::expectStartTag(parser, entry, "PGOBJARRAY");
2115 jenny.yu        1.20     while (_deserializeCIMObject(parser, genericObject))
2116 kumpf           1.1      {
2117                              cimObjects.append(genericObject);
2118                          }
2119                          XmlReader::expectEndTag(parser, "PGOBJARRAY");
2120                      
2121                          CIMReferencesResponseMessage* message =
2122                              new CIMReferencesResponseMessage(
2123                                  String::EMPTY,         // messageId
2124                                  CIMException(),        // cimException
2125                                  QueueIdStack(),        // queueIds
2126                                  cimObjects);
2127                      
2128 kumpf           1.38     return message;
2129 kumpf           1.1  }
2130                      
2131                      //
2132                      // _deserializeCIMReferenceNamesResponseMessage
2133                      //
2134                      CIMReferenceNamesResponseMessage*
2135                      CIMMessageDeserializer::_deserializeCIMReferenceNamesResponseMessage(
2136                          XmlParser& parser)
2137                      {
2138                          XmlEntry entry;
2139                          CIMObjectPath genericObjectPath;
2140                          Array<CIMObjectPath> objectNames;
2141                      
2142                          // Get objectNames array
2143                          XmlReader::expectStartTag(parser, entry, "PGPATHARRAY");
2144                          while (_deserializeCIMObjectPath(parser, genericObjectPath))
2145                          {
2146                              objectNames.append(genericObjectPath);
2147                          }
2148                          XmlReader::expectEndTag(parser, "PGPATHARRAY");
2149                      
2150 kumpf           1.1      CIMReferenceNamesResponseMessage* message =
2151                              new CIMReferenceNamesResponseMessage(
2152                                  String::EMPTY,         // messageId
2153                                  CIMException(),        // cimException
2154                                  QueueIdStack(),        // queueIds
2155                                  objectNames);
2156                      
2157 kumpf           1.38     return message;
2158 kumpf           1.1  }
2159                      
2160                      //
2161                      // _deserializeCIMGetPropertyResponseMessage
2162                      //
2163                      CIMGetPropertyResponseMessage*
2164                      CIMMessageDeserializer::_deserializeCIMGetPropertyResponseMessage(
2165                          XmlParser& parser)
2166                      {
2167                          CIMParamValue value;
2168                      
2169                          XmlReader::getParamValueElement(parser, value);
2170                      
2171                          CIMGetPropertyResponseMessage* message =
2172                              new CIMGetPropertyResponseMessage(
2173                                  String::EMPTY,         // messageId
2174                                  CIMException(),        // cimException
2175                                  QueueIdStack(),        // queueIds
2176                                  value.getValue());
2177                      
2178 kumpf           1.38     return message;
2179 kumpf           1.1  }
2180                      
2181                      //
2182                      // _deserializeCIMSetPropertyResponseMessage
2183                      //
2184                      CIMSetPropertyResponseMessage*
2185                      CIMMessageDeserializer::_deserializeCIMSetPropertyResponseMessage(
2186                          XmlParser& parser)
2187                      {
2188                          CIMSetPropertyResponseMessage* message =
2189                              new CIMSetPropertyResponseMessage(
2190                                  String::EMPTY,         // messageId
2191                                  CIMException(),        // cimException
2192                                  QueueIdStack());       // queueIds
2193                      
2194 kumpf           1.38     return message;
2195 kumpf           1.1  }
2196                      
2197                      //
2198                      // _deserializeCIMInvokeMethodResponseMessage
2199                      //
2200                      CIMInvokeMethodResponseMessage*
2201                      CIMMessageDeserializer::_deserializeCIMInvokeMethodResponseMessage(
2202                          XmlParser& parser)
2203                      {
2204                          XmlEntry entry;
2205                          CIMParamValue genericParamValue;
2206                          CIMParamValue retValue;
2207                          CIMName methodName;
2208                          Array<CIMParamValue> outParameters;
2209                      
2210                          XmlReader::getParamValueElement(parser, retValue);
2211                      
2212                          // Get outParameter array
2213                          XmlReader::expectStartTag(parser, entry, "PGPARAMS");
2214                          while (XmlReader::getParamValueElement(parser, genericParamValue))
2215                          {
2216 kumpf           1.1          outParameters.append(genericParamValue);
2217                          }
2218                          XmlReader::expectEndTag(parser, "PGPARAMS");
2219                      
2220                          _deserializeCIMName(parser, methodName);
2221                      
2222                          CIMInvokeMethodResponseMessage* message =
2223                              new CIMInvokeMethodResponseMessage(
2224                                  String::EMPTY,         // messageId
2225                                  CIMException(),        // cimException
2226                                  QueueIdStack(),        // queueIds
2227                                  retValue.getValue(),
2228                                  outParameters,
2229                                  methodName);
2230                      
2231 kumpf           1.38     return message;
2232 kumpf           1.1  }
2233                      
2234                      
2235                      //
2236                      //
2237                      // CIM Indication Response Messages
2238                      //
2239                      //
2240                      
2241                      //
2242                      // _deserializeCIMCreateSubscriptionResponseMessage
2243                      //
2244                      CIMCreateSubscriptionResponseMessage*
2245                      CIMMessageDeserializer::_deserializeCIMCreateSubscriptionResponseMessage(
2246                          XmlParser& parser)
2247                      {
2248                          CIMCreateSubscriptionResponseMessage* message =
2249                              new CIMCreateSubscriptionResponseMessage(
2250                                  String::EMPTY,         // messageId
2251                                  CIMException(),        // cimException
2252                                  QueueIdStack());       // queueIds
2253 kumpf           1.1  
2254 kumpf           1.38     return message;
2255 kumpf           1.1  }
2256                      
2257                      //
2258                      // _deserializeCIMModifySubscriptionResponseMessage
2259                      //
2260                      CIMModifySubscriptionResponseMessage*
2261                      CIMMessageDeserializer::_deserializeCIMModifySubscriptionResponseMessage(
2262                          XmlParser& parser)
2263                      {
2264                          CIMModifySubscriptionResponseMessage* message =
2265                              new CIMModifySubscriptionResponseMessage(
2266                                  String::EMPTY,         // messageId
2267                                  CIMException(),        // cimException
2268                                  QueueIdStack());       // queueIds
2269                      
2270 kumpf           1.38     return message;
2271 kumpf           1.1  }
2272                      
2273                      //
2274                      // _deserializeCIMDeleteSubscriptionResponseMessage
2275                      //
2276                      CIMDeleteSubscriptionResponseMessage*
2277                      CIMMessageDeserializer::_deserializeCIMDeleteSubscriptionResponseMessage(
2278                          XmlParser& parser)
2279                      {
2280                          CIMDeleteSubscriptionResponseMessage* message =
2281                              new CIMDeleteSubscriptionResponseMessage(
2282                                  String::EMPTY,         // messageId
2283                                  CIMException(),        // cimException
2284                                  QueueIdStack());       // queueIds
2285                      
2286 kumpf           1.38     return message;
2287 kumpf           1.1  }
2288                      
2289                      
2290                      //
2291                      //
2292                      // Other CIMResponseMessages
2293                      //
2294                      //
2295                      
2296                      //
2297                      // _deserializeCIMExportIndicationResponseMessage
2298                      //
2299                      CIMExportIndicationResponseMessage*
2300                      CIMMessageDeserializer::_deserializeCIMExportIndicationResponseMessage(
2301                          XmlParser& parser)
2302                      {
2303                          CIMExportIndicationResponseMessage* message =
2304                              new CIMExportIndicationResponseMessage(
2305                                  String::EMPTY,         // messageId
2306                                  CIMException(),        // cimException
2307                                  QueueIdStack());       // queueIds
2308 kumpf           1.1  
2309 kumpf           1.38     return message;
2310 kumpf           1.1  }
2311                      
2312                      //
2313                      // _deserializeCIMProcessIndicationResponseMessage
2314                      //
2315                      CIMProcessIndicationResponseMessage*
2316                      CIMMessageDeserializer::_deserializeCIMProcessIndicationResponseMessage(
2317                          XmlParser& parser)
2318                      {
2319                          CIMProcessIndicationResponseMessage* message =
2320                              new CIMProcessIndicationResponseMessage(
2321                                  String::EMPTY,         // messageId
2322                                  CIMException(),        // cimException
2323                                  QueueIdStack());       // queueIds
2324                      
2325 kumpf           1.38     return message;
2326 kumpf           1.1  }
2327                      
2328                      //
2329                      // _deserializeCIMDisableModuleResponseMessage
2330                      //
2331                      CIMDisableModuleResponseMessage*
2332                      CIMMessageDeserializer::_deserializeCIMDisableModuleResponseMessage(
2333                          XmlParser& parser)
2334                      {
2335                          XmlEntry entry;
2336                          CIMValue genericValue;
2337                          Uint16 genericUint16;
2338                          Array<Uint16> operationalStatus;
2339                      
2340                          // Get operationalStatus array
2341                          XmlReader::expectStartTag(parser, entry, "PGUINT16ARRAY");
2342                          while (XmlReader::getValueElement(parser, CIMTYPE_UINT16, genericValue))
2343                          {
2344                              genericValue.get(genericUint16);
2345                              operationalStatus.append(genericUint16);
2346                          }
2347 kumpf           1.1      XmlReader::expectEndTag(parser, "PGUINT16ARRAY");
2348                      
2349                          CIMDisableModuleResponseMessage* message =
2350                              new CIMDisableModuleResponseMessage(
2351                                  String::EMPTY,         // messageId
2352                                  CIMException(),        // cimException
2353                                  QueueIdStack(),        // queueIds
2354                                  operationalStatus);
2355                      
2356 kumpf           1.38     return message;
2357 kumpf           1.1  }
2358                      
2359                      //
2360                      // _deserializeCIMEnableModuleResponseMessage
2361                      //
2362                      CIMEnableModuleResponseMessage*
2363                      CIMMessageDeserializer::_deserializeCIMEnableModuleResponseMessage(
2364                          XmlParser& parser)
2365                      {
2366                          XmlEntry entry;
2367                          CIMValue genericValue;
2368                          Uint16 genericUint16;
2369                          Array<Uint16> operationalStatus;
2370                      
2371                          // Get operationalStatus array
2372                          XmlReader::expectStartTag(parser, entry, "PGUINT16ARRAY");
2373                          while (XmlReader::getValueElement(parser, CIMTYPE_UINT16, genericValue))
2374                          {
2375                              genericValue.get(genericUint16);
2376                              operationalStatus.append(genericUint16);
2377                          }
2378 kumpf           1.1      XmlReader::expectEndTag(parser, "PGUINT16ARRAY");
2379                      
2380                          CIMEnableModuleResponseMessage* message =
2381                              new CIMEnableModuleResponseMessage(
2382                                  String::EMPTY,         // messageId
2383                                  CIMException(),        // cimException
2384                                  QueueIdStack(),        // queueIds
2385                                  operationalStatus);
2386                      
2387 kumpf           1.38     return message;
2388 kumpf           1.1  }
2389                      
2390                      //
2391                      // _deserializeCIMStopAllProvidersResponseMessage
2392                      //
2393                      CIMStopAllProvidersResponseMessage*
2394                      CIMMessageDeserializer::_deserializeCIMStopAllProvidersResponseMessage(
2395                          XmlParser& parser)
2396                      {
2397                          CIMStopAllProvidersResponseMessage* message =
2398                              new CIMStopAllProvidersResponseMessage(
2399                                  String::EMPTY,         // messageId
2400                                  CIMException(),        // cimException
2401                                  QueueIdStack());       // queueIds
2402                      
2403 kumpf           1.38     return message;
2404 kumpf           1.1  }
2405                      
2406 kumpf           1.2  //
2407                      // _deserializeCIMInitializeProviderResponseMessage
2408                      //
2409                      CIMInitializeProviderResponseMessage*
2410                      CIMMessageDeserializer::_deserializeCIMInitializeProviderResponseMessage(
2411                          XmlParser& parser)
2412                      {
2413                          CIMInitializeProviderResponseMessage* message =
2414                              new CIMInitializeProviderResponseMessage(
2415                                  String::EMPTY,         // messageId
2416                                  CIMException(),        // cimException
2417                                  QueueIdStack());       // queueIds
2418                      
2419 kumpf           1.38     return message;
2420 kumpf           1.2  }
2421                      
2422 kumpf           1.7  //
2423                      // _deserializeCIMInitializeProviderAgentResponseMessage
2424                      //
2425                      CIMInitializeProviderAgentResponseMessage*
2426                      CIMMessageDeserializer::_deserializeCIMInitializeProviderAgentResponseMessage(
2427                          XmlParser& parser)
2428                      {
2429                          CIMInitializeProviderAgentResponseMessage* message =
2430                              new CIMInitializeProviderAgentResponseMessage(
2431                                  String::EMPTY,         // messageId
2432                                  CIMException(),        // cimException
2433                                  QueueIdStack());       // queueIds
2434                      
2435 kumpf           1.38     return message;
2436 kumpf           1.7  }
2437                      
2438 kumpf           1.8  //
2439                      // _deserializeCIMNotifyConfigChangeResponseMessage
2440                      //
2441                      CIMNotifyConfigChangeResponseMessage*
2442                      CIMMessageDeserializer::_deserializeCIMNotifyConfigChangeResponseMessage(
2443                          XmlParser& parser)
2444                      {
2445                          CIMNotifyConfigChangeResponseMessage* message =
2446                              new CIMNotifyConfigChangeResponseMessage(
2447                                  String::EMPTY,         // messageId
2448                                  CIMException(),        // cimException
2449                                  QueueIdStack());       // queueIds
2450                      
2451 kumpf           1.38     return message;
2452 kumpf           1.8  }
2453                      
2454 carolann.graves 1.22 //
2455                      // _deserializeCIMSubscriptionInitCompleteResponseMessage
2456                      //
2457                      CIMSubscriptionInitCompleteResponseMessage*
2458                      CIMMessageDeserializer::_deserializeCIMSubscriptionInitCompleteResponseMessage(
2459                          XmlParser& parser)
2460                      {
2461                          CIMSubscriptionInitCompleteResponseMessage* message =
2462                              new CIMSubscriptionInitCompleteResponseMessage(
2463                                  String::EMPTY,         // messageId
2464                                  CIMException(),        // cimException
2465                                  QueueIdStack());       // queueIds
2466                      
2467 kumpf           1.38     return message;
2468 carolann.graves 1.22 }
2469 kumpf           1.1  
2470                      PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2