more code implemented. See pvDatabaseCPP.html for details

This commit is contained in:
Marty Kraimer
2013-04-18 15:16:26 -04:00
parent 124d28d33e
commit 26c977c0ae
16 changed files with 1725 additions and 201 deletions

View File

@@ -60,19 +60,17 @@ PVCopyPtr PVCopy::create(
PVStructurePtr const &pvRequest,
String const & structureName)
{
PVStructurePtr pvStructure(pvRequest);
if(structureName.size()>0) {
if(pvRequest->getStructure()->getNumberFields()>0) {
PVStructurePtr pvStructure
= pvRequest->getStructureField(structureName);
pvStructure = pvRequest->getStructureField(structureName);
if(pvStructure.get()==NULL) return NULLPVCopy;
}
} else if(pvStructure->getSubField("field")!=NULL) {
pvStructure = pvRequest->getStructureField("field");
}
PVCopyPtr pvCopy = PVCopyPtr(new PVCopy(pvRecord));
PVStructurePtr pvStruct = pvRequest;
if(pvRequest->getSubField("field")!=NULL) {
pvStruct = pvRequest->getStructureField("field");
}
bool result = pvCopy->init(pvStruct);
bool result = pvCopy->init(pvStructure);
if(!result) pvCopy.reset();
return pvCopy;
}