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

Diff for /pegasus/src/Pegasus/Common/CIMBinMsgDeserializer.cpp between version 1.8 and 1.16

version 1.8, 2009/05/27 05:56:25 version 1.16, 2012/07/26 11:14:54
Line 34 
Line 34 
 #include <Pegasus/Common/System.h> #include <Pegasus/Common/System.h>
  
 #include "CIMBinMsgDeserializer.h" #include "CIMBinMsgDeserializer.h"
 #include "BinaryCodec.h"  
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 89 
Line 88 
     Uint64 serverStartTimeMicroseconds;     Uint64 serverStartTimeMicroseconds;
  
     if (!in.getUint64(serverStartTimeMicroseconds))     if (!in.getUint64(serverStartTimeMicroseconds))
         return false;          return 0;
  
     // [providerTimeMicroseconds]     // [providerTimeMicroseconds]
     Uint64 providerTimeMicroseconds;     Uint64 providerTimeMicroseconds;
  
     if (!in.getUint64(providerTimeMicroseconds))     if (!in.getUint64(providerTimeMicroseconds))
         return false;          return 0;
  
 #endif #endif
  
Line 104 
Line 103 
     Boolean isComplete;     Boolean isComplete;
  
     if (!in.getBoolean(isComplete))     if (!in.getBoolean(isComplete))
         return false;          return 0;
  
     // [index]     // [index]
  
     Uint32 index;     Uint32 index;
  
     if (!in.getUint32(index))     if (!in.getUint32(index))
         return false;          return 0;
  
     // [operationContext]     // [operationContext]
  
Line 352 
Line 351 
             case CIM_INDICATION_SERVICE_DISABLED_REQUEST_MESSAGE:             case CIM_INDICATION_SERVICE_DISABLED_REQUEST_MESSAGE:
                 msg = _getIndicationServiceDisabledRequestMessage(in);                 msg = _getIndicationServiceDisabledRequestMessage(in);
                 break;                 break;
               case PROVAGT_GET_SCMOCLASS_REQUEST_MESSAGE:
                   msg = _getProvAgtGetScmoClassRequestMessage(in);
                   break;
   
  
             default:             default:
                 PEGASUS_ASSERT(0);                 PEGASUS_ASSERT(0);
Line 408 
Line 411 
             msg = _getEnumerateInstanceNamesResponseMessage(in);             msg = _getEnumerateInstanceNamesResponseMessage(in);
             break;             break;
         case CIM_EXEC_QUERY_RESPONSE_MESSAGE:         case CIM_EXEC_QUERY_RESPONSE_MESSAGE:
             msg = _getExecQueryResponseMessage(in);              msg = _getExecQueryResponseMessage(in, binaryResponse);
             break;             break;
         case CIM_GET_PROPERTY_RESPONSE_MESSAGE:         case CIM_GET_PROPERTY_RESPONSE_MESSAGE:
             msg = _getGetPropertyResponseMessage(in);             msg = _getGetPropertyResponseMessage(in);
Line 417 
Line 420 
             msg = _getSetPropertyResponseMessage(in);             msg = _getSetPropertyResponseMessage(in);
             break;             break;
         case CIM_ASSOCIATORS_RESPONSE_MESSAGE:         case CIM_ASSOCIATORS_RESPONSE_MESSAGE:
             msg = _getAssociatorsResponseMessage(in);              msg = _getAssociatorsResponseMessage(in, binaryResponse);
             break;             break;
         case CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE:         case CIM_ASSOCIATOR_NAMES_RESPONSE_MESSAGE:
             msg = _getAssociatorNamesResponseMessage(in);             msg = _getAssociatorNamesResponseMessage(in);
             break;             break;
         case CIM_REFERENCES_RESPONSE_MESSAGE:         case CIM_REFERENCES_RESPONSE_MESSAGE:
             msg = _getReferencesResponseMessage(in);              msg = _getReferencesResponseMessage(in, binaryResponse);
             break;             break;
         case CIM_REFERENCE_NAMES_RESPONSE_MESSAGE:         case CIM_REFERENCE_NAMES_RESPONSE_MESSAGE:
             msg = _getReferenceNamesResponseMessage(in);             msg = _getReferenceNamesResponseMessage(in);
Line 468 
Line 471 
         case CIM_INDICATION_SERVICE_DISABLED_RESPONSE_MESSAGE:         case CIM_INDICATION_SERVICE_DISABLED_RESPONSE_MESSAGE:
             msg = _getIndicationServiceDisabledResponseMessage(in);             msg = _getIndicationServiceDisabledResponseMessage(in);
             break;             break;
           case PROVAGT_GET_SCMOCLASS_RESPONSE_MESSAGE:
               msg = _getProvAgtGetScmoClassResponseMessage(in);
               break;
  
         default:         default:
             PEGASUS_ASSERT(0);             PEGASUS_ASSERT(0);
Line 946 
Line 952 
     CIMPropertyList propertyList;     CIMPropertyList propertyList;
  
     if (!_getInstance(in, modifiedInstance))     if (!_getInstance(in, modifiedInstance))
         return false;          return 0;
  
     if (!in.getBoolean(includeQualifiers))     if (!in.getBoolean(includeQualifiers))
         return false;          return 0;
  
     if (!_getPropertyList(in, propertyList))     if (!_getPropertyList(in, propertyList))
         return false;          return 0;
  
     return new CIMModifyInstanceRequestMessage(     return new CIMModifyInstanceRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 974 
Line 980 
     CIMPropertyList propertyList;     CIMPropertyList propertyList;
  
     if (!in.getBoolean(deepInheritance))     if (!in.getBoolean(deepInheritance))
         return false;          return 0;
  
     if (!in.getBoolean(includeQualifiers))     if (!in.getBoolean(includeQualifiers))
         return false;          return 0;
  
     if (!in.getBoolean(includeClassOrigin))     if (!in.getBoolean(includeClassOrigin))
         return false;          return 0;
  
     if (!_getPropertyList(in, propertyList))     if (!_getPropertyList(in, propertyList))
         return false;          return 0;
  
     return new CIMEnumerateInstancesRequestMessage(     return new CIMEnumerateInstancesRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1015 
Line 1021 
     String query;     String query;
  
     if (!in.getString(queryLanguage) || !in.getString(query))     if (!in.getString(queryLanguage) || !in.getString(query))
         return false;          return 0;
  
     return new CIMExecQueryRequestMessage(     return new CIMExecQueryRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1039 
Line 1045 
     CIMPropertyList propertyList;     CIMPropertyList propertyList;
  
     if (!_getObjectPath(in, objectName))     if (!_getObjectPath(in, objectName))
         return false;          return 0;
  
     if (!_getName(in, assocClass))     if (!_getName(in, assocClass))
         return false;          return 0;
  
     if (!_getName(in, resultClass))     if (!_getName(in, resultClass))
         return false;          return 0;
  
     if (!in.getString(role))     if (!in.getString(role))
         return false;          return 0;
  
     if (!in.getString(resultRole))     if (!in.getString(resultRole))
         return false;          return 0;
  
     if (!in.getBoolean(includeQualifiers))     if (!in.getBoolean(includeQualifiers))
         return false;          return 0;
  
     if (!in.getBoolean(includeClassOrigin))     if (!in.getBoolean(includeClassOrigin))
         return false;          return 0;
  
     if (!_getPropertyList(in, propertyList))     if (!_getPropertyList(in, propertyList))
         return false;          return 0;
  
     return new CIMAssociatorsRequestMessage(     return new CIMAssociatorsRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1087 
Line 1093 
     String resultRole;     String resultRole;
  
     if (!_getObjectPath(in, objectName))     if (!_getObjectPath(in, objectName))
         return false;          return 0;
  
     if (!_getName(in, assocClass))     if (!_getName(in, assocClass))
         return false;          return 0;
  
     if (!_getName(in, resultClass))     if (!_getName(in, resultClass))
         return false;          return 0;
  
     if (!in.getString(role))     if (!in.getString(role))
         return false;          return 0;
  
     if (!in.getString(resultRole))     if (!in.getString(resultRole))
         return false;          return 0;
  
     return new CIMAssociatorNamesRequestMessage(     return new CIMAssociatorNamesRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1123 
Line 1129 
     CIMPropertyList propertyList;     CIMPropertyList propertyList;
  
     if (!_getObjectPath(in, objectName))     if (!_getObjectPath(in, objectName))
         return false;          return 0;
  
     if (!_getName(in, resultClass))     if (!_getName(in, resultClass))
         return false;          return 0;
  
     if (!in.getString(role))     if (!in.getString(role))
         return false;          return 0;
  
     if (!in.getBoolean(includeQualifiers))     if (!in.getBoolean(includeQualifiers))
         return false;          return 0;
  
     if (!in.getBoolean(includeClassOrigin))     if (!in.getBoolean(includeClassOrigin))
         return false;          return 0;
  
     if (!_getPropertyList(in, propertyList))     if (!_getPropertyList(in, propertyList))
         return false;          return 0;
  
     return new CIMReferencesRequestMessage(     return new CIMReferencesRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1161 
Line 1167 
     String role;     String role;
  
     if (!_getObjectPath(in, objectName))     if (!_getObjectPath(in, objectName))
         return false;          return 0;
  
     if (!_getName(in, resultClass))     if (!_getName(in, resultClass))
         return false;          return 0;
  
     if (!in.getString(role))     if (!in.getString(role))
         return false;          return 0;
  
     return new CIMReferenceNamesRequestMessage(     return new CIMReferenceNamesRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1186 
Line 1192 
     CIMName propertyName;     CIMName propertyName;
  
     if (!_getObjectPath(in, instanceName))     if (!_getObjectPath(in, instanceName))
         return false;          return 0;
  
     if (!_getName(in, propertyName))     if (!_getName(in, propertyName))
         return false;          return 0;
  
     return new CIMGetPropertyRequestMessage(     return new CIMGetPropertyRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1207 
Line 1213 
     CIMParamValue newValue;     CIMParamValue newValue;
  
     if (!_getObjectPath(in, instanceName))     if (!_getObjectPath(in, instanceName))
         return false;          return 0;
  
     if (!_getParamValue(in, newValue))     if (!_getParamValue(in, newValue))
         return false;          return 0;
  
     return new CIMSetPropertyRequestMessage(     return new CIMSetPropertyRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1231 
Line 1237 
     Array<CIMParamValue> inParameters;     Array<CIMParamValue> inParameters;
  
     if (!_getObjectPath(in, instanceName))     if (!_getObjectPath(in, instanceName))
         return false;          return 0;
  
     if (!_getName(in, methodName))     if (!_getName(in, methodName))
         return false;          return 0;
  
     if (!in.getParamValueA(inParameters))     if (!in.getParamValueA(inParameters))
         return false;          return 0;
  
     return new CIMInvokeMethodRequestMessage(     return new CIMInvokeMethodRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1261 
Line 1267 
     String query;     String query;
  
     if (!_getNamespaceName(in, nameSpace))     if (!_getNamespaceName(in, nameSpace))
         return false;          return 0;
  
     if (!_getInstance(in, subscriptionInstance))     if (!_getInstance(in, subscriptionInstance))
         return false;          return 0;
  
     if (!in.getNameA(classNames))     if (!in.getNameA(classNames))
         return false;          return 0;
  
     if (!_getPropertyList(in, propertyList))     if (!_getPropertyList(in, propertyList))
         return false;          return 0;
  
     if (!in.getUint16(repeatNotificationPolicy))     if (!in.getUint16(repeatNotificationPolicy))
         return false;          return 0;
  
     if (!in.getString(query))     if (!in.getString(query))
         return false;          return 0;
  
     return new CIMCreateSubscriptionRequestMessage(     return new CIMCreateSubscriptionRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1302 
Line 1308 
     String query;     String query;
  
     if (!_getNamespaceName(in, nameSpace))     if (!_getNamespaceName(in, nameSpace))
         return false;          return 0;
  
     if (!_getInstance(in, subscriptionInstance))     if (!_getInstance(in, subscriptionInstance))
         return false;          return 0;
  
     if (!in.getNameA(classNames))     if (!in.getNameA(classNames))
         return false;          return 0;
  
     if (!_getPropertyList(in, propertyList))     if (!_getPropertyList(in, propertyList))
         return false;          return 0;
  
     if (!in.getUint16(repeatNotificationPolicy))     if (!in.getUint16(repeatNotificationPolicy))
         return false;          return 0;
  
     if (!in.getString(query))     if (!in.getString(query))
         return false;          return 0;
  
     return new CIMModifySubscriptionRequestMessage(     return new CIMModifySubscriptionRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1340 
Line 1346 
     Array<CIMName> classNames;     Array<CIMName> classNames;
  
     if (!_getNamespaceName(in, nameSpace))     if (!_getNamespaceName(in, nameSpace))
         return false;          return 0;
  
     if (!_getInstance(in, subscriptionInstance))     if (!_getInstance(in, subscriptionInstance))
         return false;          return 0;
  
     if (!in.getNameA(classNames))     if (!in.getNameA(classNames))
         return false;          return 0;
  
     return new CIMDeleteSubscriptionRequestMessage(     return new CIMDeleteSubscriptionRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1366 
Line 1372 
     CIMInstance indicationInstance;     CIMInstance indicationInstance;
  
     if (!_getUserInfo(in, authType, userName))     if (!_getUserInfo(in, authType, userName))
         return false;          return 0;
  
     if (!in.getString(destinationPath))     if (!in.getString(destinationPath))
         return false;          return 0;
  
     if (!_getInstance(in, indicationInstance))     if (!_getInstance(in, indicationInstance))
         return false;          return 0;
  
     return new CIMExportIndicationRequestMessage(     return new CIMExportIndicationRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1392 
Line 1398 
     CIMInstance indicationInstance;     CIMInstance indicationInstance;
     Array<CIMObjectPath> subscriptionInstanceNames;     Array<CIMObjectPath> subscriptionInstanceNames;
     CIMInstance provider;     CIMInstance provider;
       Uint32 timeoutMilliSec;
  
     if (!_getNamespaceName(in, nameSpace))     if (!_getNamespaceName(in, nameSpace))
         return false;          return 0;
  
     if (!_getInstance(in, indicationInstance))     if (!_getInstance(in, indicationInstance))
         return false;          return 0;
  
     if (!in.getObjectPathA(subscriptionInstanceNames))     if (!in.getObjectPathA(subscriptionInstanceNames))
         return false;          return 0;
  
     if (!_getInstance(in, provider))     if (!_getInstance(in, provider))
         return false;          return 0;
   
       if (!in.getUint32(timeoutMilliSec))
           return 0;
  
     return new CIMProcessIndicationRequestMessage(     return new CIMProcessIndicationRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1411 
Line 1421 
         indicationInstance,         indicationInstance,
         subscriptionInstanceNames,         subscriptionInstanceNames,
         provider,         provider,
         QueueIdStack());          QueueIdStack(),
           timeoutMilliSec);
 } }
  
 CIMDisableModuleRequestMessage* CIMDisableModuleRequestMessage*
Line 1427 
Line 1438 
     Array<Boolean> indicationProviders;     Array<Boolean> indicationProviders;
  
     if (!_getUserInfo(in, authType, userName))     if (!_getUserInfo(in, authType, userName))
         return false;          return 0;
  
     if (!_getInstance(in, providerModule))     if (!_getInstance(in, providerModule))
         return false;          return 0;
  
     if (!in.getInstanceA(providers))     if (!in.getInstanceA(providers))
         return false;          return 0;
  
     if (!in.getBoolean(disableProviderOnly))     if (!in.getBoolean(disableProviderOnly))
         return false;          return 0;
  
     if (!in.getBooleanA(indicationProviders))     if (!in.getBooleanA(indicationProviders))
         return false;          return 0;
  
     return new CIMDisableModuleRequestMessage(     return new CIMDisableModuleRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1461 
Line 1472 
     CIMInstance providerModule;     CIMInstance providerModule;
  
     if (!_getUserInfo(in, authType, userName))     if (!_getUserInfo(in, authType, userName))
         return false;          return 0;
  
     if (!_getInstance(in, providerModule))     if (!_getInstance(in, providerModule))
         return false;          return 0;
  
     return new CIMEnableModuleRequestMessage(     return new CIMEnableModuleRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1478 
Line 1489 
 CIMBinMsgDeserializer::_getStopAllProvidersRequestMessage( CIMBinMsgDeserializer::_getStopAllProvidersRequestMessage(
     CIMBuffer& in)     CIMBuffer& in)
 { {
       Uint32 shutdownTimeout;
   
       if (!in.getUint32(shutdownTimeout))
           return 0;
   
     return new CIMStopAllProvidersRequestMessage(     return new CIMStopAllProvidersRequestMessage(
         String::EMPTY,         String::EMPTY,
         QueueIdStack());          QueueIdStack(),
           shutdownTimeout);
 } }
  
 CIMInitializeProviderAgentRequestMessage* CIMInitializeProviderAgentRequestMessage*
Line 1496 
Line 1513 
     Boolean subscriptionInitComplete;     Boolean subscriptionInitComplete;
  
     if (!in.getString(pegasusHome))     if (!in.getString(pegasusHome))
         return false;          return 0;
  
     if (!in.getUint32(size))     if (!in.getUint32(size))
         return false;          return 0;
  
     for (Uint32 i = 0; i < size; i++)     for (Uint32 i = 0; i < size; i++)
     {     {
Line 1507 
Line 1524 
         String second;         String second;
  
         if (!in.getString(first) || !in.getString(second))         if (!in.getString(first) || !in.getString(second))
             return false;              return 0;
  
         configProperties.append(ConfigPair(first, second));         configProperties.append(ConfigPair(first, second));
     }     }
  
     if (!in.getBoolean(bindVerbose))     if (!in.getBoolean(bindVerbose))
         return false;          return 0;
  
     if (!in.getBoolean(subscriptionInitComplete))     if (!in.getBoolean(subscriptionInitComplete))
         return false;          return 0;
  
     return new CIMInitializeProviderAgentRequestMessage(     return new CIMInitializeProviderAgentRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1536 
Line 1553 
     Boolean currentValueModified;     Boolean currentValueModified;
  
     if (!in.getString(propertyName))     if (!in.getString(propertyName))
         return false;          return 0;
  
     if (!in.getString(newPropertyValue))     if (!in.getString(newPropertyValue))
         return false;          return 0;
  
     if (!in.getBoolean(currentValueModified))     if (!in.getBoolean(currentValueModified))
         return false;          return 0;
  
     return new CIMNotifyConfigChangeRequestMessage(     return new CIMNotifyConfigChangeRequestMessage(
         String::EMPTY,         String::EMPTY,
Line 1570 
Line 1587 
         QueueIdStack());         QueueIdStack());
 } }
  
 static Boolean _resolveXMLInstance(  ProvAgtGetScmoClassRequestMessage*
     CIMGetInstanceResponseMessage* msg,  CIMBinMsgDeserializer::_getProvAgtGetScmoClassRequestMessage(
     CIMInstance& cimInstance)      CIMBuffer& in)
 {  
     // Deserialize instance:  
     {  
         XmlParser parser((char*)msg->instanceData.getData());  
   
         if (!XmlReader::getInstanceElement(parser, cimInstance))  
         {  
             cimInstance = CIMInstance();  
             return false;  
         }  
     }  
   
     // Deserialize path:  
     {  
         XmlParser parser((char*)msg->referenceData.getData());  
         CIMObjectPath cimObjectPath;  
   
         if (XmlReader::getValueReferenceElement(parser, cimObjectPath))  
         {  
             if (msg->hostData.size())  
                 cimObjectPath.setHost(msg->hostData);  
   
             if (!msg->nameSpaceData.isNull())  
                 cimObjectPath.setNameSpace(msg->nameSpaceData);  
   
             cimInstance.setPath(cimObjectPath);  
         }  
     }  
   
     return true;  
 }  
   
 static Boolean _resolveXMLInstances(  
     CIMEnumerateInstancesResponseMessage* msg,  
     Array<CIMInstance>& instances)  
 {  
     instances.clear();  
   
     for (Uint32 i = 0; i < msg->instancesData.size(); i++)  
     {  
         CIMInstance cimInstance;  
   
         // Deserialize instance:  
         {  
             XmlParser parser((char*)msg->instancesData[i].getData());  
   
             if (!XmlReader::getInstanceElement(parser, cimInstance))  
             {  
                 cimInstance = CIMInstance();  
             }  
         }  
   
         // Deserialize path:  
         {  
             XmlParser parser((char*)msg->referencesData[i].getData());  
             CIMObjectPath cimObjectPath;  
   
             if (XmlReader::getInstanceNameElement(parser, cimObjectPath))  
             {  
                 if (!msg->nameSpacesData[i].isNull())  
                     cimObjectPath.setNameSpace(msg->nameSpacesData[i]);  
   
                 if (msg->hostsData[i].size())  
                     cimObjectPath.setHost(msg->hostsData[i]);  
   
                 cimInstance.setPath(cimObjectPath);  
             }  
         }  
   
         instances.append(cimInstance);  
     }  
   
     return true;  
 }  
   
 static Boolean _resolveBinaryInstance(  
     CIMGetInstanceResponseMessage* msg,  
     CIMInstance& instance)  
 {  
     CIMBuffer in((char*)msg->binaryData.getData(), msg->binaryData.size());  
   
     if (!in.getInstance(instance))  
     {     {
         instance = CIMInstance();      CIMName className;
         in.release();      CIMNamespaceName nsName;
         return false;      String messageID;
     }  
   
     in.release();  
     return true;  
 }  
  
 static Boolean _resolveBinaryInstances(      if (!in.getString(messageID))
     CIMEnumerateInstancesResponseMessage* msg,          return 0;
     Array<CIMInstance>& instances)  
 {  
     instances.clear();  
  
     CIMBuffer in((char*)msg->binaryData.getData(), msg->binaryData.size());      if (!in.getNamespaceName(nsName))
           return 0;
  
     if (!in.getInstanceA(instances))      if (!in.getName(className))
     {          return 0;
         in.release();  
         return false;  
     }  
  
     in.release();      return new ProvAgtGetScmoClassRequestMessage(
     return true;          messageID,
           nsName,
           className,
           QueueIdStack());
 } }
  
 CIMGetInstanceResponseMessage* CIMGetInstanceResponseMessage*
Line 1688 
Line 1616 
     CIMBuffer& in,     CIMBuffer& in,
     bool binaryResponse)     bool binaryResponse)
 { {
     if (binaryResponse)  
     {  
         CIMGetInstanceResponseMessage* msg = new CIMGetInstanceResponseMessage(         CIMGetInstanceResponseMessage* msg = new CIMGetInstanceResponseMessage(
             String::EMPTY,             String::EMPTY,
             CIMException(),             CIMException(),
             QueueIdStack());             QueueIdStack());
  
         if (!in.getUint8A(msg->binaryData))      CIMResponseData& responseData = msg->getResponseData();
             return 0;  
   
         msg->resolveCallback = _resolveBinaryInstance;  
         msg->binaryEncoding = true;  
  
         return msg;      if (binaryResponse)
       {
           if (!responseData.setBinary(in))
           {
               delete(msg);
               return 0;
           }
     }     }
     else     else
     {     {
         Array<Sint8> instanceData;          if (!responseData.setXml(in))
         Array<Sint8> referenceData;          {
         String hostData;              delete(msg);
         CIMNamespaceName nameSpaceData;              return 0;
           }
         if (!in.getSint8A(instanceData))      }
             return NULL;  
   
         if (!in.getSint8A(referenceData))  
             return NULL;  
   
         if (!in.getString(hostData))  
             return NULL;  
   
         if (!in.getNamespaceName(nameSpaceData))  
             return NULL;  
   
         CIMGetInstanceResponseMessage* msg = new CIMGetInstanceResponseMessage(  
             String::EMPTY,  
             CIMException(),  
             QueueIdStack());  
   
         msg->resolveCallback = _resolveXMLInstance;  
         msg->instanceData = instanceData;  
         msg->referenceData = referenceData;  
         msg->hostData = hostData;  
         msg->nameSpaceData = nameSpaceData;  
  
         return msg;         return msg;
     }     }
 }  
  
 CIMDeleteInstanceResponseMessage* CIMDeleteInstanceResponseMessage*
 CIMBinMsgDeserializer::_getDeleteInstanceResponseMessage( CIMBinMsgDeserializer::_getDeleteInstanceResponseMessage(
Line 1754 
Line 1660 
     CIMObjectPath instanceName;     CIMObjectPath instanceName;
  
     if (!_getObjectPath(in, instanceName))     if (!_getObjectPath(in, instanceName))
         return false;          return 0;
  
     return new CIMCreateInstanceResponseMessage(     return new CIMCreateInstanceResponseMessage(
         String::EMPTY,         String::EMPTY,
Line 1778 
Line 1684 
     CIMBuffer& in,     CIMBuffer& in,
     bool binaryResponse)     bool binaryResponse)
 { {
     if (binaryResponse)  
     {  
         // Inject data into message so that the instances can be deserialized  
         // on demand later (hopefully never; hopefully it can be written out on  
         // the wire intact).  
   
         CIMEnumerateInstancesResponseMessage* msg;         CIMEnumerateInstancesResponseMessage* msg;
  
         msg = new CIMEnumerateInstancesResponseMessage(String::EMPTY,         msg = new CIMEnumerateInstancesResponseMessage(String::EMPTY,
             CIMException(), QueueIdStack());             CIMException(), QueueIdStack());
  
         if (!in.getUint8A(msg->binaryData))      CIMResponseData& responseData = msg->getResponseData();
             return 0;  
  
         msg->resolveCallback = _resolveBinaryInstances;      if (binaryResponse)
         msg->binaryEncoding = true;      {
           if (!responseData.setBinary(in))
           {
               delete(msg);
               return 0;
           }
  
         return msg;         return msg;
     }     }
     else     else
     {     {
         Uint32 count;          if (!responseData.setXml(in))
   
         if (!in.getUint32(count))  
             return 0;  
   
         Array<ArraySint8> instancesData;  
         Array<ArraySint8> referencesData;  
         Array<String> hostsData;  
         Array<CIMNamespaceName> nameSpacesData;  
   
         for (Uint32 i = 0; i < count; i++)  
         {         {
             Array<Sint8> inst;              delete(msg);
             Array<Sint8> ref;  
             CIMNamespaceName ns;  
             String host;  
   
             if (!in.getSint8A(inst))  
                 return 0;  
   
             if (!in.getSint8A(ref))  
                 return 0;  
   
             if (!in.getString(host))  
                 return 0;  
   
             if (!in.getNamespaceName(ns))  
                 return 0;                 return 0;
   
             instancesData.append(inst);  
             referencesData.append(ref);  
             hostsData.append(host);  
             nameSpacesData.append(ns);  
         }         }
  
         CIMEnumerateInstancesResponseMessage* msg;  
   
         msg = new CIMEnumerateInstancesResponseMessage(  
             String::EMPTY,  
             CIMException(),  
             QueueIdStack());  
   
         msg->resolveCallback = _resolveXMLInstances;  
         msg->instancesData = instancesData;  
         msg->referencesData = referencesData;  
         msg->hostsData = hostsData;  
         msg->nameSpacesData = nameSpacesData;  
   
         return msg;         return msg;
     }     }
 } }
Line 1855 
Line 1717 
 CIMBinMsgDeserializer::_getEnumerateInstanceNamesResponseMessage( CIMBinMsgDeserializer::_getEnumerateInstanceNamesResponseMessage(
     CIMBuffer& in)     CIMBuffer& in)
 { {
     XmlEntry entry;      CIMEnumerateInstanceNamesResponseMessage* msg;
     Array<CIMObjectPath> instanceNames;  
  
     if (!in.getObjectPathA(instanceNames))      msg = new CIMEnumerateInstanceNamesResponseMessage(String::EMPTY,
         return false;  
   
     return new CIMEnumerateInstanceNamesResponseMessage(  
         String::EMPTY,  
         CIMException(),         CIMException(),
         QueueIdStack(),                                                         QueueIdStack());
         instanceNames);  
       CIMResponseData& responseData = msg->getResponseData();
   
       if (!responseData.setBinary(in))
       {
           delete(msg);
           return 0;
       }
   
       return msg;
 } }
  
 CIMExecQueryResponseMessage* CIMExecQueryResponseMessage*
 CIMBinMsgDeserializer::_getExecQueryResponseMessage( CIMBinMsgDeserializer::_getExecQueryResponseMessage(
     CIMBuffer& in)      CIMBuffer& in,
       bool binaryResponse)
 { {
     XmlEntry entry;      CIMExecQueryResponseMessage* msg;
     Array<CIMObject> cimObjects;  
  
     if (!in.getObjectA(cimObjects))      msg = new CIMExecQueryResponseMessage(String::EMPTY,
         return false;          CIMException(), QueueIdStack());
  
     return new CIMExecQueryResponseMessage(      CIMResponseData& responseData = msg->getResponseData();
         String::EMPTY,  
         CIMException(),      if (binaryResponse)
         QueueIdStack(),      {
         cimObjects);          if (!responseData.setBinary(in))
           {
               delete(msg);
               return 0;
           }
       }
       else
       {
           if (!responseData.setXml(in))
           {
               delete(msg);
               return 0;
           }
       }
   
       return msg;
 } }
  
 CIMAssociatorsResponseMessage* CIMAssociatorsResponseMessage*
 CIMBinMsgDeserializer::_getAssociatorsResponseMessage( CIMBinMsgDeserializer::_getAssociatorsResponseMessage(
     CIMBuffer& in)      CIMBuffer& in,
       bool binaryResponse)
 { {
     XmlEntry entry;      CIMAssociatorsResponseMessage* msg;
     Array<CIMObject> cimObjects;  
  
     if (!in.getObjectA(cimObjects))      msg = new CIMAssociatorsResponseMessage(String::EMPTY,
         return false;          CIMException(), QueueIdStack());
  
     return new CIMAssociatorsResponseMessage(      CIMResponseData& responseData = msg->getResponseData();
         String::EMPTY,  
         CIMException(),      if (binaryResponse)
         QueueIdStack(),      {
         cimObjects);          if (!responseData.setBinary(in))
           {
               delete(msg);
               return 0;
           }
       }
       else
       {
           if (!responseData.setXml(in))
           {
               delete(msg);
               return 0;
           }
       }
   
       return msg;
 } }
  
 CIMAssociatorNamesResponseMessage* CIMAssociatorNamesResponseMessage*
 CIMBinMsgDeserializer::_getAssociatorNamesResponseMessage( CIMBinMsgDeserializer::_getAssociatorNamesResponseMessage(
     CIMBuffer& in)     CIMBuffer& in)
 { {
     XmlEntry entry;      CIMAssociatorNamesResponseMessage* msg;
     Array<CIMObjectPath> objectNames;  
  
     if (!in.getObjectPathA(objectNames))      msg = new CIMAssociatorNamesResponseMessage(String::EMPTY,
         return false;          CIMException(), QueueIdStack());
  
     return new CIMAssociatorNamesResponseMessage(      CIMResponseData& responseData = msg->getResponseData();
         String::EMPTY,  
         CIMException(),      if (!responseData.setBinary(in))
         QueueIdStack(),      {
         objectNames);          delete(msg);
           return 0;
       }
   
       return msg;
 } }
  
 CIMReferencesResponseMessage* CIMReferencesResponseMessage*
 CIMBinMsgDeserializer::_getReferencesResponseMessage( CIMBinMsgDeserializer::_getReferencesResponseMessage(
     CIMBuffer& in)      CIMBuffer& in,
       bool binaryResponse)
 { {
     XmlEntry entry;      CIMReferencesResponseMessage* msg;
     Array<CIMObject> cimObjects;  
  
     if (!in.getObjectA(cimObjects))      msg = new CIMReferencesResponseMessage(String::EMPTY,
         return false;          CIMException(), QueueIdStack());
  
     return new CIMReferencesResponseMessage(      CIMResponseData& responseData = msg->getResponseData();
         String::EMPTY,  
         CIMException(),      if (binaryResponse)
         QueueIdStack(),      {
         cimObjects);          if (!responseData.setBinary(in))
           {
               delete(msg);
               return 0;
           }
       }
       else
       {
           if (!responseData.setXml(in))
           {
               delete(msg);
               return 0;
           }
       }
   
       return msg;
 } }
  
 CIMReferenceNamesResponseMessage* CIMReferenceNamesResponseMessage*
 CIMBinMsgDeserializer::_getReferenceNamesResponseMessage( CIMBinMsgDeserializer::_getReferenceNamesResponseMessage(
     CIMBuffer& in)     CIMBuffer& in)
 { {
     XmlEntry entry;      CIMReferenceNamesResponseMessage* msg;
     Array<CIMObjectPath> objectNames;  
  
     if (!in.getObjectPathA(objectNames))      msg = new CIMReferenceNamesResponseMessage(String::EMPTY,
         return false;          CIMException(), QueueIdStack());
  
     return new CIMReferenceNamesResponseMessage(      CIMResponseData& responseData = msg->getResponseData();
         String::EMPTY,  
         CIMException(),      if (!responseData.setBinary(in))
         QueueIdStack(),      {
         objectNames);          delete(msg);
           return 0;
       }
   
       return msg;
 } }
  
 CIMGetPropertyResponseMessage* CIMGetPropertyResponseMessage*
Line 1960 
Line 1877 
     CIMParamValue value;     CIMParamValue value;
  
     if (!_getParamValue(in, value))     if (!_getParamValue(in, value))
         return false;          return 0;
  
     return new CIMGetPropertyResponseMessage(     return new CIMGetPropertyResponseMessage(
         String::EMPTY,         String::EMPTY,
Line 1990 
Line 1907 
     Array<CIMParamValue> outParameters;     Array<CIMParamValue> outParameters;
  
     if (!_getParamValue(in, retValue))     if (!_getParamValue(in, retValue))
         return false;          return 0;
  
     if (!in.getParamValueA(outParameters))     if (!in.getParamValueA(outParameters))
         return false;          return 0;
  
     if (!_getName(in, methodName))     if (!_getName(in, methodName))
         return false;          return 0;
  
     return new CIMInvokeMethodResponseMessage(     return new CIMInvokeMethodResponseMessage(
         String::EMPTY,         String::EMPTY,
Line 2063 
Line 1980 
 { {
     XmlEntry entry;     XmlEntry entry;
     CIMValue genericValue;     CIMValue genericValue;
     Uint16 genericUint16;  
     Array<Uint16> operationalStatus;     Array<Uint16> operationalStatus;
  
     if (!in.getUint16A(operationalStatus))     if (!in.getUint16A(operationalStatus))
         return false;          return 0;
  
     return new CIMDisableModuleResponseMessage(     return new CIMDisableModuleResponseMessage(
         String::EMPTY,         String::EMPTY,
Line 2082 
Line 1998 
 { {
     XmlEntry entry;     XmlEntry entry;
     CIMValue genericValue;     CIMValue genericValue;
     Uint16 genericUint16;  
     Array<Uint16> operationalStatus;     Array<Uint16> operationalStatus;
  
     if (!in.getUint16A(operationalStatus))     if (!in.getUint16A(operationalStatus))
         return false;          return 0;
  
     return new CIMEnableModuleResponseMessage(     return new CIMEnableModuleResponseMessage(
         String::EMPTY,         String::EMPTY,
Line 2145 
Line 2060 
         QueueIdStack());         QueueIdStack());
 } }
  
   ProvAgtGetScmoClassResponseMessage*
   CIMBinMsgDeserializer::_getProvAgtGetScmoClassResponseMessage(
       CIMBuffer& in)
   {
       SCMOClass theClass("","");
       String messageID;
   
       if (!in.getString(messageID))
           return 0;
   
       if (!in.getSCMOClass(theClass))
           return 0;
   
       return new ProvAgtGetScmoClassResponseMessage(
           messageID,
           CIMException(),
           QueueIdStack(),
           theClass);
   }
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.8  
changed lines
  Added in v.1.16

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2