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

   1 martin 1.4 //%LICENSE////////////////////////////////////////////////////////////////
   2 martin 1.5 //
   3 martin 1.4 // Licensed to The Open Group (TOG) under one or more contributor license
   4            // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
   5            // this work for additional information regarding copyright ownership.
   6            // Each contributor licenses this file to you under the OpenPegasus Open
   7            // Source License; you may not use this file except in compliance with the
   8            // License.
   9 martin 1.5 //
  10 martin 1.4 // Permission is hereby granted, free of charge, to any person obtaining a
  11            // copy of this software and associated documentation files (the "Software"),
  12            // to deal in the Software without restriction, including without limitation
  13            // the rights to use, copy, modify, merge, publish, distribute, sublicense,
  14            // and/or sell copies of the Software, and to permit persons to whom the
  15            // Software is furnished to do so, subject to the following conditions:
  16 martin 1.5 //
  17 martin 1.4 // The above copyright notice and this permission notice shall be included
  18            // in all copies or substantial portions of the Software.
  19 martin 1.5 //
  20 martin 1.4 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  21 martin 1.5 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  22 martin 1.4 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  23            // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
  24            // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  25            // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  26            // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  27 martin 1.5 //
  28 martin 1.4 //////////////////////////////////////////////////////////////////////////
  29 mike   1.1 //
  30            //%/////////////////////////////////////////////////////////////////////////////
  31            
  32            #include <Pegasus/Common/XmlReader.h>
  33            #include <Pegasus/Common/OperationContextInternal.h>
  34            #include <Pegasus/Common/System.h>
  35            
  36            #include "CIMBinMsgDeserializer.h"
  37            
  38            PEGASUS_NAMESPACE_BEGIN
  39            
  40            CIMMessage* CIMBinMsgDeserializer::deserialize(
  41                CIMBuffer& in,
  42                size_t size)
  43            {
  44                if (size == 0)
  45                    return 0;
  46            
  47                CIMMessage* msg = 0;
  48                String typeString;
  49                OperationContext operationContext;
  50 mike   1.1     bool present;
  51            
  52                // [messageId]
  53            
  54                String messageID;
  55            
  56                if (!in.getString(messageID))
  57                    return 0;
  58            
  59 mike   1.3     // [binaryRequest]
  60            
  61                Boolean binaryRequest;
  62            
  63                if (!in.getBoolean(binaryRequest))
  64                    return 0;
  65            
  66                // [binaryResponse]
  67            
  68                Boolean binaryResponse;
  69            
  70                if (!in.getBoolean(binaryResponse))
  71                    return 0;
  72            
  73 mike   1.1     // [type]
  74            
  75                MessageType type;
  76                {
  77                    Uint32 tmp;
  78            
  79                    if (!in.getUint32(tmp))
  80                        return 0;
  81            
  82                    type = MessageType(tmp);
  83                }
  84            
  85            #ifndef PEGASUS_DISABLE_PERFINST
  86            
  87                // [serverStartTimeMicroseconds]
  88                Uint64 serverStartTimeMicroseconds;
  89 kumpf  1.6 
  90 mike   1.1     if (!in.getUint64(serverStartTimeMicroseconds))
  91 karl   1.11.2.3         return 0;
  92 mike   1.1      
  93                     // [providerTimeMicroseconds]
  94                     Uint64 providerTimeMicroseconds;
  95                 
  96                     if (!in.getUint64(providerTimeMicroseconds))
  97 karl   1.11.2.3         return 0;
  98 mike   1.1      
  99                 #endif
 100                 
 101                     // [isComplete]
 102                 
 103                     Boolean isComplete;
 104                 
 105                     if (!in.getBoolean(isComplete))
 106 karl   1.11.2.3         return 0;
 107 mike   1.1      
 108                     // [index]
 109                 
 110                     Uint32 index;
 111                 
 112                     if (!in.getUint32(index))
 113 karl   1.11.2.3         return 0;
 114 mike   1.1      
 115                     // [operationContext]
 116                 
 117                     if (!_getOperationContext(in, operationContext))
 118                         return 0;
 119                 
 120                     // [CIMRequestMessage]
 121                 
 122                     if (!in.getPresent(present))
 123                         return 0;
 124                 
 125                     if (present)
 126                     {
 127                         if (!(msg = _getRequestMessage(in, type)))
 128                             return 0;
 129                     }
 130                 
 131                     // [CIMResponseMessage]
 132                 
 133                     if (!in.getPresent(present))
 134                         return 0;
 135 mike   1.1      
 136                     if (present)
 137                     {
 138 mike   1.3              if (!(msg = _getResponseMessage(in, type, binaryResponse)))
 139 mike   1.1                  return 0;
 140                     }
 141                 
 142                     // Initialize the messge:
 143                 
 144                     msg->messageId = messageID;
 145 mike   1.3          msg->binaryRequest = binaryRequest;
 146                     msg->binaryResponse = binaryResponse;
 147 mike   1.1      #ifndef PEGASUS_DISABLE_PERFINST
 148                     msg->setServerStartTime(serverStartTimeMicroseconds);
 149                     msg->setProviderTime(providerTimeMicroseconds);
 150                 #endif
 151                     msg->setComplete(isComplete);
 152                     msg->setIndex(index);
 153                     msg->operationContext = operationContext;
 154                 
 155                     return msg;
 156                 }
 157                 
 158                 CIMRequestMessage* CIMBinMsgDeserializer::_getRequestMessage(
 159                     CIMBuffer& in,
 160                     MessageType type)
 161                 {
 162                     CIMRequestMessage* msg = 0;
 163                     XmlEntry entry;
 164                     QueueIdStack queueIdStack;
 165                     Boolean present;
 166                 
 167                     // [queueIdStack]
 168 mike   1.1      
 169                     _getQueueIdStack(in, queueIdStack);
 170                 
 171                     // [CIMOperationRequestMessage]
 172                 
 173                     if (!in.getPresent(present))
 174                         return 0;
 175                 
 176                     if (present)
 177                     {
 178                         // [userInfo]
 179                 
 180                         String authType;
 181                         String userName;
 182                 
 183                         if (!_getUserInfo(in, authType, userName))
 184                             return 0;
 185                 
 186                         // [nameSpace]
 187                 
 188                         CIMNamespaceName nameSpace;
 189 mike   1.1      
 190                         if (!_getNamespaceName(in, nameSpace))
 191                             return 0;
 192                 
 193                         // [className]
 194                 
 195                         CIMName className;
 196                 
 197                         if (!_getName(in, className))
 198                             return 0;
 199                 
 200                         // [providerType]
 201                 
 202                         Uint32 providerType;
 203                 
 204                         if (!in.getUint32(providerType))
 205                             return 0;
 206                 
 207                         // [message]
 208                 
 209                         CIMOperationRequestMessage* oreq = 0;
 210 mike   1.1      
 211                         switch (type)
 212                         {
 213                             case CIM_GET_INSTANCE_REQUEST_MESSAGE:
 214                                 oreq = _getGetInstanceRequestMessage(in);
 215                                 break;
 216                             case CIM_DELETE_INSTANCE_REQUEST_MESSAGE:
 217                                 oreq = _getDeleteInstanceRequestMessage(in);
 218                                 break;
 219                             case CIM_CREATE_INSTANCE_REQUEST_MESSAGE:
 220                                 oreq = _getCreateInstanceRequestMessage(in);
 221                                 break;
 222                             case CIM_MODIFY_INSTANCE_REQUEST_MESSAGE:
 223                                 oreq = _getModifyInstanceRequestMessage(in);
 224                                 break;
 225                             case CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE:
 226                                 oreq = _getEnumerateInstancesRequestMessage(in);
 227                                 break;
 228                             case CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE:
 229 karl   1.11.2.3                 oreq = _getEnumerateInstanceNamesRequestMessage();
 230 mike   1.1                      break;
 231                             case CIM_EXEC_QUERY_REQUEST_MESSAGE:
 232                                 oreq = _getExecQueryRequestMessage(in);
 233                                 break;
 234                             case CIM_GET_PROPERTY_REQUEST_MESSAGE:
 235                                 oreq = _getGetPropertyRequestMessage(in);
 236                                 break;
 237                             case CIM_SET_PROPERTY_REQUEST_MESSAGE:
 238                                 oreq = _getSetPropertyRequestMessage(in);
 239                                 break;
 240                             case CIM_ASSOCIATORS_REQUEST_MESSAGE:
 241                                 oreq = _getAssociatorsRequestMessage(in);
 242                                 break;
 243                             case CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE:
 244                                 oreq = _getAssociatorNamesRequestMessage(in);
 245                                 break;
 246                             case CIM_REFERENCES_REQUEST_MESSAGE:
 247                                 oreq = _getReferencesRequestMessage(in);
 248                                 break;
 249                             case CIM_REFERENCE_NAMES_REQUEST_MESSAGE:
 250                                 oreq = _getReferenceNamesRequestMessage(in);
 251 mike   1.1                      break;
 252                             case CIM_INVOKE_METHOD_REQUEST_MESSAGE:
 253                                 oreq = _getInvokeMethodRequestMessage(in);
 254                                 break;
 255                             default:
 256 karl   1.11.2.3                 PEGASUS_UNREACHABLE(PEGASUS_ASSERT(0);)
 257 mike   1.1                      break;
 258                         }
 259                 
 260                         if (!oreq)
 261                             return 0;
 262                 
 263                         oreq->authType = authType;
 264                         oreq->userName = userName;
 265                         oreq->nameSpace = nameSpace;
 266                         oreq->className = className;
 267                         oreq->providerType = providerType;
 268                         msg = oreq;
 269                     }
 270                 
 271                     // [CIMIndicationRequestMessage]
 272                 
 273                     if (!in.getPresent(present))
 274                         return 0;
 275                 
 276                     if (present)
 277                     {
 278 mike   1.1              // [userInfo]
 279                 
 280                         String authType;
 281                         String userName;
 282                 
 283                         if (!_getUserInfo(in, authType, userName))
 284                         {
 285                         }
 286                 
 287                         // [message]
 288                 
 289                         CIMIndicationRequestMessage* ireq = 0;
 290                 
 291                         switch (type)
 292                         {
 293                             case CIM_CREATE_SUBSCRIPTION_REQUEST_MESSAGE:
 294                                 ireq = _getCreateSubscriptionRequestMessage(in);
 295                                 break;
 296                             case CIM_MODIFY_SUBSCRIPTION_REQUEST_MESSAGE:
 297                                 ireq = _getModifySubscriptionRequestMessage(in);
 298                                 break;
 299 mike   1.1                  case CIM_DELETE_SUBSCRIPTION_REQUEST_MESSAGE:
 300                                 ireq = _getDeleteSubscriptionRequestMessage(in);
 301                                 break;
 302                             default:
 303 karl   1.11.2.3                 PEGASUS_UNREACHABLE(PEGASUS_ASSERT(0);)
 304 mike   1.1                      break;
 305                         }
 306                 
 307                         if (!ireq)
 308                             return 0;
 309                 
 310                         // Initialize the message:
 311                 
 312                         ireq->authType = authType;
 313                         ireq->userName = userName;
 314                         msg = ireq;
 315                     }
 316                 
 317                     // [other]
 318                 
 319                     if (!in.getPresent(present))
 320                         return 0;
 321                 
 322                     if (present)
 323                     {
 324                         switch (type)
 325 mike   1.1              {
 326                             case CIM_EXPORT_INDICATION_REQUEST_MESSAGE:
 327                                 msg = _getExportIndicationRequestMessage(in);
 328                                 break;
 329                             case CIM_PROCESS_INDICATION_REQUEST_MESSAGE:
 330                                 msg = _getProcessIndicationRequestMessage(in);
 331                                 break;
 332                             case CIM_DISABLE_MODULE_REQUEST_MESSAGE:
 333                                 msg = _getDisableModuleRequestMessage(in);
 334                                 break;
 335                             case CIM_ENABLE_MODULE_REQUEST_MESSAGE:
 336                                 msg = _getEnableModuleRequestMessage(in);
 337                                 break;
 338                             case CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE:
 339                                 msg = _getStopAllProvidersRequestMessage(in);
 340                                 break;
 341                             case CIM_INITIALIZE_PROVIDER_AGENT_REQUEST_MESSAGE:
 342                                 msg =
 343                                     _getInitializeProviderAgentRequestMessage(in);
 344                                 break;
 345                             case CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE:
 346 mike   1.1                      msg = _getNotifyConfigChangeRequestMessage(in);
 347                                 break;
 348                             case CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE:
 349 karl   1.11.2.3                 msg = _getSubscriptionInitCompleteRequestMessage();
 350 mike   1.1                      break;
 351 venkat.puvvada 1.8                  case CIM_INDICATION_SERVICE_DISABLED_REQUEST_MESSAGE:
 352 karl           1.11.2.3                 msg = _getIndicationServiceDisabledRequestMessage();
 353 venkat.puvvada 1.8                      break;
 354 thilo.boehm    1.10                 case PROVAGT_GET_SCMOCLASS_REQUEST_MESSAGE:
 355                                         msg = _getProvAgtGetScmoClassRequestMessage(in);            
 356                                         break;
 357                         
 358 venkat.puvvada 1.8      
 359 mike           1.1                  default:
 360 karl           1.11.2.3                 PEGASUS_UNREACHABLE(PEGASUS_ASSERT(0);)
 361 mike           1.1                      break;
 362                                 }
 363                         
 364                                 if (!msg)
 365                                     return 0;
 366                             }
 367                         
 368                             msg->queueIds = queueIdStack;
 369                         
 370                             return msg;
 371                         }
 372                         
 373                         CIMResponseMessage* CIMBinMsgDeserializer::_getResponseMessage(
 374                             CIMBuffer& in,
 375 mike           1.3          MessageType type,
 376                             bool binaryResponse)
 377 mike           1.1      {
 378                             CIMResponseMessage* msg = 0;
 379                             QueueIdStack queueIdStack;
 380                             CIMException cimException;
 381                         
 382                             // [queueIdStack]
 383                         
 384                             if (!_getQueueIdStack(in, queueIdStack))
 385                                 return 0;
 386                         
 387                             // [cimException]
 388                             if (!_getException(in, cimException))
 389                                 return 0;
 390                         
 391                             // [message]
 392                         
 393                             switch (type)
 394                             {
 395                                 case CIM_GET_INSTANCE_RESPONSE_MESSAGE:
 396 mike           1.3                  msg = _getGetInstanceResponseMessage(in, binaryResponse);
 397 mike           1.1                  break;
 398                                 case CIM_DELETE_INSTANCE_RESPONSE_MESSAGE:
 399 karl           1.11.2.3             msg = _getDeleteInstanceResponseMessage();
 400 mike           1.1                  break;
 401                                 case CIM_CREATE_INSTANCE_RESPONSE_MESSAGE:
 402                                     msg = _getCreateInstanceResponseMessage(in);
 403                                     break;
 404                                 case CIM_MODIFY_INSTANCE_RESPONSE_MESSAGE:
 405 karl           1.11.2.3             msg = _getModifyInstanceResponseMessage();
 406 mike           1.1                  break;
 407                                 case CIM_ENUMERATE_INSTANCES_RESPONSE_MESSAGE:
 408 mike           1.3                  msg = _getEnumerateInstancesResponseMessage(in, binaryResponse);
 409 mike           1.1                  break;
 410                                 case CIM_ENUMERATE_INSTANCE_NAMES_RESPONSE_MESSAGE:
 411                                     msg = _getEnumerateInstanceNamesResponseMessage(in);
 412                                     break;
 413                                 case CIM_EXEC_QUERY_RESPONSE_MESSAGE:
 414 r.kieninger    1.9                  msg = _getExecQueryResponseMessage(in, binaryResponse);
 415 mike           1.1                  break;
 416                                 case CIM_GET_PROPERTY_RESPONSE_MESSAGE:
 417                                     msg = _getGetPropertyResponseMessage(in);
 418                                     break;
 419                                 case CIM_SET_PROPERTY_RESPONSE_MESSAGE:
 420 karl           1.11.2.3             msg = _getSetPropertyResponseMessage();
 421 mike           1.1                  break;
 422                                 case CIM_ASSOCIATORS_RESPONSE_MESSAGE:
 423 r.kieninger    1.9                  msg = _getAssociatorsResponseMessage(in, binaryResponse);
 424 mike           1.1                  break;
 425                                 case CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE:
 426                                     msg = _getAssociatorNamesResponseMessage(in);
 427                                     break;
 428                                 case CIM_REFERENCES_RESPONSE_MESSAGE:
 429 karl           1.11.2.1             msg = _getReferencesResponseMessage(in, binaryResponse);
 430 mike           1.1                  break;
 431                                 case CIM_REFERENCE_NAMES_RESPONSE_MESSAGE:
 432                                     msg = _getReferenceNamesResponseMessage(in);
 433                                     break;
 434                                 case CIM_INVOKE_METHOD_RESPONSE_MESSAGE:
 435                                     msg = _getInvokeMethodResponseMessage(in);
 436                                     break;
 437                                 case CIM_CREATE_SUBSCRIPTION_RESPONSE_MESSAGE:
 438 karl           1.11.2.3             msg = _getCreateSubscriptionResponseMessage();
 439 mike           1.1                  break;
 440                                 case CIM_MODIFY_SUBSCRIPTION_RESPONSE_MESSAGE:
 441 karl           1.11.2.3             msg = _getModifySubscriptionResponseMessage();
 442 mike           1.1                  break;
 443                                 case CIM_DELETE_SUBSCRIPTION_RESPONSE_MESSAGE:
 444 karl           1.11.2.3             msg = _getDeleteSubscriptionResponseMessage();
 445 mike           1.1                  break;
 446                                 case CIM_EXPORT_INDICATION_RESPONSE_MESSAGE:
 447 karl           1.11.2.3             msg = _getExportIndicationResponseMessage();
 448 mike           1.1                  break;
 449                                 case CIM_PROCESS_INDICATION_RESPONSE_MESSAGE:
 450 karl           1.11.2.3             msg = _getProcessIndicationResponseMessage();
 451 mike           1.1                  break;
 452                                 case CIM_DISABLE_MODULE_RESPONSE_MESSAGE:
 453                                     msg = _getDisableModuleResponseMessage(in);
 454                                     break;
 455                                 case CIM_ENABLE_MODULE_RESPONSE_MESSAGE:
 456                                     msg = _getEnableModuleResponseMessage(in);
 457                                     break;
 458                                 case CIM_STOP_ALL_PROVIDERS_RESPONSE_MESSAGE:
 459 karl           1.11.2.3             msg = _getStopAllProvidersResponseMessage();
 460 mike           1.1                  break;
 461                                 case CIM_INITIALIZE_PROVIDER_AGENT_RESPONSE_MESSAGE:
 462                                     msg =
 463 karl           1.11.2.3                 _getInitializeProviderAgentResponseMessage();
 464 mike           1.1                  break;
 465                                 case CIM_NOTIFY_CONFIG_CHANGE_RESPONSE_MESSAGE:
 466 karl           1.11.2.3             msg = _getNotifyConfigChangeResponseMessage();
 467 mike           1.1                  break;
 468                                 case CIM_SUBSCRIPTION_INIT_COMPLETE_RESPONSE_MESSAGE:
 469 karl           1.11.2.3             msg = _getSubscriptionInitCompleteResponseMessage();
 470 mike           1.1                  break;
 471 venkat.puvvada 1.8              case CIM_INDICATION_SERVICE_DISABLED_RESPONSE_MESSAGE:
 472 karl           1.11.2.3             msg = _getIndicationServiceDisabledResponseMessage();
 473 venkat.puvvada 1.8                  break;
 474 thilo.boehm    1.10             case PROVAGT_GET_SCMOCLASS_RESPONSE_MESSAGE:
 475                                     msg = _getProvAgtGetScmoClassResponseMessage(in);            
 476                                     break;
 477 venkat.puvvada 1.8      
 478 mike           1.1              default:
 479 karl           1.11.2.3             PEGASUS_UNREACHABLE(PEGASUS_ASSERT(0);)
 480 mike           1.1                  break;
 481                             }
 482                         
 483                             if (!msg)
 484                                 return 0;
 485                         
 486                             msg->queueIds = queueIdStack;
 487                             msg->cimException = cimException;
 488                         
 489                             return msg;
 490                         }
 491                         
 492                         Boolean CIMBinMsgDeserializer::_getUserInfo(
 493                             CIMBuffer& in,
 494                             String& authType,
 495                             String& userName)
 496                         {
 497                             if (!in.getString(authType))
 498                                 return false;
 499                         
 500                             if (!in.getString(userName))
 501 mike           1.1              return false;
 502                         
 503                             return true;
 504                         }
 505                         
 506                         Boolean CIMBinMsgDeserializer::_getQueueIdStack(
 507                             CIMBuffer& in,
 508                             QueueIdStack& queueIdStack)
 509                         {
 510                             Uint32 size;
 511                         
 512                             if (!in.getUint32(size))
 513                                 return false;
 514                         
 515                             for (Uint32 i = 0; i < size; i++)
 516                             {
 517                                 Uint32 tmp;
 518                         
 519                                 if (!in.getUint32(tmp))
 520                                     return false;
 521                         
 522 mike           1.1              queueIdStack.push(tmp);
 523                             }
 524                         
 525                             return true;
 526                         }
 527                         
 528                         Boolean CIMBinMsgDeserializer::_getOperationContext(
 529                             CIMBuffer& in,
 530                             OperationContext& operationContext)
 531                         {
 532                             operationContext.clear();
 533                         
 534                             XmlEntry entry;
 535                             bool present;
 536                         
 537                             // [IdentityContainer]
 538                         
 539                             if (!in.getPresent(present))
 540                                 return false;
 541                         
 542                             if (present)
 543 mike           1.1          {
 544                                 String userName;
 545                         
 546                                 if (!in.getString(userName))
 547                                     return false;
 548                         
 549                                 operationContext.insert(IdentityContainer(userName));
 550                             }
 551                         
 552                             // [SubscriptionInstanceContainer]
 553                         
 554                             if (!in.getPresent(present))
 555                                 return false;
 556                         
 557                             if (present)
 558                             {
 559                                 CIMInstance ci;
 560                         
 561                                 if (!_getInstance(in, ci))
 562                                     return false;
 563                         
 564 mike           1.1              operationContext.insert(SubscriptionInstanceContainer(ci));
 565                             }
 566                         
 567                             // [SubscriptionFilterConditionContainer]
 568                         
 569                             if (!in.getPresent(present))
 570                                 return false;
 571                         
 572                             if (present)
 573                             {
 574                                 String filterCondition;
 575                                 String queryLanguage;
 576                         
 577                                 if (!in.getString(filterCondition) || !in.getString(queryLanguage))
 578                                     return false;
 579                         
 580                                 operationContext.insert(SubscriptionFilterConditionContainer(
 581                                     filterCondition, queryLanguage));
 582                             }
 583                         
 584                             // [SubscriptionFilterQueryContainer]
 585 mike           1.1      
 586                             if (!in.getPresent(present))
 587                                 return false;
 588                         
 589                             if (present)
 590                             {
 591                                 String filterQuery;
 592                                 String queryLanguage;
 593                                 CIMNamespaceName nameSpace;
 594                         
 595                                 if (!in.getString(filterQuery) || !in.getString(queryLanguage))
 596                                     return false;
 597                         
 598                                 if (!_getNamespaceName(in, nameSpace))
 599                                     return false;
 600                         
 601                                 operationContext.insert(SubscriptionFilterQueryContainer(
 602                                     filterQuery, queryLanguage, nameSpace));
 603                             }
 604                         
 605                             // [SubscriptionInstanceNamesContainer]
 606 mike           1.1      
 607                             if (!in.getPresent(present))
 608                                 return false;
 609                         
 610                             if (present)
 611                             {
 612                                 Array<CIMObjectPath> cops;
 613                         
 614                                 if (!in.getObjectPathA(cops))
 615                                     return false;
 616                         
 617                                 operationContext.insert(SubscriptionInstanceNamesContainer(cops));
 618                             }
 619                         
 620                             // [TimeoutContainer]
 621                         
 622                             if (!in.getPresent(present))
 623                                 return false;
 624                         
 625                             if (present)
 626                             {
 627 mike           1.1              Uint32 timeout;
 628                         
 629                                 if (!in.getUint32(timeout))
 630                                     return false;
 631                         
 632                                 operationContext.insert(TimeoutContainer(timeout));
 633                             }
 634                         
 635                             // [AcceptLanguageListContainer]
 636                         
 637                             if (!in.getPresent(present))
 638                                 return false;
 639                         
 640                             if (present)
 641                             {
 642                                 AcceptLanguageList acceptLanguages;
 643                         
 644                                 if (!_getAcceptLanguageList(in, acceptLanguages))
 645                                     return false;
 646                         
 647                                 operationContext.insert(AcceptLanguageListContainer(acceptLanguages));
 648 mike           1.1          }
 649                         
 650                             // [ContentLanguageListContainer]
 651                         
 652                             if (!in.getPresent(present))
 653                                 return false;
 654                         
 655                             if (present)
 656                             {
 657                                 ContentLanguageList list;
 658                         
 659                                 if (!_getContentLanguageList(in, list))
 660                                     return false;
 661                         
 662                                 operationContext.insert(ContentLanguageListContainer(list));
 663                             }
 664                         
 665                             // [SnmpTrapOidContainer]
 666                         
 667                             if (!in.getPresent(present))
 668                                 return false;
 669 mike           1.1      
 670                             if (present)
 671                             {
 672                                 String snmpTrapOid;
 673                         
 674                                 if (!in.getString(snmpTrapOid))
 675                                     return false;
 676                         
 677                                 operationContext.insert(SnmpTrapOidContainer(snmpTrapOid));
 678                             }
 679                         
 680                             // [LocaleContainer]
 681                         
 682                             if (!in.getPresent(present))
 683                                 return false;
 684                         
 685                             if (present)
 686                             {
 687                                 String languageId;
 688                         
 689                                 if (!in.getString(languageId))
 690 mike           1.1                  return false;
 691                         
 692                                 operationContext.insert(LocaleContainer(languageId));
 693                             }
 694                         
 695                             // [ProviderIdContainer]
 696                         
 697                             if (!in.getPresent(present))
 698                                 return false;
 699                         
 700                             if (present)
 701                             {
 702                                 CIMInstance module;
 703                                 CIMInstance provider;
 704                                 Boolean isRemoteNameSpace;
 705                                 String remoteInfo;
 706                                 String provMgrPath;
 707                         
 708                                 if (!_getInstance(in, module))
 709                                     return false;
 710                         
 711 mike           1.1              if (!_getInstance(in, provider))
 712                                     return false;
 713                         
 714                                 if (!in.getBoolean(isRemoteNameSpace))
 715                                     return false;
 716                         
 717                                 if (!in.getString(remoteInfo))
 718                                     return false;
 719                         
 720                                 if (!in.getString(provMgrPath))
 721                                     return false;
 722                         
 723                                 ProviderIdContainer pidc(
 724                                     module, provider, isRemoteNameSpace, remoteInfo);
 725                         
 726                                 pidc.setProvMgrPath(provMgrPath);
 727                         
 728                                 operationContext.insert(pidc);
 729                             }
 730                         
 731                             // [CachedClassDefinitionContainer]
 732 mike           1.1      
 733                             if (!in.getPresent(present))
 734                                 return false;
 735                         
 736                             if (present)
 737                             {
 738                                 CIMClass cc;
 739                         
 740                                 if (!in.getClass(cc))
 741                                     return false;
 742                         
 743                                 operationContext.insert(CachedClassDefinitionContainer(cc));
 744                             }
 745                         
 746                             return true;
 747                         }
 748                         
 749                         Boolean CIMBinMsgDeserializer::_getContentLanguageList(
 750                             CIMBuffer& in,
 751                             ContentLanguageList& contentLanguages)
 752                         {
 753 mike           1.1          contentLanguages.clear();
 754                         
 755                             Uint32 size;
 756                         
 757                             if (!in.getUint32(size))
 758                                 return false;
 759                         
 760                             for (Uint32 i = 0; i < size; i++)
 761                             {
 762                                 String tmp;
 763                         
 764                                 if (!in.getString(tmp))
 765                                     return false;
 766                         
 767                                 contentLanguages.append(LanguageTag(tmp));
 768                             }
 769                         
 770                             return true;
 771                         }
 772                         
 773                         Boolean CIMBinMsgDeserializer::_getAcceptLanguageList(
 774 mike           1.1          CIMBuffer& in,
 775                             AcceptLanguageList& acceptLanguages)
 776                         {
 777                             acceptLanguages.clear();
 778                         
 779                             Uint32 size;
 780                         
 781                             if (!in.getUint32(size))
 782                                 return false;
 783                         
 784                             for (Uint32 i = 0; i < size; i++)
 785                             {
 786                                 String languageTag;
 787                                 Real32 qualityValue;
 788                         
 789                                 if (!in.getString(languageTag) || !in.getReal32(qualityValue))
 790                                     return false;
 791                         
 792                                 acceptLanguages.insert(LanguageTag(languageTag), qualityValue);
 793                             }
 794                         
 795 mike           1.1          return true;
 796                         }
 797                         
 798                         Boolean CIMBinMsgDeserializer::_getException(
 799                             CIMBuffer& in,
 800                             CIMException& cimException)
 801                         {
 802                             Uint32 statusCode;
 803                             String message;
 804                             String cimMessage;
 805                             String file;
 806                             Uint32 line;
 807                             ContentLanguageList contentLanguages;
 808                         
 809                             if (!in.getUint32(statusCode))
 810                                 return false;
 811                         
 812                             if (!in.getString(message))
 813                                 return false;
 814                         
 815                             if (!in.getString(cimMessage))
 816 mike           1.1              return false;
 817                         
 818                             if (!in.getString(file))
 819                                 return false;
 820                         
 821                             if (!in.getUint32(line))
 822                                 return false;
 823                         
 824                             if (!_getContentLanguageList(in, contentLanguages))
 825                                 return false;
 826                         
 827                             TraceableCIMException e = TraceableCIMException(contentLanguages,
 828                                 CIMStatusCode(statusCode), message, file, line);
 829                             e.setCIMMessage(cimMessage);
 830                             cimException = e;
 831                         
 832                             return true;
 833                         }
 834                         
 835                         Boolean CIMBinMsgDeserializer::_getPropertyList(
 836                             CIMBuffer& in,
 837 mike           1.1          CIMPropertyList& propertyList)
 838                         {
 839                             return in.getPropertyList(propertyList);
 840                         }
 841                         
 842                         Boolean CIMBinMsgDeserializer::_getObjectPath(
 843                             CIMBuffer& in,
 844                             CIMObjectPath& cop)
 845                         {
 846                             return in.getObjectPath(cop);
 847                         }
 848                         
 849                         Boolean CIMBinMsgDeserializer::_getInstance(
 850                             CIMBuffer& in,
 851                             CIMInstance& ci)
 852                         {
 853                             return in.getInstance(ci);
 854                         }
 855                         
 856                         Boolean CIMBinMsgDeserializer::_getNamespaceName(
 857                             CIMBuffer& in,
 858 mike           1.1          CIMNamespaceName& cimNamespaceName)
 859                         {
 860 kumpf          1.2          return in.getNamespaceName(cimNamespaceName);
 861 mike           1.1      }
 862                         
 863                         Boolean CIMBinMsgDeserializer::_getName(
 864                             CIMBuffer& in,
 865                             CIMName& cn)
 866                         {
 867                             return in.getName(cn);
 868                         }
 869                         
 870                         Boolean CIMBinMsgDeserializer::_getObject(
 871                             CIMBuffer& in,
 872                             CIMObject& object)
 873                         {
 874                             return in.getObject(object);
 875                         }
 876                         
 877                         Boolean CIMBinMsgDeserializer::_getParamValue(
 878                             CIMBuffer& in,
 879                             CIMParamValue& pv)
 880                         {
 881                             return in.getParamValue(pv);
 882 mike           1.1      }
 883                         
 884                         CIMGetInstanceRequestMessage*
 885                         CIMBinMsgDeserializer::_getGetInstanceRequestMessage(CIMBuffer& in)
 886                         {
 887                             CIMObjectPath instanceName;
 888                             Boolean includeQualifiers;
 889                             Boolean includeClassOrigin;
 890                             CIMPropertyList propertyList;
 891                         
 892                             if (!in.getObjectPath(instanceName))
 893                                 return 0;
 894                         
 895                             if (!in.getBoolean(includeQualifiers))
 896                                 return 0;
 897                         
 898                             if (!in.getBoolean(includeClassOrigin))
 899                                 return 0;
 900                         
 901                             if (!in.getPropertyList(propertyList))
 902                                 return 0;
 903 mike           1.1      
 904                             return new CIMGetInstanceRequestMessage(
 905                                 String::EMPTY,
 906                                 CIMNamespaceName(),
 907                                 instanceName,
 908                                 includeQualifiers,
 909                                 includeClassOrigin,
 910                                 propertyList,
 911                                 QueueIdStack());
 912                         }
 913                         
 914                         CIMDeleteInstanceRequestMessage*
 915                         CIMBinMsgDeserializer::_getDeleteInstanceRequestMessage(
 916                             CIMBuffer& in)
 917                         {
 918                             CIMObjectPath instanceName;
 919                         
 920                             if (!_getObjectPath(in, instanceName))
 921                                 return 0;
 922                         
 923                             return new CIMDeleteInstanceRequestMessage(
 924 mike           1.1              String::EMPTY,
 925                                 CIMNamespaceName(),
 926                                 instanceName,
 927                                 QueueIdStack());
 928                         }
 929                         
 930                         CIMCreateInstanceRequestMessage*
 931                         CIMBinMsgDeserializer::_getCreateInstanceRequestMessage(
 932                             CIMBuffer& in)
 933                         {
 934                             CIMInstance newInstance;
 935                         
 936                             if (!_getInstance(in, newInstance))
 937                                 return 0;
 938                         
 939                             return new CIMCreateInstanceRequestMessage(
 940 kumpf          1.6              String::EMPTY,
 941                                 CIMNamespaceName(),
 942                                 newInstance,
 943 mike           1.1              QueueIdStack());
 944                         }
 945                         
 946                         CIMModifyInstanceRequestMessage*
 947                         CIMBinMsgDeserializer::_getModifyInstanceRequestMessage(
 948                             CIMBuffer& in)
 949                         {
 950                             CIMInstance modifiedInstance;
 951                             Boolean includeQualifiers;
 952                             CIMPropertyList propertyList;
 953                         
 954                             if (!_getInstance(in, modifiedInstance))
 955 karl           1.11.2.3         return 0;
 956 mike           1.1      
 957                             if (!in.getBoolean(includeQualifiers))
 958 karl           1.11.2.3         return 0;
 959 mike           1.1      
 960                             if (!_getPropertyList(in, propertyList))
 961 karl           1.11.2.3         return 0;
 962 mike           1.1      
 963                             return new CIMModifyInstanceRequestMessage(
 964                                 String::EMPTY,
 965                                 CIMNamespaceName(),
 966                                 modifiedInstance,
 967                                 includeQualifiers,
 968                                 propertyList,
 969                                 QueueIdStack());
 970                         }
 971                         
 972                         CIMEnumerateInstancesRequestMessage*
 973                         CIMBinMsgDeserializer::_getEnumerateInstancesRequestMessage(
 974                             CIMBuffer& in)
 975                         {
 976                             CIMObjectPath instanceName;
 977                             Boolean deepInheritance;
 978                             Boolean includeQualifiers;
 979                             Boolean includeClassOrigin;
 980                             CIMPropertyList propertyList;
 981                         
 982                             if (!in.getBoolean(deepInheritance))
 983 karl           1.11.2.3         return 0;
 984 mike           1.1      
 985                             if (!in.getBoolean(includeQualifiers))
 986 karl           1.11.2.3         return 0;
 987 mike           1.1      
 988                             if (!in.getBoolean(includeClassOrigin))
 989 karl           1.11.2.3         return 0;
 990 mike           1.1      
 991                             if (!_getPropertyList(in, propertyList))
 992 karl           1.11.2.3         return 0;
 993 mike           1.1      
 994                             return new CIMEnumerateInstancesRequestMessage(
 995 kumpf          1.6              String::EMPTY,
 996                                 CIMNamespaceName(),
 997 mike           1.1              CIMName(),
 998                                 deepInheritance,
 999                                 includeQualifiers,
1000                                 includeClassOrigin,
1001                                 propertyList,
1002                                 QueueIdStack());
1003                         }
1004                         
1005                         CIMEnumerateInstanceNamesRequestMessage*
1006 karl           1.11.2.3 CIMBinMsgDeserializer::_getEnumerateInstanceNamesRequestMessage()
1007 mike           1.1      {
1008                             return new CIMEnumerateInstanceNamesRequestMessage(
1009 kumpf          1.6              String::EMPTY,
1010                                 CIMNamespaceName(),
1011                                 CIMName(),
1012 mike           1.1              QueueIdStack());
1013                         }
1014                         
1015                         CIMExecQueryRequestMessage*
1016                         CIMBinMsgDeserializer::_getExecQueryRequestMessage(
1017                             CIMBuffer& in)
1018                         {
1019                             String queryLanguage;
1020                             String query;
1021                         
1022                             if (!in.getString(queryLanguage) || !in.getString(query))
1023 karl           1.11.2.3         return 0;
1024 mike           1.1      
1025                             return new CIMExecQueryRequestMessage(
1026 kumpf          1.6              String::EMPTY,
1027 mike           1.1              CIMNamespaceName(),
1028 kumpf          1.6              queryLanguage,
1029                                 query,
1030 mike           1.1              QueueIdStack());
1031                         }
1032                         
1033                         CIMAssociatorsRequestMessage*
1034                         CIMBinMsgDeserializer::_getAssociatorsRequestMessage(
1035                             CIMBuffer& in)
1036                         {
1037                             CIMObjectPath objectName;
1038                             CIMName assocClass;
1039                             CIMName resultClass;
1040                             String role;
1041                             String resultRole;
1042                             Boolean includeQualifiers;
1043                             Boolean includeClassOrigin;
1044                             CIMPropertyList propertyList;
1045                         
1046                             if (!_getObjectPath(in, objectName))
1047 karl           1.11.2.3         return 0;
1048 mike           1.1      
1049                             if (!_getName(in, assocClass))
1050 karl           1.11.2.3         return 0;
1051 mike           1.1      
1052                             if (!_getName(in, resultClass))
1053 karl           1.11.2.3         return 0;
1054 mike           1.1      
1055                             if (!in.getString(role))
1056 karl           1.11.2.3         return 0;
1057 mike           1.1      
1058                             if (!in.getString(resultRole))
1059 karl           1.11.2.3         return 0;
1060 mike           1.1      
1061                             if (!in.getBoolean(includeQualifiers))
1062 karl           1.11.2.3         return 0;
1063 mike           1.1      
1064                             if (!in.getBoolean(includeClassOrigin))
1065 karl           1.11.2.3         return 0;
1066 mike           1.1      
1067                             if (!_getPropertyList(in, propertyList))
1068 karl           1.11.2.3         return 0;
1069 mike           1.1      
1070                             return new CIMAssociatorsRequestMessage(
1071 kumpf          1.6              String::EMPTY,
1072 mike           1.1              CIMNamespaceName(),
1073 kumpf          1.6              objectName,
1074                                 assocClass,
1075                                 resultClass,
1076                                 role,
1077 mike           1.1              resultRole,
1078 kumpf          1.6              includeQualifiers,
1079                                 includeClassOrigin,
1080                                 propertyList,
1081 mike           1.1              QueueIdStack());
1082                         }
1083                         
1084                         CIMAssociatorNamesRequestMessage*
1085                         CIMBinMsgDeserializer::_getAssociatorNamesRequestMessage(
1086                             CIMBuffer& in)
1087                         {
1088                             CIMObjectPath objectName;
1089                             CIMName assocClass;
1090                             CIMName resultClass;
1091                             String role;
1092                             String resultRole;
1093                         
1094                             if (!_getObjectPath(in, objectName))
1095 karl           1.11.2.3         return 0;
1096 mike           1.1      
1097                             if (!_getName(in, assocClass))
1098 karl           1.11.2.3         return 0;
1099 mike           1.1      
1100                             if (!_getName(in, resultClass))
1101 karl           1.11.2.3         return 0;
1102 mike           1.1      
1103                             if (!in.getString(role))
1104 karl           1.11.2.3         return 0;
1105 mike           1.1      
1106                             if (!in.getString(resultRole))
1107 karl           1.11.2.3         return 0;
1108 mike           1.1      
1109                             return new CIMAssociatorNamesRequestMessage(
1110                                 String::EMPTY,
1111 kumpf          1.6              CIMNamespaceName(),
1112                                 objectName,
1113                                 assocClass,
1114                                 resultClass,
1115 mike           1.1              role,
1116 kumpf          1.6              resultRole,
1117                                 QueueIdStack());
1118 mike           1.1      }
1119                         
1120                         CIMReferencesRequestMessage*
1121                         CIMBinMsgDeserializer::_getReferencesRequestMessage(CIMBuffer& in)
1122                         {
1123                             CIMObjectPath objectName;
1124                             CIMName resultClass;
1125                             String role;
1126                             Boolean includeQualifiers;
1127                             Boolean includeClassOrigin;
1128                             CIMPropertyList propertyList;
1129                         
1130                             if (!_getObjectPath(in, objectName))
1131 karl           1.11.2.3         return 0;
1132 mike           1.1      
1133                             if (!_getName(in, resultClass))
1134 karl           1.11.2.3         return 0;
1135 mike           1.1      
1136                             if (!in.getString(role))
1137 karl           1.11.2.3         return 0;
1138 mike           1.1      
1139                             if (!in.getBoolean(includeQualifiers))
1140 karl           1.11.2.3         return 0;
1141 mike           1.1      
1142                             if (!in.getBoolean(includeClassOrigin))
1143 karl           1.11.2.3         return 0;
1144 mike           1.1      
1145                             if (!_getPropertyList(in, propertyList))
1146 karl           1.11.2.3         return 0;
1147 mike           1.1      
1148                             return new CIMReferencesRequestMessage(
1149 kumpf          1.6              String::EMPTY,
1150 mike           1.1              CIMNamespaceName(),
1151 kumpf          1.6              objectName,
1152                                 resultClass,
1153                                 role,
1154                                 includeQualifiers,
1155                                 includeClassOrigin,
1156                                 propertyList,
1157 mike           1.1              QueueIdStack());
1158                         }
1159                         
1160                         CIMReferenceNamesRequestMessage*
1161                         CIMBinMsgDeserializer::_getReferenceNamesRequestMessage(
1162                             CIMBuffer& in)
1163                         {
1164                             CIMObjectPath objectName;
1165                             CIMName resultClass;
1166                             String role;
1167                         
1168                             if (!_getObjectPath(in, objectName))
1169 karl           1.11.2.3         return 0;
1170 mike           1.1      
1171                             if (!_getName(in, resultClass))
1172 karl           1.11.2.3         return 0;
1173 mike           1.1      
1174                             if (!in.getString(role))
1175 karl           1.11.2.3         return 0;
1176 mike           1.1      
1177                             return new CIMReferenceNamesRequestMessage(
1178 kumpf          1.6              String::EMPTY,
1179                                 CIMNamespaceName(),
1180                                 objectName,
1181                                 resultClass,
1182                                 role,
1183 mike           1.1              QueueIdStack());
1184                         }
1185                         
1186                         CIMGetPropertyRequestMessage*
1187                         CIMBinMsgDeserializer::_getGetPropertyRequestMessage(
1188                             CIMBuffer& in)
1189                         {
1190                             CIMObjectPath instanceName;
1191                             CIMName propertyName;
1192                         
1193                             if (!_getObjectPath(in, instanceName))
1194 karl           1.11.2.3         return 0;
1195 mike           1.1      
1196                             if (!_getName(in, propertyName))
1197 karl           1.11.2.3         return 0;
1198 mike           1.1      
1199                             return new CIMGetPropertyRequestMessage(
1200 kumpf          1.6              String::EMPTY,
1201 mike           1.1              CIMNamespaceName(),
1202 kumpf          1.6              instanceName,
1203                                 propertyName,
1204 mike           1.1              QueueIdStack());
1205                         }
1206                         
1207                         CIMSetPropertyRequestMessage*
1208                         CIMBinMsgDeserializer::_getSetPropertyRequestMessage(
1209                             CIMBuffer& in)
1210                         {
1211                             CIMObjectPath instanceName;
1212                             CIMParamValue newValue;
1213                         
1214                             if (!_getObjectPath(in, instanceName))
1215 karl           1.11.2.3         return 0;
1216 mike           1.1      
1217                             if (!_getParamValue(in, newValue))
1218 karl           1.11.2.3         return 0;
1219 mike           1.1      
1220                             return new CIMSetPropertyRequestMessage(
1221 kumpf          1.6              String::EMPTY,
1222 mike           1.1              CIMNamespaceName(),
1223 kumpf          1.6              instanceName,
1224                                 newValue.getParameterName(),
1225 mike           1.1              newValue.getValue(),
1226                                 QueueIdStack());
1227                         }
1228                         
1229                         CIMInvokeMethodRequestMessage*
1230                         CIMBinMsgDeserializer::_getInvokeMethodRequestMessage(
1231                             CIMBuffer& in)
1232                         {
1233                             XmlEntry entry;
1234                             CIMObjectPath instanceName;
1235                             CIMName methodName;
1236                             Array<CIMParamValue> inParameters;
1237                         
1238                             if (!_getObjectPath(in, instanceName))
1239 karl           1.11.2.3         return 0;
1240 mike           1.1      
1241                             if (!_getName(in, methodName))
1242 karl           1.11.2.3         return 0;
1243 mike           1.1      
1244                             if (!in.getParamValueA(inParameters))
1245 karl           1.11.2.3         return 0;
1246 mike           1.1      
1247                             return new CIMInvokeMethodRequestMessage(
1248 kumpf          1.6              String::EMPTY,
1249 mike           1.1              CIMNamespaceName(),
1250 kumpf          1.6              instanceName,
1251                                 methodName,
1252                                 inParameters,
1253 mike           1.1              QueueIdStack());
1254                         }
1255                         
1256                         CIMCreateSubscriptionRequestMessage*
1257                         CIMBinMsgDeserializer::_getCreateSubscriptionRequestMessage(
1258                             CIMBuffer& in)
1259                         {
1260                             XmlEntry entry;
1261                             CIMNamespaceName nameSpace;
1262                             CIMInstance subscriptionInstance;
1263                             Array<CIMName> classNames;
1264                             CIMPropertyList propertyList;
1265                             Uint16 repeatNotificationPolicy;
1266                             String query;
1267                         
1268                             if (!_getNamespaceName(in, nameSpace))
1269 karl           1.11.2.3         return 0;
1270 mike           1.1      
1271                             if (!_getInstance(in, subscriptionInstance))
1272 karl           1.11.2.3         return 0;
1273 mike           1.1      
1274                             if (!in.getNameA(classNames))
1275 karl           1.11.2.3         return 0;
1276 mike           1.1      
1277                             if (!_getPropertyList(in, propertyList))
1278 karl           1.11.2.3         return 0;
1279 mike           1.1      
1280                             if (!in.getUint16(repeatNotificationPolicy))
1281 karl           1.11.2.3         return 0;
1282 mike           1.1      
1283                             if (!in.getString(query))
1284 karl           1.11.2.3         return 0;
1285 mike           1.1      
1286                             return new CIMCreateSubscriptionRequestMessage(
1287 kumpf          1.6              String::EMPTY,
1288 mike           1.1              nameSpace,
1289 kumpf          1.6              subscriptionInstance,
1290                                 classNames,
1291 mike           1.1              propertyList,
1292 kumpf          1.6              repeatNotificationPolicy,
1293                                 query,
1294 mike           1.1              QueueIdStack());
1295                         }
1296                         
1297                         CIMModifySubscriptionRequestMessage*
1298                         CIMBinMsgDeserializer::_getModifySubscriptionRequestMessage(
1299                             CIMBuffer& in)
1300                         {
1301                             XmlEntry entry;
1302                             CIMNamespaceName nameSpace;
1303                             CIMInstance subscriptionInstance;
1304                             Array<CIMName> classNames;
1305                             CIMPropertyList propertyList;
1306                             Uint16 repeatNotificationPolicy;
1307                             String query;
1308                         
1309                             if (!_getNamespaceName(in, nameSpace))
1310 karl           1.11.2.3         return 0;
1311 mike           1.1      
1312                             if (!_getInstance(in, subscriptionInstance))
1313 karl           1.11.2.3         return 0;
1314 mike           1.1      
1315                             if (!in.getNameA(classNames))
1316 karl           1.11.2.3         return 0;
1317 mike           1.1      
1318                             if (!_getPropertyList(in, propertyList))
1319 karl           1.11.2.3         return 0;
1320 mike           1.1      
1321                             if (!in.getUint16(repeatNotificationPolicy))
1322 karl           1.11.2.3         return 0;
1323 mike           1.1      
1324                             if (!in.getString(query))
1325 karl           1.11.2.3         return 0;
1326 mike           1.1      
1327                             return new CIMModifySubscriptionRequestMessage(
1328 kumpf          1.6              String::EMPTY,
1329 mike           1.1              nameSpace,
1330 kumpf          1.6              subscriptionInstance,
1331                                 classNames,
1332 mike           1.1              propertyList,
1333 kumpf          1.6              repeatNotificationPolicy,
1334                                 query,
1335 mike           1.1              QueueIdStack());
1336                         }
1337                         
1338                         CIMDeleteSubscriptionRequestMessage*
1339                         CIMBinMsgDeserializer::_getDeleteSubscriptionRequestMessage(
1340                             CIMBuffer& in)
1341                         {
1342                             XmlEntry entry;
1343                             CIMNamespaceName nameSpace;
1344                             CIMInstance subscriptionInstance;
1345                             Array<CIMName> classNames;
1346                         
1347                             if (!_getNamespaceName(in, nameSpace))
1348 karl           1.11.2.3         return 0;
1349 mike           1.1      
1350                             if (!_getInstance(in, subscriptionInstance))
1351 karl           1.11.2.3         return 0;
1352 mike           1.1      
1353                             if (!in.getNameA(classNames))
1354 karl           1.11.2.3         return 0;
1355 mike           1.1      
1356                             return new CIMDeleteSubscriptionRequestMessage(
1357                                 String::EMPTY,
1358 kumpf          1.6              nameSpace,
1359                                 subscriptionInstance,
1360                                 classNames,
1361 mike           1.1              QueueIdStack());
1362                         }
1363                         
1364                         CIMExportIndicationRequestMessage*
1365                         CIMBinMsgDeserializer::_getExportIndicationRequestMessage(
1366                             CIMBuffer& in)
1367                         {
1368                             String authType;
1369                             String userName;
1370                             String destinationPath;
1371                             CIMInstance indicationInstance;
1372                         
1373                             if (!_getUserInfo(in, authType, userName))
1374 karl           1.11.2.3         return 0;
1375 mike           1.1      
1376                             if (!in.getString(destinationPath))
1377 karl           1.11.2.3         return 0;
1378 mike           1.1      
1379                             if (!_getInstance(in, indicationInstance))
1380 karl           1.11.2.3         return 0;
1381 mike           1.1      
1382                             return new CIMExportIndicationRequestMessage(
1383 kumpf          1.6              String::EMPTY,
1384 mike           1.1              destinationPath,
1385 kumpf          1.6              indicationInstance,
1386                                 QueueIdStack(),
1387 mike           1.1              authType,
1388                                 userName);
1389                         }
1390                         
1391                         CIMProcessIndicationRequestMessage*
1392                         CIMBinMsgDeserializer::_getProcessIndicationRequestMessage(
1393                             CIMBuffer& in)
1394                         {
1395                             XmlEntry entry;
1396                             CIMNamespaceName nameSpace;
1397                             CIMInstance indicationInstance;
1398                             Array<CIMObjectPath> subscriptionInstanceNames;
1399                             CIMInstance provider;
1400 karl           1.11.2.2     Uint32 timeoutMilliSec;
1401 mike           1.1      
1402                             if (!_getNamespaceName(in, nameSpace))
1403 karl           1.11.2.3         return 0;
1404 mike           1.1      
1405                             if (!_getInstance(in, indicationInstance))
1406 karl           1.11.2.3         return 0;
1407 mike           1.1      
1408                             if (!in.getObjectPathA(subscriptionInstanceNames))
1409 karl           1.11.2.3         return 0;
1410 mike           1.1      
1411                             if (!_getInstance(in, provider))
1412 karl           1.11.2.3         return 0;
1413 mike           1.1      
1414 karl           1.11.2.2     if (!in.getUint32(timeoutMilliSec))
1415 karl           1.11.2.3         return 0;
1416 karl           1.11.2.2 
1417 mike           1.1          return new CIMProcessIndicationRequestMessage(
1418 kumpf          1.6              String::EMPTY,
1419 mike           1.1              nameSpace,
1420 kumpf          1.6              indicationInstance,
1421                                 subscriptionInstanceNames,
1422 mike           1.1              provider,
1423 karl           1.11.2.2         QueueIdStack(),
1424                                 timeoutMilliSec);
1425 mike           1.1      }
1426                         
1427                         CIMDisableModuleRequestMessage*
1428                         CIMBinMsgDeserializer::_getDisableModuleRequestMessage(
1429                             CIMBuffer& in)
1430                         {
1431                             XmlEntry entry;
1432                             String authType;
1433                             String userName;
1434                             CIMInstance providerModule;
1435                             Array<CIMInstance> providers;
1436                             Boolean disableProviderOnly;
1437                             Array<Boolean> indicationProviders;
1438                         
1439                             if (!_getUserInfo(in, authType, userName))
1440 karl           1.11.2.3         return 0;
1441 mike           1.1      
1442                             if (!_getInstance(in, providerModule))
1443 karl           1.11.2.3         return 0;
1444 mike           1.1      
1445                             if (!in.getInstanceA(providers))
1446 karl           1.11.2.3         return 0;
1447 mike           1.1      
1448                             if (!in.getBoolean(disableProviderOnly))
1449 karl           1.11.2.3         return 0;
1450 mike           1.1      
1451                             if (!in.getBooleanA(indicationProviders))
1452 karl           1.11.2.3         return 0;
1453 mike           1.1      
1454                             return new CIMDisableModuleRequestMessage(
1455                                 String::EMPTY,
1456                                 providerModule,
1457                                 providers,
1458                                 disableProviderOnly,
1459                                 indicationProviders,
1460                                 QueueIdStack(),
1461                                 authType,
1462                                 userName);
1463                         }
1464                         
1465                         CIMEnableModuleRequestMessage*
1466                         CIMBinMsgDeserializer::_getEnableModuleRequestMessage(
1467                             CIMBuffer& in)
1468                         {
1469                             String authType;
1470                             String userName;
1471                             CIMInstance providerModule;
1472                         
1473                             if (!_getUserInfo(in, authType, userName))
1474 karl           1.11.2.3         return 0;
1475 mike           1.1      
1476                             if (!_getInstance(in, providerModule))
1477 karl           1.11.2.3         return 0;
1478 mike           1.1      
1479                             return new CIMEnableModuleRequestMessage(
1480                                 String::EMPTY,
1481                                 providerModule,
1482                                 QueueIdStack(),
1483                                 authType,
1484                                 userName);
1485                         }
1486                         
1487                         CIMStopAllProvidersRequestMessage*
1488                         CIMBinMsgDeserializer::_getStopAllProvidersRequestMessage(
1489                             CIMBuffer& in)
1490                         {
1491 karl           1.11.2.1     Uint32 shutdownTimeout;
1492                         
1493                             if (!in.getUint32(shutdownTimeout))
1494 karl           1.11.2.3         return 0;
1495 karl           1.11.2.1 
1496 mike           1.1          return new CIMStopAllProvidersRequestMessage(
1497                                 String::EMPTY,
1498 karl           1.11.2.1         QueueIdStack(),
1499                                 shutdownTimeout);
1500 mike           1.1      }
1501                         
1502                         CIMInitializeProviderAgentRequestMessage*
1503                         CIMBinMsgDeserializer::_getInitializeProviderAgentRequestMessage(
1504                             CIMBuffer& in)
1505                         {
1506                             XmlEntry entry;
1507                             String pegasusHome;
1508                             typedef Pair<String,String> ConfigPair;
1509                             Array<ConfigPair> configProperties;
1510                             Uint32 size;
1511                             Boolean bindVerbose;
1512                             Boolean subscriptionInitComplete;
1513                         
1514                             if (!in.getString(pegasusHome))
1515 karl           1.11.2.3         return 0;
1516 mike           1.1      
1517                             if (!in.getUint32(size))
1518 karl           1.11.2.3         return 0;
1519 mike           1.1      
1520                             for (Uint32 i = 0; i < size; i++)
1521                             {
1522                                 String first;
1523                                 String second;
1524                         
1525                                 if (!in.getString(first) || !in.getString(second))
1526 karl           1.11.2.3             return 0;
1527 mike           1.1      
1528                                 configProperties.append(ConfigPair(first, second));
1529                             }
1530                         
1531                             if (!in.getBoolean(bindVerbose))
1532 karl           1.11.2.3         return 0;
1533 mike           1.1      
1534                             if (!in.getBoolean(subscriptionInitComplete))
1535 karl           1.11.2.3         return 0;
1536 mike           1.1      
1537                             return new CIMInitializeProviderAgentRequestMessage(
1538                                 String::EMPTY,
1539                                 pegasusHome,
1540                                 configProperties,
1541                                 bindVerbose,
1542                                 subscriptionInitComplete,
1543                                 QueueIdStack());
1544                         }
1545                         
1546                         CIMNotifyConfigChangeRequestMessage*
1547                         CIMBinMsgDeserializer::_getNotifyConfigChangeRequestMessage(
1548                             CIMBuffer& in)
1549                         {
1550                             String propertyName;
1551                             String newPropertyValue;
1552                             Boolean currentValueModified;
1553                         
1554                             if (!in.getString(propertyName))
1555 karl           1.11.2.3         return 0;
1556 mike           1.1      
1557                             if (!in.getString(newPropertyValue))
1558 karl           1.11.2.3         return 0;
1559 mike           1.1      
1560                             if (!in.getBoolean(currentValueModified))
1561 karl           1.11.2.3         return 0;
1562 mike           1.1      
1563                             return new CIMNotifyConfigChangeRequestMessage(
1564                                 String::EMPTY,
1565                                 propertyName,
1566                                 newPropertyValue,
1567                                 currentValueModified,
1568                                 QueueIdStack());
1569                         }
1570                         
1571 venkat.puvvada 1.8      CIMIndicationServiceDisabledRequestMessage*
1572 karl           1.11.2.3 CIMBinMsgDeserializer::_getIndicationServiceDisabledRequestMessage()
1573 venkat.puvvada 1.8      {
1574                             return new CIMIndicationServiceDisabledRequestMessage(
1575                                 String(),
1576                                 QueueIdStack());
1577                         }
1578                         
1579 mike           1.1      CIMSubscriptionInitCompleteRequestMessage*
1580 karl           1.11.2.3 CIMBinMsgDeserializer::_getSubscriptionInitCompleteRequestMessage()
1581 mike           1.1      {
1582                             return new CIMSubscriptionInitCompleteRequestMessage(
1583                                 String::EMPTY,
1584                                 QueueIdStack());
1585                         }
1586                         
1587 thilo.boehm    1.10     ProvAgtGetScmoClassRequestMessage*
1588                         CIMBinMsgDeserializer::_getProvAgtGetScmoClassRequestMessage(
1589                             CIMBuffer& in)
1590                         {
1591                             CIMName className;
1592                             CIMNamespaceName nsName;
1593 karl           1.11.2.1     String messageID;
1594                         
1595                             if (!in.getString(messageID))
1596 karl           1.11.2.3         return 0;
1597 thilo.boehm    1.10     
1598                             if (!in.getNamespaceName(nsName))
1599 karl           1.11.2.3         return 0;
1600 thilo.boehm    1.10     
1601                             if (!in.getName(className))
1602 karl           1.11.2.3         return 0;
1603 thilo.boehm    1.10     
1604                             return new ProvAgtGetScmoClassRequestMessage(
1605 karl           1.11.2.1         messageID,
1606 thilo.boehm    1.10             nsName,
1607                                 className,
1608                                 QueueIdStack());
1609                         }
1610                         
1611 r.kieninger    1.9      CIMGetInstanceResponseMessage*
1612                         CIMBinMsgDeserializer::_getGetInstanceResponseMessage(
1613                             CIMBuffer& in,
1614                             bool binaryResponse)
1615 mike           1.1      {
1616 r.kieninger    1.9          CIMGetInstanceResponseMessage* msg = new CIMGetInstanceResponseMessage(
1617                                 String::EMPTY,
1618                                 CIMException(),
1619                                 QueueIdStack());
1620 mike           1.1      
1621 thilo.boehm    1.10         CIMResponseData& responseData = msg->getResponseData();
1622 mike           1.1      
1623 r.kieninger    1.9          if (binaryResponse)
1624 mike           1.1          {
1625 thilo.boehm    1.10             if (!responseData.setBinary(in))
1626 mike           1.1              {
1627 r.kieninger    1.9                  delete(msg);
1628                                     return 0;
1629 mike           1.1              }
1630                             }
1631 r.kieninger    1.9          else
1632 mike           1.1          {
1633 thilo.boehm    1.10             if (!responseData.setXml(in))
1634 mike           1.1              {
1635 r.kieninger    1.9                  delete(msg);
1636                                     return 0;
1637 mike           1.1              }
1638 mike           1.3          }
1639                         
1640 r.kieninger    1.9          return msg;
1641 mike           1.1      }
1642                         
1643                         CIMDeleteInstanceResponseMessage*
1644 karl           1.11.2.3 CIMBinMsgDeserializer::_getDeleteInstanceResponseMessage()
1645 mike           1.1      {
1646                             return new CIMDeleteInstanceResponseMessage(
1647                                 String::EMPTY,
1648                                 CIMException(),
1649                                 QueueIdStack());
1650                         }
1651                         
1652                         CIMCreateInstanceResponseMessage*
1653                         CIMBinMsgDeserializer::_getCreateInstanceResponseMessage(
1654                             CIMBuffer& in)
1655                         {
1656                             CIMObjectPath instanceName;
1657                         
1658                             if (!_getObjectPath(in, instanceName))
1659 karl           1.11.2.3         return 0;
1660 mike           1.1      
1661                             return new CIMCreateInstanceResponseMessage(
1662                                 String::EMPTY,
1663                                 CIMException(),
1664                                 QueueIdStack(),
1665                                 instanceName);
1666                         }
1667                         
1668                         CIMModifyInstanceResponseMessage*
1669 karl           1.11.2.3 CIMBinMsgDeserializer::_getModifyInstanceResponseMessage()
1670 mike           1.1      {
1671                             return new CIMModifyInstanceResponseMessage(
1672                                 String::EMPTY,
1673                                 CIMException(),
1674                                 QueueIdStack());
1675                         }
1676                         
1677                         CIMEnumerateInstancesResponseMessage*
1678                         CIMBinMsgDeserializer::_getEnumerateInstancesResponseMessage(
1679 mike           1.3          CIMBuffer& in,
1680                             bool binaryResponse)
1681 mike           1.1      {
1682 r.kieninger    1.9          CIMEnumerateInstancesResponseMessage* msg;
1683 mike           1.1      
1684 r.kieninger    1.9          msg = new CIMEnumerateInstancesResponseMessage(String::EMPTY,
1685                                 CIMException(), QueueIdStack());
1686 mike           1.1      
1687 thilo.boehm    1.10         CIMResponseData& responseData = msg->getResponseData();
1688 mike           1.1      
1689 r.kieninger    1.9          if (binaryResponse)
1690                             {
1691 thilo.boehm    1.10             if (!responseData.setBinary(in))
1692 r.kieninger    1.9              {
1693                                     delete(msg);
1694 mike           1.1                  return 0;
1695 r.kieninger    1.9              }
1696 mike           1.1      
1697 mike           1.3              return msg;
1698 mike           1.1          }
1699 mike           1.3          else
1700                             {
1701 thilo.boehm    1.10             if (!responseData.setXml(in))
1702 r.kieninger    1.9              {
1703                                     delete(msg);
1704 mike           1.3                  return 0;
1705                                 }
1706 mike           1.1      
1707 mike           1.3              return msg;
1708                             }
1709 mike           1.1      }
1710                         
1711                         CIMEnumerateInstanceNamesResponseMessage*
1712                         CIMBinMsgDeserializer::_getEnumerateInstanceNamesResponseMessage(
1713                             CIMBuffer& in)
1714                         {
1715 thilo.boehm    1.10         CIMEnumerateInstanceNamesResponseMessage* msg;
1716                         
1717                             msg = new CIMEnumerateInstanceNamesResponseMessage(String::EMPTY,
1718                                                                                CIMException(),
1719                                                                                QueueIdStack());
1720                         
1721                             CIMResponseData& responseData = msg->getResponseData();
1722 mike           1.1      
1723 thilo.boehm    1.10         if (!responseData.setBinary(in))
1724                             {
1725                                 delete(msg);
1726                                 return 0;
1727                             }
1728 mike           1.1      
1729 thilo.boehm    1.10         return msg;
1730 mike           1.1      }
1731                         
1732                         CIMExecQueryResponseMessage*
1733                         CIMBinMsgDeserializer::_getExecQueryResponseMessage(
1734 r.kieninger    1.9          CIMBuffer& in,
1735                             bool binaryResponse)
1736 mike           1.1      {
1737 r.kieninger    1.9          CIMExecQueryResponseMessage* msg;
1738                         
1739                             msg = new CIMExecQueryResponseMessage(String::EMPTY,
1740                                 CIMException(), QueueIdStack());
1741                         
1742 thilo.boehm    1.10         CIMResponseData& responseData = msg->getResponseData();
1743 mike           1.1      
1744 r.kieninger    1.9          if (binaryResponse)
1745                             {
1746 thilo.boehm    1.10             if (!responseData.setBinary(in))
1747 r.kieninger    1.9              {
1748                                     delete(msg);
1749                                     return 0;
1750                                 }
1751                             }
1752                             else
1753                             {
1754 thilo.boehm    1.10             if (!responseData.setXml(in))
1755 r.kieninger    1.9              {
1756                                     delete(msg);
1757                                     return 0;
1758                                 }
1759                             }
1760 mike           1.1      
1761 r.kieninger    1.9          return msg;
1762 mike           1.1      }
1763                         
1764                         CIMAssociatorsResponseMessage*
1765                         CIMBinMsgDeserializer::_getAssociatorsResponseMessage(
1766 r.kieninger    1.9          CIMBuffer& in,
1767                             bool binaryResponse)
1768 mike           1.1      {
1769 r.kieninger    1.9          CIMAssociatorsResponseMessage* msg;
1770                         
1771                             msg = new CIMAssociatorsResponseMessage(String::EMPTY,
1772                                 CIMException(), QueueIdStack());
1773                         
1774 thilo.boehm    1.10         CIMResponseData& responseData = msg->getResponseData();
1775 mike           1.1      
1776 r.kieninger    1.9          if (binaryResponse)
1777                             {
1778 thilo.boehm    1.10             if (!responseData.setBinary(in))
1779 r.kieninger    1.9              {
1780                                     delete(msg);
1781                                     return 0;
1782                                 }
1783                             }
1784                             else
1785                             {
1786 thilo.boehm    1.10             if (!responseData.setXml(in))
1787 r.kieninger    1.9              {
1788                                     delete(msg);
1789                                     return 0;
1790                                 }
1791                             }
1792 mike           1.1      
1793 r.kieninger    1.9          return msg;
1794 mike           1.1      }
1795                         
1796                         CIMAssociatorNamesResponseMessage*
1797                         CIMBinMsgDeserializer::_getAssociatorNamesResponseMessage(
1798                             CIMBuffer& in)
1799                         {
1800 thilo.boehm    1.10         CIMAssociatorNamesResponseMessage* msg;
1801                         
1802                             msg = new CIMAssociatorNamesResponseMessage(String::EMPTY,
1803                                 CIMException(), QueueIdStack());
1804                         
1805                             CIMResponseData& responseData = msg->getResponseData();
1806 mike           1.1      
1807 thilo.boehm    1.10         if (!responseData.setBinary(in))
1808                             {
1809                                 delete(msg);
1810                                 return 0;
1811                             }
1812 mike           1.1      
1813 thilo.boehm    1.10         return msg;
1814 mike           1.1      }
1815                         
1816                         CIMReferencesResponseMessage*
1817                         CIMBinMsgDeserializer::_getReferencesResponseMessage(
1818 karl           1.11.2.1     CIMBuffer& in,
1819                             bool binaryResponse)
1820 mike           1.1      {
1821 thilo.boehm    1.10         CIMReferencesResponseMessage* msg;
1822                         
1823                             msg = new CIMReferencesResponseMessage(String::EMPTY,
1824                                 CIMException(), QueueIdStack());
1825                         
1826                             CIMResponseData& responseData = msg->getResponseData();
1827 mike           1.1      
1828 karl           1.11.2.1     if (binaryResponse)
1829 thilo.boehm    1.10         {
1830 karl           1.11.2.1         if (!responseData.setBinary(in))
1831                                 {
1832                                     delete(msg);
1833                                     return 0;
1834                                 }
1835                             }
1836                             else
1837                             {
1838                                 if (!responseData.setXml(in))
1839                                 {
1840                                     delete(msg);
1841                                     return 0;
1842                                 }
1843 thilo.boehm    1.10         }
1844 mike           1.1      
1845 thilo.boehm    1.10         return msg;
1846 mike           1.1      }
1847                         
1848                         CIMReferenceNamesResponseMessage*
1849                         CIMBinMsgDeserializer::_getReferenceNamesResponseMessage(
1850                             CIMBuffer& in)
1851                         {
1852 thilo.boehm    1.10         CIMReferenceNamesResponseMessage* msg;
1853                         
1854                             msg = new CIMReferenceNamesResponseMessage(String::EMPTY,
1855                                 CIMException(), QueueIdStack());
1856                         
1857                             CIMResponseData& responseData = msg->getResponseData();
1858 mike           1.1      
1859 thilo.boehm    1.10         if (!responseData.setBinary(in))
1860                             {
1861                                 delete(msg);
1862                                 return 0;
1863                             }
1864 mike           1.1      
1865 thilo.boehm    1.10         return msg;
1866 mike           1.1      }
1867                         
1868                         CIMGetPropertyResponseMessage*
1869                         CIMBinMsgDeserializer::_getGetPropertyResponseMessage(
1870                             CIMBuffer& in)
1871                         {
1872                             CIMParamValue value;
1873                         
1874                             if (!_getParamValue(in, value))
1875 karl           1.11.2.3         return 0;
1876 mike           1.1      
1877                             return new CIMGetPropertyResponseMessage(
1878                                 String::EMPTY,
1879                                 CIMException(),
1880                                 QueueIdStack(),
1881                                 value.getValue());
1882                         }
1883                         
1884                         CIMSetPropertyResponseMessage*
1885 karl           1.11.2.3 CIMBinMsgDeserializer::_getSetPropertyResponseMessage()
1886 mike           1.1      {
1887                             return new CIMSetPropertyResponseMessage(
1888                                 String::EMPTY,
1889                                 CIMException(),
1890                                 QueueIdStack());
1891                         }
1892                         
1893                         CIMInvokeMethodResponseMessage*
1894                         CIMBinMsgDeserializer::_getInvokeMethodResponseMessage(
1895                             CIMBuffer& in)
1896                         {
1897                             XmlEntry entry;
1898                             CIMParamValue genericParamValue;
1899                             CIMParamValue retValue;
1900                             CIMName methodName;
1901                             Array<CIMParamValue> outParameters;
1902                         
1903                             if (!_getParamValue(in, retValue))
1904 karl           1.11.2.3         return 0;
1905 mike           1.1      
1906                             if (!in.getParamValueA(outParameters))
1907 karl           1.11.2.3         return 0;
1908 mike           1.1      
1909                             if (!_getName(in, methodName))
1910 karl           1.11.2.3         return 0;
1911 mike           1.1      
1912                             return new CIMInvokeMethodResponseMessage(
1913                                 String::EMPTY,
1914                                 CIMException(),
1915                                 QueueIdStack(),
1916                                 retValue.getValue(),
1917                                 outParameters,
1918                                 methodName);
1919                         }
1920                         
1921                         CIMCreateSubscriptionResponseMessage*
1922 karl           1.11.2.3 CIMBinMsgDeserializer::_getCreateSubscriptionResponseMessage()
1923 mike           1.1      {
1924                             return new CIMCreateSubscriptionResponseMessage(
1925                                 String::EMPTY,
1926                                 CIMException(),
1927                                 QueueIdStack());
1928                         }
1929                         
1930                         CIMModifySubscriptionResponseMessage*
1931 karl           1.11.2.3 CIMBinMsgDeserializer::_getModifySubscriptionResponseMessage()
1932 mike           1.1      {
1933                             return new CIMModifySubscriptionResponseMessage(
1934                                 String::EMPTY,
1935                                 CIMException(),
1936                                 QueueIdStack());
1937                         }
1938                         
1939                         CIMDeleteSubscriptionResponseMessage*
1940 karl           1.11.2.3 CIMBinMsgDeserializer::_getDeleteSubscriptionResponseMessage()
1941 mike           1.1      {
1942                             return new CIMDeleteSubscriptionResponseMessage(
1943                                 String::EMPTY,
1944                                 CIMException(),
1945                                 QueueIdStack());
1946                         }
1947                         
1948                         CIMExportIndicationResponseMessage*
1949 karl           1.11.2.3 CIMBinMsgDeserializer::_getExportIndicationResponseMessage()
1950 mike           1.1      {
1951                             return new CIMExportIndicationResponseMessage(
1952                                 String::EMPTY,
1953                                 CIMException(),
1954                                 QueueIdStack());
1955                         }
1956                         
1957                         CIMProcessIndicationResponseMessage*
1958 karl           1.11.2.3 CIMBinMsgDeserializer::_getProcessIndicationResponseMessage()
1959 mike           1.1      {
1960                             return new CIMProcessIndicationResponseMessage(
1961                                 String::EMPTY,
1962                                 CIMException(),
1963                                 QueueIdStack());
1964                         }
1965                         
1966                         CIMDisableModuleResponseMessage*
1967                         CIMBinMsgDeserializer::_getDisableModuleResponseMessage(
1968                             CIMBuffer& in)
1969                         {
1970                             XmlEntry entry;
1971                             CIMValue genericValue;
1972                             Array<Uint16> operationalStatus;
1973                         
1974                             if (!in.getUint16A(operationalStatus))
1975 karl           1.11.2.3         return 0;
1976 mike           1.1      
1977                             return new CIMDisableModuleResponseMessage(
1978                                 String::EMPTY,
1979                                 CIMException(),
1980                                 QueueIdStack(),
1981                                 operationalStatus);
1982                         }
1983                         
1984                         CIMEnableModuleResponseMessage*
1985                         CIMBinMsgDeserializer::_getEnableModuleResponseMessage(
1986                             CIMBuffer& in)
1987                         {
1988                             XmlEntry entry;
1989                             CIMValue genericValue;
1990                             Array<Uint16> operationalStatus;
1991                         
1992                             if (!in.getUint16A(operationalStatus))
1993 karl           1.11.2.3         return 0;
1994 mike           1.1      
1995                             return new CIMEnableModuleResponseMessage(
1996                                 String::EMPTY,
1997                                 CIMException(),
1998                                 QueueIdStack(),
1999                                 operationalStatus);
2000                         }
2001                         
2002                         CIMStopAllProvidersResponseMessage*
2003 karl           1.11.2.3 CIMBinMsgDeserializer::_getStopAllProvidersResponseMessage()
2004 mike           1.1      {
2005                             return new CIMStopAllProvidersResponseMessage(
2006                                 String::EMPTY,
2007                                 CIMException(),
2008                                 QueueIdStack());
2009                         }
2010                         
2011                         CIMInitializeProviderAgentResponseMessage*
2012 karl           1.11.2.3 CIMBinMsgDeserializer::_getInitializeProviderAgentResponseMessage()
2013 mike           1.1      {
2014                             return new CIMInitializeProviderAgentResponseMessage(
2015                                 String::EMPTY,
2016                                 CIMException(),
2017                                 QueueIdStack());
2018                         }
2019                         
2020                         CIMNotifyConfigChangeResponseMessage*
2021 karl           1.11.2.3 CIMBinMsgDeserializer::_getNotifyConfigChangeResponseMessage()
2022 mike           1.1      {
2023                             return new CIMNotifyConfigChangeResponseMessage(
2024                                 String::EMPTY,
2025                                 CIMException(),
2026                                 QueueIdStack());
2027                         }
2028                         
2029                         CIMSubscriptionInitCompleteResponseMessage*
2030 karl           1.11.2.3 CIMBinMsgDeserializer::_getSubscriptionInitCompleteResponseMessage()
2031 mike           1.1      {
2032                             return new CIMSubscriptionInitCompleteResponseMessage(
2033                                 String::EMPTY,
2034                                 CIMException(),
2035                                 QueueIdStack());
2036                         }
2037                         
2038 venkat.puvvada 1.8      CIMIndicationServiceDisabledResponseMessage*
2039 karl           1.11.2.3 CIMBinMsgDeserializer::_getIndicationServiceDisabledResponseMessage()
2040 venkat.puvvada 1.8      {
2041                             return new CIMIndicationServiceDisabledResponseMessage(
2042                                 String(),
2043                                 CIMException(),
2044                                 QueueIdStack());
2045                         }
2046                         
2047 thilo.boehm    1.10     ProvAgtGetScmoClassResponseMessage*
2048                         CIMBinMsgDeserializer::_getProvAgtGetScmoClassResponseMessage(
2049                             CIMBuffer& in)
2050                         {
2051                             SCMOClass theClass("","");
2052 karl           1.11.2.1     String messageID;
2053 thilo.boehm    1.10     
2054 karl           1.11.2.1     if (!in.getString(messageID))
2055 karl           1.11.2.3         return 0;
2056 thilo.boehm    1.10     
2057                             if (!in.getSCMOClass(theClass))
2058 karl           1.11.2.3         return 0;
2059 thilo.boehm    1.10     
2060                             return new ProvAgtGetScmoClassResponseMessage(
2061 karl           1.11.2.1         messageID,
2062 thilo.boehm    1.10             CIMException(),
2063                                 QueueIdStack(),
2064                                 theClass);
2065                         }
2066                         
2067 mike           1.1      PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2