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

Diff for /pegasus/src/Pegasus/Client/CIMOperationResponseDecoder.cpp between version 1.96.2.10 and 1.96.2.11

version 1.96.2.10, 2014/05/29 23:55:34 version 1.96.2.11, 2014/06/01 19:26:52
Line 695 
Line 695 
                     parser, messageId, isEmptyTag);                     parser, messageId, isEmptyTag);
             }             }
             else if (System::strcasecmp(             else if (System::strcasecmp(
                       iMethodResponseName, "OpenQueryInstances") == 0)
               {
                   response = _decodeOpenQueryInstancesResponse(
                       parser, messageId, isEmptyTag);
               }
               else if (System::strcasecmp(
                     iMethodResponseName, "PullInstancesWithPath") == 0)                     iMethodResponseName, "PullInstancesWithPath") == 0)
             {             {
                 response = _decodePullInstancesWithPathResponse(                 response = _decodePullInstancesWithPathResponse(
Line 709 
Line 715 
             else if (System::strcasecmp(             else if (System::strcasecmp(
                     iMethodResponseName, "PullInstances") == 0)                     iMethodResponseName, "PullInstances") == 0)
             {             {
                 response = _decodePullInstancesWithPathResponse(                  response = _decodePullInstancesResponse(
                     parser, messageId, isEmptyTag);                     parser, messageId, isEmptyTag);
             }             }
             else if (System::strcasecmp(             else if (System::strcasecmp(
Line 2342 
Line 2348 
     return msg;     return msg;
 } }
  
   CIMOpenQueryInstancesResponseMessage*
       CIMOperationResponseDecoder::_decodeOpenQueryInstancesResponse(
           XmlParser& parser,
           const String& messageId,
           Boolean isEmptyImethodresponseTag)
   {
       CIMException cimException;
       Array<CIMInstance> instances;
       CIMClass queryResultClass;
       Boolean endOfSequence = true;
       String enumerationContext = String::EMPTY;
   
       if (XmlReader::getErrorElement(parser, cimException))
       {
           return new CIMOpenQueryInstancesResponseMessage(
               messageId,
               cimException,
               CIMClass(),
               QueueIdStack(),
               endOfSequence,
               enumerationContext);
       }
       // EXP_PULL error out if response empty because either
       // enumerationContext or endOfSequence is required. Create
       // missing Parameter error here.
       if (isEmptyImethodresponseTag)
       {
           throw PEGASUS_CIM_EXCEPTION(CIM_ERR_INVALID_PARAMETER,
               "Return Parameters endOfSequence"
                   "and/or enumerationContext required.");
       }
   
       _decodeGetInstancesElement(parser, instances);
   
       // Get the OUT parameters (endOfSequence and enumerationContext)
       _decodeOpenResponseParamValues(parser, endOfSequence, enumerationContext);
   
       CIMOpenQueryInstancesResponseMessage* msg =
           new CIMOpenQueryInstancesResponseMessage(
               messageId,
               cimException,
               queryResultClass,
               QueueIdStack(),
               endOfSequence,
               enumerationContext);
   
       msg->getResponseData().setInstances(instances);
       return msg;
   }
   
 CIMPullInstancesWithPathResponseMessage* CIMPullInstancesWithPathResponseMessage*
     CIMOperationResponseDecoder::_decodePullInstancesWithPathResponse(     CIMOperationResponseDecoder::_decodePullInstancesWithPathResponse(
         XmlParser& parser,         XmlParser& parser,
Line 2581 
Line 2637 
         count);         count);
 } }
  
 CIMOpenQueryInstancesResponseMessage*  
     CIMOperationResponseDecoder::_decodeOpenQueryInstancesResponse(  
         XmlParser& parser,  
         const String& messageId,  
         Boolean isEmptyImethodresponseTag)  
 {  
     CIMException cimException;  
     Array<CIMInstance> instances;  
     Boolean endOfSequence = true;  
     String enumerationContext = String::EMPTY;  
   
     if (XmlReader::getErrorElement(parser, cimException))  
     {  
         return new CIMOpenQueryInstancesResponseMessage(  
             messageId,  
             cimException,  
             CIMClass(),  
             QueueIdStack(),  
             endOfSequence,  
             enumerationContext);  
     }  
   
     if (isEmptyImethodresponseTag)  
     {  
         throw PEGASUS_CIM_EXCEPTION(CIM_ERR_INVALID_PARAMETER,  
             "Return Parameters endOfSequence"  
                 "and/or enumerationContext required.");  
     }  
   
     //// KS_TODO this should be instance without path. We do not have  
     //// function for that in XmlReader so we are not compliant.  
     ///  KS_TODO modify whole OpenQuery operation for instance w/o path  
     _decodeGetInstancesWithPathElement(parser, instances);  
   
     // Get the OUT parameters (endOfSequence and enumerationContext)  
     _decodeOpenResponseParamValues(parser, endOfSequence, enumerationContext);  
   
     CIMOpenQueryInstancesResponseMessage* msg;  
   
     msg = new CIMOpenQueryInstancesResponseMessage(  
         messageId,  
         cimException,  
         CIMClass(),  
         QueueIdStack(),  
         endOfSequence,  
         enumerationContext);  
   
     msg->getResponseData().setInstances(instances);  
     return msg;  
 }  
 //EXP_PULL_END //EXP_PULL_END
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.96.2.10  
changed lines
  Added in v.1.96.2.11

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2