use getSubField

This commit is contained in:
Michael Davidsaver
2015-06-22 15:04:44 -04:00
parent 63ebdce9dd
commit ef46931276
8 changed files with 82 additions and 82 deletions

View File

@@ -86,7 +86,7 @@ static PVStructure::shared_pointer getRequestedStructure(
{
PVStructure::shared_pointer pvRequestFields;
if (pvRequest->getSubField(subfieldName))
pvRequestFields = pvRequest->getStructureField(subfieldName);
pvRequestFields = pvRequest->getSubField<PVStructure>(subfieldName);
else
pvRequestFields = pvRequest;
@@ -203,7 +203,7 @@ public:
std::copy(shape->begin(), shape->end(), temp2.begin());
adcSimShape->replace(freeze(temp2));
PVStructure::shared_pointer ts = adcMatrix->getStructureField("timeStamp");
PVStructure::shared_pointer ts = adcMatrix->getSubField<PVStructure>("timeStamp");
PVTimeStamp timeStamp;
timeStamp.attach(ts);
@@ -384,7 +384,7 @@ static void generateNTTableDoubleValues(epics::pvData::PVStructure::shared_point
PVStringArray::shared_pointer pvLabels = (static_pointer_cast<PVStringArray>(result->getScalarArrayField("labels", pvString)));
PVStringArray::const_svector ld(pvLabels->view());
PVStructure::shared_pointer resultValue = result->getStructureField("value");
PVStructure::shared_pointer resultValue = result->getSubField<PVStructure>("value");
#define ROWS 10
double values[ROWS];
@@ -429,7 +429,7 @@ static void setTimeStamp(PVStructure::shared_pointer const & ts)
static void generateNTAggregateValues(epics::pvData::PVStructure::shared_pointer result)
{
setTimeStamp(result->getStructureField("firstTimeStamp"));
setTimeStamp(result->getSubField<PVStructure>("firstTimeStamp"));
#define N 1024
double values[N];
@@ -464,7 +464,7 @@ static void generateNTAggregateValues(epics::pvData::PVStructure::shared_pointer
result->getSubField<PVLong>("N")->put(N);
#undef N
setTimeStamp(result->getStructureField("lastTimeStamp"));
setTimeStamp(result->getSubField<PVStructure>("lastTimeStamp"));
}
@@ -491,7 +491,7 @@ static void generateNTHistogramValues(epics::pvData::PVStructure::shared_pointer
}
#undef N
setTimeStamp(result->getStructureField("timeStamp"));
setTimeStamp(result->getSubField<PVStructure>("timeStamp"));
}
class ChannelFindRequesterImpl : public ChannelFindRequester
@@ -1213,7 +1213,7 @@ static bool handleHelp(
)
);
static_pointer_cast<PVString>(result->getStringField("value"))->put(helpText);
static_pointer_cast<PVString>(result->getSubField<PVString>("value"))->put(helpText);
channelRPCRequester->requestDone(Status::Ok, channelRPC, result);
return true;
}
@@ -1289,7 +1289,7 @@ public:
// handle NTURI request
PVStructure::shared_pointer args(
(starts_with(pvArgument->getStructure()->getID(), "epics:nt/NTURI:1.")) ?
pvArgument->getStructureField("query") :
pvArgument->getSubField<PVStructure>("query") :
pvArgument
);
@@ -1549,7 +1549,7 @@ public:
StructureConstPtr resultStructure = fieldCreate->createStructure(fieldNames, fields);
PVStructure::shared_pointer result = getPVDataCreate()->createPVStructure(resultStructure);
result->getIntField("c")->put(a+b);
result->getSubField<PVInt>("c")->put(a+b);
m_channelRPCRequester->requestDone(Status::Ok, shared_from_this(), result);
@@ -2203,13 +2203,13 @@ protected:
dimValue[0] = 0;
m_pvStructure->getSubField<PVIntArray>("dim")->replace(freeze(dimValue));
m_pvStructure->getStringField("descriptor")->put("Simulated ADC that provides NTMatrix value");
PVStructurePtr displayStructure = m_pvStructure->getStructureField("display");
displayStructure->getDoubleField("limitLow")->put(-1.0);
displayStructure->getDoubleField("limitHigh")->put(1.0);
displayStructure->getStringField("description")->put("Simulated ADC");
displayStructure->getStringField("format")->put("%f");
displayStructure->getStringField("units")->put("V");
m_pvStructure->getSubField<PVString>("descriptor")->put("Simulated ADC that provides NTMatrix value");
PVStructurePtr displayStructure = m_pvStructure->getSubField<PVStructure>("display");
displayStructure->getSubField<PVDouble>("limitLow")->put(-1.0);
displayStructure->getSubField<PVDouble>("limitHigh")->put(1.0);
displayStructure->getSubField<PVString>("description")->put("Simulated ADC");
displayStructure->getSubField<PVString>("format")->put("%f");
displayStructure->getSubField<PVString>("units")->put("V");
}
else if (m_name.find("testRPC") == 0 || m_name == "testNTTable" || m_name == "testNTMatrix")
{
@@ -2305,7 +2305,7 @@ protected:
{
string allProperties("alarm,timeStamp,display,control,valueAlarm");
m_pvStructure = getStandardPVField()->scalar(pvDouble,allProperties);
//PVDoublePtr pvField = m_pvStructure->getDoubleField(std::string("value"));
//PVDoublePtr pvField = m_pvStructure->getSubField<PVDouble>(std::string("value"));
//pvField->put(1.123);
}