summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorr.kieninger <r.kieninger>2009-12-16 08:45:25 +0000
committerr.kieninger <r.kieninger>2009-12-16 08:45:25 +0000
commit51ca2273a40c9fa6b1600864e8bc5d7d635127d1 (patch)
tree35feccb90386f1ae7940f9a43324bd475f0a090a
parent5923d23ef010debc115d5f63cac30f878638b25f (diff)
downloadtog-pegasus-TASK-PEP348_SCMO-branch.zip
tog-pegasus-TASK-PEP348_SCMO-branch.tar.gz
tog-pegasus-TASK-PEP348_SCMO-branch.tar.xz
TITLE: SCMO, syncronize branch with latest fixes on head DESCRIPTION:
-rw-r--r--src/Pegasus/Common/SCMOInternalXmlEncoder.cpp13
-rw-r--r--src/Pegasus/Common/SCMOInternalXmlEncoder.h4
-rw-r--r--src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp17
3 files changed, 25 insertions, 9 deletions
diff --git a/src/Pegasus/Common/SCMOInternalXmlEncoder.cpp b/src/Pegasus/Common/SCMOInternalXmlEncoder.cpp
index 7e91ca6..7121861 100644
--- a/src/Pegasus/Common/SCMOInternalXmlEncoder.cpp
+++ b/src/Pegasus/Common/SCMOInternalXmlEncoder.cpp
@@ -165,7 +165,7 @@ void SCMOInternalXmlEncoder::_putXMLObject(
else
{
// Serialize object path as XML.
- SCMOXmlWriter::appendValueReferenceElement(buf, co, true);
+ _appendValueReferenceElement(buf, co);
buf.append('\0');
out.putUint32(buf.size());
@@ -181,4 +181,15 @@ void SCMOInternalXmlEncoder::_putXMLObject(
}
}
+void SCMOInternalXmlEncoder::_appendValueReferenceElement(
+ Buffer& out,
+ const SCMOInstance& ref)
+{
+ out << STRLIT("<VALUE.REFERENCE>\n");
+
+ SCMOXmlWriter::appendInstanceNameElement(out, ref);
+
+ out << STRLIT("</VALUE.REFERENCE>\n");
+}
+
PEGASUS_NAMESPACE_END
diff --git a/src/Pegasus/Common/SCMOInternalXmlEncoder.h b/src/Pegasus/Common/SCMOInternalXmlEncoder.h
index 0a4b2f8..05ad0d1 100644
--- a/src/Pegasus/Common/SCMOInternalXmlEncoder.h
+++ b/src/Pegasus/Common/SCMOInternalXmlEncoder.h
@@ -44,6 +44,10 @@ public:
static void _putXMLInstance(CIMBuffer& out, const SCMOInstance& ci);
static void _putXMLNamedInstance(CIMBuffer& out, const SCMOInstance& ci);
static void _putXMLObject(CIMBuffer& out, const SCMOInstance& co);
+ static void _appendValueReferenceElement(
+ Buffer& out,
+ const SCMOInstance& ref);
+
};
PEGASUS_NAMESPACE_END
diff --git a/src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp b/src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp
index 1326c72..5d9d44f 100644
--- a/src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp
+++ b/src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.cpp
@@ -227,19 +227,16 @@ extern "C"
CM_ClassOrigin(flgs),
props);
+ // When running out of process the returned instances don't contain
+ // a namespace.
+ // Add the namespace from the input parameters where neccessary
+ resData.completeNamespace(SCMO_ObjectPath(cop));
+
SCMOInstance& scmoOrgInst = resData.getSCMO()[0];
SCMOInstance* scmoInst = new SCMOInstance(scmoOrgInst);
// Rebuild the objectPath
- if (0==scmoInst->getNameSpace())
- {
- scmoInst->setNameSpace(scmoObjPath->getNameSpace());
- }
- if (0==scmoInst->getClassName())
- {
- scmoInst->setClassName(scmoObjPath->getClassName());
- }
scmoInst->buildKeyBindingsFromProperties();
CMPIInstance* cmpiInst = reinterpret_cast<CMPIInstance*>(
@@ -375,6 +372,10 @@ extern "C"
String(lang),
String(query));
+ // When running out of process the returned instances don't contain
+ // a namespace.
+ // Add the namespace from the input parameters where neccessary
+ resData.completeNamespace(SCMO_ObjectPath(cop));
Array<SCMOInstance>* aObj =
new Array<SCMOInstance>(resData.getSCMO());