--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp.obz4968_upcalls_oop 2006-03-15 07:53:08.000000000 -0500 +++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp 2006-05-02 14:29:16.000000000 -0400 @@ -313,8 +313,18 @@ CM_ObjectPath(cop)->getNameSpace(), CM_ObjectPath(cop)->getClassName()); if (rc) CMSetStatus(rc,CMPI_RC_OK); - CMPI_Object *obj = - new CMPI_Object(new CMPI_OpEnumeration(new Array(en))); + + // When running out of process the returned instances don't contain + // a name space. Create a writable copy of the array and add the + // namespace from the input parameters. + Array * aObj = new Array(en); + for (unsigned int index=0;index < aObj->size(); index++) + { + (*aObj)[index].setNameSpace(CM_ObjectPath(cop)->getNameSpace()); + } + + CMPI_Object *obj = new CMPI_Object(new CMPI_OpEnumeration(aObj)); + return (CMPI_OpEnumeration *)obj->getHdl(); } @@ -408,8 +418,18 @@ role ? String(role) : String::EMPTY, resultRole ? String(resultRole) : String::EMPTY); if (rc) CMSetStatus(rc,CMPI_RC_OK); - CMPI_Object *obj = - new CMPI_Object(new CMPI_OpEnumeration(new Array(en))); + + // When running out of process the returned instances don't contain + // a name space. Create a writable copy of the array and add the + // namespace from the input parameters. + Array * aObj = new Array(en); + for (unsigned int index=0;index < aObj->size(); index++) + { + (*aObj)[index].setNameSpace(CM_ObjectPath(cop)->getNameSpace()); + } + + CMPI_Object *obj = new CMPI_Object(new CMPI_OpEnumeration(aObj)); + return (CMPI_OpEnumeration *)obj->getHdl(); } catch (const CIMException &e) { @@ -493,8 +513,18 @@ resultClass ? CIMName(resultClass) : CIMName(), role ? String(role) : String::EMPTY); if (rc) CMSetStatus(rc,CMPI_RC_OK); - CMPI_Object *obj = - new CMPI_Object(new CMPI_OpEnumeration(new Array(en))); + + // When running out of process the returned instances don't contain + // a name space. Create a writable copy of the array and add the + // namespace from the input parameters. + Array * aObj = new Array(en); + for (unsigned int index=0;index < aObj->size(); index++) + { + (*aObj)[index].setNameSpace(CM_ObjectPath(cop)->getNameSpace()); + } + + CMPI_Object *obj = new CMPI_Object(new CMPI_OpEnumeration(aObj)); + return (CMPI_OpEnumeration *)obj->getHdl(); } catch (const CIMException &e) {