Added a new method to PVDataCreate that allows a PVStructure to be created from a PVField array where the elements have a null parent.

PVField::message was changed to pass the message to the top level field adding the field name at each level.
This commit is contained in:
Marty Kraimer
2011-04-15 14:21:55 -04:00
parent efdef77461
commit 3a00b879ee
24 changed files with 375 additions and 140 deletions

View File

@@ -579,6 +579,19 @@ PVStructure *PVDataCreate::createPVStructure(PVStructure *parent,
return new BasePVStructure(parent,structure);
}
PVStructure *PVDataCreate::createPVStructure(PVStructure *parent,
String fieldName,int numberFields,PVFieldPtrArray pvFields)
{
FieldConstPtrArray fields = new FieldConstPtr[numberFields];
for(int i=0; i<numberFields;i++) {
fields[i] = pvFields[i]->getField();
}
StructureConstPtr structure = fieldCreate->createStructure(
fieldName,numberFields,fields);
PVStructure *pvStructure = new BasePVStructure(parent,structure,pvFields);
return pvStructure;
}
PVStructure *PVDataCreate::createPVStructure(PVStructure *parent,
String fieldName,PVStructure *structToClone)
{
@@ -599,7 +612,7 @@ PVStructure *PVDataCreate::createPVStructure(PVStructure *parent,
return pvStructure;
}
PVDataCreate * getPVDataCreate() {
PVDataCreate * getPVDataCreate() {
static Mutex mutex;
Lock xx(mutex);