PVStructureArray/PVUnionArray null element pvutils formatting

This commit is contained in:
Matej Sekoranja
2014-11-06 22:33:36 +01:00
parent 50c143bdec
commit b263acebbc
2 changed files with 22 additions and 2 deletions

View File

@@ -204,7 +204,10 @@ operator<<(pvutil_ostream& o, const epics::pvData::PVStructureArray::shared_poin
epics::pvData::PVStructureArray::const_svector data(value->view());
for (size_t i = 0; i < length; i++)
o << data[i];
if (data[i].get() == NULL)
o << epics::pvData::format::indent() << "(none)" << std::endl;
else
o << data[i];
}
return o;
@@ -223,7 +226,10 @@ operator<<(pvutil_ostream& o, const epics::pvData::PVUnionArray::shared_pointer
epics::pvData::PVUnionArray::const_svector data(value->view());
for (size_t i = 0; i < length; i++)
o << data[i];
if (data[i].get() == NULL)
o << epics::pvData::format::indent() << "(none)" << std::endl;
else
o << data[i];
}
return o;

View File

@@ -2283,6 +2283,20 @@ protected:
m_pvStructure = getPVDataCreate()->createPVStructure(s);
m_pvStructure->getSubField<PVArray>("value")->setLength(8);
}
else if (m_name == "testStructureArray" )
{
epics::pvData::StructureConstPtr s =
getFieldCreate()->createFieldBuilder()->
add("value", getFieldCreate()->createStructureArray(getStandardField()->alarm()))->
createStructure();
m_pvStructure = getPVDataCreate()->createPVStructure(s);
PVStructureArray::svector data(5);
data[1] = getPVDataCreate()->createPVStructure(getStandardField()->alarm());
data[4] = getPVDataCreate()->createPVStructure(getStandardField()->alarm());
m_pvStructure->getSubField<PVStructureArray>("value")->replace(freeze(data));
}
else
{
string allProperties("alarm,timeStamp,display,control,valueAlarm");