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

Diff for /pegasus/src/Pegasus/Common/CIMResponseData.cpp between version 1.2.2.2 and 1.2.2.4

version 1.2.2.2, 2009/09/03 13:54:05 version 1.2.2.4, 2009/10/01 09:33:36
Line 363 
Line 363 
     }     }
  
     _resolveCallback = _resolveBinaryInstance;     _resolveCallback = _resolveBinaryInstance;
     _binaryEncoding = true;      _encoding = RESP_ENC_BINARY;
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return true;     return true;
Line 407 
Line 407 
     }     }
  
     _resolveCallback = _resolveXMLInstance;     _resolveCallback = _resolveXMLInstance;
       _encoding = RESP_ENC_XML;
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return true;     return true;
Line 423 
Line 424 
     PEG_METHOD_ENTER(TRC_DISPATCHER,     PEG_METHOD_ENTER(TRC_DISPATCHER,
         "CIMInstanceResponseData::encodeBinaryResponse");         "CIMInstanceResponseData::encodeBinaryResponse");
  
     if (_resolveCallback && _binaryEncoding)      if (_resolveCallback && (_encoding == RESP_ENC_BINARY))
     {     {
         const Array<Uint8>& data = _binaryData;         const Array<Uint8>& data = _binaryData;
         out.putBytes(data.getData(), data.size());         out.putBytes(data.getData(), data.size());
Line 441 
Line 442 
 // This code corresponds to method _resolveXmlInstance, which is used // This code corresponds to method _resolveXmlInstance, which is used
 // revert a CIM-XML instance representation back into a CIMInstance. // revert a CIM-XML instance representation back into a CIMInstance.
 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------
 void CIMInstanceResponseData::encodeXmlResponse(Buffer& out) const  void CIMInstanceResponseData::encodeXmlResponse(Buffer& out)
 { {
     PEG_METHOD_ENTER(TRC_DISPATCHER,     PEG_METHOD_ENTER(TRC_DISPATCHER,
         "CIMInstanceResponseData::encodeXmlResponse");         "CIMInstanceResponseData::encodeXmlResponse");
  
     if (_resolveCallback && !_binaryEncoding)      if (_resolveCallback && (_encoding == RESP_ENC_XML))
     {     {
         out.append( (char*)_instanceData.getData(),_instanceData.size()-1);         out.append( (char*)_instanceData.getData(),_instanceData.size()-1);
     }     }
     else     else
     {     {
           _resolve();
         XmlWriter::appendInstanceElement(out, _cimInstance);         XmlWriter::appendInstanceElement(out, _cimInstance);
         //SCMOXmlWriter::appendValueSCMOInstanceElement(out, _cimInstance);         //SCMOXmlWriter::appendValueSCMOInstanceElement(out, _cimInstance);
     }     }
Line 488 
Line 490 
 } }
  
 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------
   // Instantiates a CIMInstance from a SCMOInstance
   // Returns true on success.
   //------------------------------------------------------------------------------
   Boolean CIMInstanceResponseData::_resolveSCMOInstance(
       CIMInstanceResponseData* data,
       CIMInstance& instance)
   {
       PEG_METHOD_ENTER(TRC_DISPATCHER,
           "CIMInstanceResponseData::_resolveSCMOInstance");
   
       //--rk-->TBD: Do the actual coding here
   
       fprintf(stderr,"CIMInstanceResponseData::_resolveSCMOInstance() "
               "Poorly implemented!!!\n");
       try
       {
           /*SCMODump dmp;
           dmp.dumpSCMOInstanceKeyBindings(data->_scmoInstances[0]);
           dmp.dumpInstanceProperties(data->_scmoInstances[0]);*/
           data->_scmoInstances[0].getCIMInstance(instance);
       }
       catch (CIMException& ex)
       {
           fprintf(stderr,"CIMInstanceResponseData::_resolveSCMOInstance() "
                   "Exception:\n%s\n",(const char*)ex.getMessage().getCString());
       }
       catch (Exception& ex)
       {
           fprintf(stderr,"CIMInstanceResponseData::_resolveSCMOInstance() "
                   "Exception:\n%s\n",(const char*)ex.getMessage().getCString());
       }
       catch (exception& ex)
       {
           fprintf(stderr,"CIMInstanceResponseData::_resolveSCMOInstance() "
                   "exception:\n%s\n",(const char*)ex.what());
       }
       catch (...)
       {
           fprintf(stderr,"CIMInstancesResponseData::_resolveSCMOInstances() "
                   "Exception: UNKNOWN\n");
       }
       data->_resolveCallback = 0;
   
       PEG_METHOD_EXIT();
       return true;
   }
   
   //------------------------------------------------------------------------------
 // Instantiates a CIMInstance from an xml representation created by // Instantiates a CIMInstance from an xml representation created by
 // the CIMBinMessageSerializer. // the CIMBinMessageSerializer.
 // Returns true on success. // Returns true on success.
Line 720 
Line 770 
         }         }
         for (Uint32 i = 0, n = _scmoInstances.size(); i < n; i++)         for (Uint32 i = 0, n = _scmoInstances.size(); i < n; i++)
         {         {
               /*SCMODump dmp;
               dmp.dumpSCMOInstanceKeyBindings(_scmoInstances[i]);
               dmp.dumpInstanceProperties(_scmoInstances[i]);*/
   
             SCMOXmlWriter::appendValueSCMOInstanceElement(             SCMOXmlWriter::appendValueSCMOInstanceElement(
                 out, _scmoInstances[i]);                 out, _scmoInstances[i]);
  
 /*  /*            fprintf(
             fprintf(  
                 stderr,                 stderr,
                 "After appendValueNamedInstanceElement()\n%s",                 "After appendValueNamedInstanceElement()\n%s",
                 out.getData());                 out.getData());
             fflush(stderr);              fflush(stderr);*/
 */  
         }         }
     }     }
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();


Legend:
Removed from v.1.2.2.2  
changed lines
  Added in v.1.2.2.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2