(file) Return to CMPIProviderManager.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / CMPI

Diff for /pegasus/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.cpp between version 1.157.2.8 and 1.157.2.9

version 1.157.2.8, 2009/10/27 18:38:11 version 1.157.2.9, 2009/10/30 13:04:14
Line 172 
Line 172 
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
 } }
  
   
   SCMOInstance* CMPIProviderManager::getSCMOClassFromRequest(
       CString& nameSpace,
       CString& className )
   {
       SCMOClass* scmoClass = mbGetSCMOClass(
           (const char*)nameSpace,
           strlen((const char*)nameSpace),
           (const char*)className,
           strlen((const char*)className));
   
       if (0 == scmoClass)
       {
           // This indicates a severe error, since we should't have come
           // here at all, if the class is invalid
           PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL2,
               "CMPIProviderManager::getSCMOClassFromRequest - "
               "Failed to obtain CIMClass for Namespace: %s  Classname: %s",
               (const char*) nameSpace,
               (const char*) className));
   
           CIMException cimException(CIM_ERR_NOT_FOUND);
           throw cimException;
       }
   
       return new SCMOInstance(*scmoClass);
   }
   
   SCMOInstance* CMPIProviderManager::getSCMOObjectPathFromRequest(
       CString& nameSpace,
       CString& className,
       CIMObjectPath& cimObjPath )
   {
       SCMOClass* scmoClass = mbGetSCMOClass(
           (const char*)nameSpace,
           strlen((const char*)nameSpace),
           (const char*)className,
           strlen((const char*)className));
   
       if (0 == scmoClass)
       {
           // This indicates a severe error, since we should't have come
           // here at all, if the class is invalid
           PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,
               "CMPIProviderManager::getSCMOObjectPathFromRequest - "
               "Failed to obtain CIMClass for Namespace: %s  Classname: %s",
               (const char*) nameSpace,
               (const char*) className));
   
           CIMException cimException(CIM_ERR_NOT_FOUND);
           throw cimException;
       }
   
       SCMOInstance * objectPath = new SCMOInstance(*scmoClass,cimObjPath);
       objectPath->setHostName((const char*)System::getHostName().getCString());
       return objectPath;
   }
   
   SCMOInstance* CMPIProviderManager::getSCMOInstanceFromRequest(
       CString& nameSpace,
       CString& className,
       CIMInstance& cimInstance )
   {
       SCMOClass* scmoClass = mbGetSCMOClass(
           (const char*)nameSpace,
           strlen((const char*)nameSpace),
           (const char*)className,
           strlen((const char*)className));
   
       if (0 == scmoClass)
       {
           // This indicates a severe error, since we should't have come
           // here at all, if the class is invalid
           PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,
               "CMPIProviderManager::getSCMOInstanceFromRequest - "
               "Failed to obtain CIMClass for Namespace: %s  Classname: %s",
               (const char*) nameSpace,
               (const char*) className));
   
           CIMException cimException(CIM_ERR_NOT_FOUND);
           throw cimException;
       }
   
       SCMOInstance * newInstance = new SCMOInstance(*scmoClass, cimInstance);
       newInstance->setHostName((const char*)System::getHostName().getCString());
   
       return newInstance;
   }
   
   
   
 Message * CMPIProviderManager::processMessage(Message * request) Message * CMPIProviderManager::processMessage(Message * request)
 { {
     PEG_METHOD_ENTER(     PEG_METHOD_ENTER(
Line 490 
Line 581 
             request->includeClassOrigin,             request->includeClassOrigin,
             true);             true);
  
         // make target object path  
         SCMOClass* scmoClass =  
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
  
             CIMException cimException(CIM_ERR_NOT_FOUND);          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
             throw cimException;              nameSpace, className, request->instanceName);
         }  
  
         SCMOInstance objectPath(*scmoClass,request->instanceName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 616 
Line 687 
             request->includeClassOrigin,             request->includeClassOrigin,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath =
         SCMOClass* scmoClass =              getSCMOClassFromRequest(nameSpace, className);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleEnumerateInstancesRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance objectPath(*scmoClass);  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 738 
Line 789 
             false,             false,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath =
         SCMOClass* scmoClass =              getSCMOClassFromRequest(nameSpace, className);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleEnumerateInstanceNamesRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance objectPath(*scmoClass);  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 861 
Line 892 
             false,             false,
             true);             true);
  
         // make target object path and new instance          SCMOInstance * newInstance = getSCMOInstanceFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->newInstance);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
   
         SCMOInstance newInstance(*scmoClass,request->newInstance);  
         newInstance.setHostName(  
             (const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(newInstance);  
         CMPI_InstanceOnStack eInst(newInstance);         CMPI_InstanceOnStack eInst(newInstance);
  
           // This will create a second reference for the same SCMOInstance
           CMPI_ObjectPathOnStack eRef(*newInstance);
   
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
  
         PEG_TRACE((         PEG_TRACE((
Line 989 
Line 999 
             false,             false,
             true);             true);
  
         // make target object path and modified instance  
         SCMOClass* scmoClass =  
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance modInstance(*scmoClass,request->modifiedInstance);          SCMOInstance * modInstance = getSCMOInstanceFromRequest(
         modInstance.setHostName(              nameSpace, className, request->modifiedInstance);
             (const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(modInstance);  
         CMPI_InstanceOnStack eInst(modInstance);         CMPI_InstanceOnStack eInst(modInstance);
  
           // This will create a second reference for the same SCMOInstance
           CMPI_ObjectPathOnStack eRef(*modInstance);
   
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
  
         PEG_TRACE((         PEG_TRACE((
Line 1116 
Line 1106 
             false,             false,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->instanceName);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
  
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
   
         SCMOInstance objectPath(*scmoClass, request->instanceName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 1241 
Line 1210 
             false,             false,
             true);             true);
  
         // make target object path          SCMOInstance * classPath = getSCMOClassFromRequest(nameSpace,className);
         SCMOClass* scmoClass =          CMPI_ObjectPathOnStack eRef(classPath);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
   
         SCMOInstance objectPath(*scmoClass);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);  
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
  
Line 1376 
Line 1322 
             request->includeClassOrigin,             request->includeClassOrigin,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->objectName);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleAssociatorsRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance objectPath(*scmoClass,request->objectName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 1514 
Line 1439 
             false,             false,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->objectName);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleAssociatorNamesRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance objectPath(*scmoClass,request->objectName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 1648 
Line 1552 
             request->includeClassOrigin,             request->includeClassOrigin,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->objectName);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleAssociatorsRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance objectPath(*scmoClass,request->objectName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 1781 
Line 1664 
             false,             false,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->objectName);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleAssociatorNamesRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance objectPath(*scmoClass,request->objectName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 1908 
Line 1770 
             false,             false,
             true);             true);
  
         // make target object path  
         SCMOClass* scmoClass =  
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
  
             CIMException cimException(CIM_ERR_NOT_FOUND);          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
             throw cimException;              nameSpace, className, request->instanceName);
         }  
  
         SCMOInstance objectPath(*scmoClass,request->instanceName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 2268 
Line 2110 
  
         eSelx->classNames.append(indClassPath);         eSelx->classNames.append(indClassPath);
  
         SCMOClass* scmoIndClass =          SCMOInstance * indClassPathSCMO =
             mbGetSCMOClass(              getSCMOClassFromRequest(nameSpace, className);
                 pr.getBroker(),          indClassPathSCMO->setHostName(
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoIndClass)  
         {  
             // This indicates a severe error, since we should't have  
             // come here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleCreateSubscriptionRequest-"  
                 "Failed to obtain CIMClass for Namespace: %s "  
                 " Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
   
         SCMOInstance indClassPathSCMO(*scmoIndClass);  
         indClassPathSCMO.setHostName(  
             (const char*)System::getHostName().getCString());             (const char*)System::getHostName().getCString());
         eSelx->classNamesSCMO.append(indClassPathSCMO);          eSelx->classNamesSCMO.append(*indClassPathSCMO);
           delete indClassPathSCMO;
  
         CIMPropertyList propertyList = request->propertyList;         CIMPropertyList propertyList = request->propertyList;
         if (!propertyList.isNull())         if (!propertyList.isNull())
Line 2345 
Line 2167 
                     request->nameSpace,                     request->nameSpace,
                     request->classNames[i]);                     request->classNames[i]);
  
                 SCMOClass* scmoClass =                  SCMOInstance * classPathSCMO =
                     mbGetSCMOClass(                      getSCMOClassFromRequest(nameSpace, className);
                         pr.getBroker(),                  classPathSCMO->setHostName(
                         (const char*)nameSpace,  
                         strlen((const char*)nameSpace),  
                         (const char*)className,  
                         strlen((const char*)className));  
                 if (0 == scmoClass)  
                 {  
                     // This indicates a severe error, since we should't have  
                     // come here at all, if the class is invalid  
                     PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                         "CMPIProviderManager::handleCreateSubscriptionRequest-"  
                         "Failed to obtain CIMClass for Namespace: %s "  
                         " Classname: %s",  
                         (const char*) nameSpace,  
                         (const char*) className));  
   
                     CIMException cimException(CIM_ERR_NOT_FOUND);  
                     throw cimException;  
                 }  
   
                 SCMOInstance classPathSCMO(*scmoClass);  
                 classPathSCMO.setHostName(  
                     (const char*)System::getHostName().getCString());                     (const char*)System::getHostName().getCString());
                 CMPI_ObjectPathOnStack eRef(classPathSCMO);                 CMPI_ObjectPathOnStack eRef(classPathSCMO);
  
Line 2406 
Line 2207 
                 {                 {
                     filterActivated = true;                     filterActivated = true;
                     eSelx->classNames.append(classPath);                     eSelx->classNames.append(classPath);
                     eSelx->classNamesSCMO.append(classPathSCMO);                      eSelx->classNamesSCMO.append(*classPathSCMO);
  
                 }                 }
                 else                 else
Line 2594 
Line 2395 
  
             StatProviderTimeMeasurement providerTime(response);             StatProviderTimeMeasurement providerTime(response);
  
             Array<CIMObjectPath> subClassPaths = eSelx->classNames;  
             // Call deactivateFilter() for each subclass name those were             // Call deactivateFilter() for each subclass name those were
             // activated previously using activateFilter().             // activated previously using activateFilter().
             // Note: Start from Index 1, first name is actual class name in             // Note: Start from Index 1, first name is actual class name in
Line 3076 
Line 2876 
             false,             false,
             true);             true);
  
         // make target object path          SCMOInstance * objectPath = getSCMOObjectPathFromRequest(
         SCMOClass* scmoClass =              nameSpace, className, request->instanceName);
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
   
         SCMOInstance objectPath(*scmoClass,request->instanceName);  
         objectPath.setHostName((const char*)System::getHostName().getCString());  
         CMPI_ObjectPathOnStack eRef(objectPath);         CMPI_ObjectPathOnStack eRef(objectPath);
  
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
Line 3158 
Line 2936 
                     request->propertyName.getString().getCString();                     request->propertyName.getString().getCString();
  
                 // Construct a temporary CMPI Instance object, on which we                 // Construct a temporary CMPI Instance object, on which we
                 // can use the encpsulation functions to retrieve the property.                  // can use the encapsulation functions to retrieve the property.
                 CMPI_InstanceOnStack tmpInst(instance);                 CMPI_InstanceOnStack tmpInst(instance);
  
                 CMPIStatus trc;                 CMPIStatus trc;
Line 3285 
Line 3063 
             false,             false,
             true);             true);
  
         // make target object path  
         SCMOClass* scmoClass =  
             mbGetSCMOClass(  
                 pr.getBroker(),  
                 (const char*)nameSpace,  
                 strlen((const char*)nameSpace),  
                 (const char*)className,  
                 strlen((const char*)className));  
         if (0 == scmoClass)  
         {  
             // This indicates a severe error, since we should't have come  
             // here at all, if the class is invalid  
             PEG_TRACE((TRC_PROVIDERMANAGER,Tracer::LEVEL1,  
                 "CMPIProviderManager::handleGetInstanceRequest - "  
                 "Failed to obtain CIMClass for Namespace: %s  Classname: %s",  
                 (const char*) nameSpace,  
                 (const char*) className));  
   
             CIMException cimException(CIM_ERR_NOT_FOUND);  
             throw cimException;  
         }  
  
         SCMOInstance modInst(*scmoClass, localModifiedInstance);          SCMOInstance * modInst = getSCMOInstanceFromRequest(
         modInst.setHostName((const char*)System::getHostName().getCString());              nameSpace, className, localModifiedInstance);
         modInst.setPropertyFilter((const char **)props.getList());          modInst->setPropertyFilter((const char **)props.getList());
         CMPI_ObjectPathOnStack eRef(modInst);  
         CMPI_InstanceOnStack eInst(modInst);         CMPI_InstanceOnStack eInst(modInst);
  
           // This will create a second reference for the same SCMOInstance
           CMPI_ObjectPathOnStack eRef(*modInst);
   
         CMPIProvider::pm_service_op_lock op_lock(&pr);         CMPIProvider::pm_service_op_lock op_lock(&pr);
  
         PEG_TRACE((         PEG_TRACE((


Legend:
Removed from v.1.157.2.8  
changed lines
  Added in v.1.157.2.9

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2