diff --git a/pvtoolsSrc/eget.cpp b/pvtoolsSrc/eget.cpp index fc5ae1d..910a77d 100644 --- a/pvtoolsSrc/eget.cpp +++ b/pvtoolsSrc/eget.cpp @@ -335,7 +335,7 @@ void formatNTTable(std::ostream& o, PVStructurePtr const & pvStruct) return; } - PVStructurePtr value = pvStruct->getStructureField("value"); + PVStructurePtr value = pvStruct->getSubField("value"); if (value.get() == 0) { std::cerr << "no 'value' structure in NTTable" << std::endl; @@ -613,7 +613,7 @@ void formatNTNameValue(std::ostream& o, PVStructurePtr const & pvStruct) void formatNTURI(std::ostream& o, PVStructurePtr const & pvStruct) { - PVStringPtr scheme = dynamic_pointer_cast(pvStruct->getStringField("scheme")); + PVStringPtr scheme = dynamic_pointer_cast(pvStruct->getSubField("scheme")); if (scheme.get() == 0) { std::cerr << "no string 'scheme' field in NTURI" << std::endl; @@ -621,7 +621,7 @@ void formatNTURI(std::ostream& o, PVStructurePtr const & pvStruct) PVStringPtr authority = dynamic_pointer_cast(pvStruct->getSubField("authority")); - PVStringPtr path = dynamic_pointer_cast(pvStruct->getStringField("path")); + PVStringPtr path = dynamic_pointer_cast(pvStruct->getSubField("path")); if (path.get() == 0) { std::cerr << "no string 'path' field in NTURI" << std::endl; @@ -2065,15 +2065,15 @@ int main (int argc, char *argv[]) getPVDataCreate()->createPVStructure(uriStructure) ); - request->getStringField("scheme")->put("pva"); - if (!authority.empty()) request->getStringField("authority")->put(authority); - request->getStringField("path")->put(service); - PVStructure::shared_pointer query = request->getStructureField("query"); + request->getSubField("scheme")->put("pva"); + if (!authority.empty()) request->getSubField("authority")->put(authority); + request->getSubField("path")->put(service); + PVStructure::shared_pointer query = request->getSubField("query"); for (vector< pair >::iterator iter = parameters.begin(); iter != parameters.end(); iter++) { - query->getStringField(iter->first)->put(iter->second); + query->getSubField(iter->first)->put(iter->second); } diff --git a/src/ca/caChannel.cpp b/src/ca/caChannel.cpp index d6d34ad..10c8468 100644 --- a/src/ca/caChannel.cpp +++ b/src/ca/caChannel.cpp @@ -644,10 +644,10 @@ void copy_DBR_STS(const void * dbr, unsigned count, PVStructure::shared_pointer { const T* data = static_cast(dbr); - PVStructure::shared_pointer alarm = pvStructure->getStructureField("alarm"); - alarm->getIntField("status")->put(dbrStatus2alarmStatus[data->status]); - alarm->getIntField("severity")->put(data->severity); - alarm->getStringField("message")->put(dbrStatus2alarmMessage[data->status]); + PVStructure::shared_pointer alarm = pvStructure->getSubField("alarm"); + alarm->getSubField("status")->put(dbrStatus2alarmStatus[data->status]); + alarm->getSubField("severity")->put(data->severity); + alarm->getSubField("message")->put(dbrStatus2alarmMessage[data->status]); copy_DBR(&data->value, count, pvStructure); } @@ -658,11 +658,11 @@ void copy_DBR_TIME(const void * dbr, unsigned count, PVStructure::shared_pointer { const T* data = static_cast(dbr); - PVStructure::shared_pointer ts = pvStructure->getStructureField("timeStamp"); + PVStructure::shared_pointer ts = pvStructure->getSubField("timeStamp"); epics::pvData::int64 spe = data->stamp.secPastEpoch; spe += 7305*86400; - ts->getLongField("secondsPastEpoch")->put(spe); - ts->getIntField("nanoseconds")->put(data->stamp.nsec); + ts->getSubField("secondsPastEpoch")->put(spe); + ts->getSubField("nanoseconds")->put(data->stamp.nsec); copy_DBR_STS(dbr, count, pvStructure); } @@ -671,13 +671,13 @@ void copy_DBR_TIME(const void * dbr, unsigned count, PVStructure::shared_pointer template void copy_format(const void * /*dbr*/, PVStructure::shared_pointer const & pvDisplayStructure) { - pvDisplayStructure->getStringField("format")->put("%d"); + pvDisplayStructure->getSubField("format")->put("%d"); } template <> void copy_format(const void * /*dbr*/, PVStructure::shared_pointer const & pvDisplayStructure) { - pvDisplayStructure->getStringField("format")->put("%s"); + pvDisplayStructure->getSubField("format")->put("%s"); } #define COPY_FORMAT_FOR(T) \ @@ -690,11 +690,11 @@ void copy_format(const void * dbr, PVStructure::shared_pointer const & pvDisp { \ char fmt[16]; \ sprintf(fmt, "%%.%df", data->precision); \ - pvDisplayStructure->getStringField("format")->put(std::string(fmt)); \ + pvDisplayStructure->getSubField("format")->put(std::string(fmt)); \ } \ else \ { \ - pvDisplayStructure->getStringField("format")->put("%f"); \ + pvDisplayStructure->getSubField("format")->put("%f"); \ } \ } @@ -711,23 +711,23 @@ void copy_DBR_GR(const void * dbr, unsigned count, PVStructure::shared_pointer c { const T* data = static_cast(dbr); - PVStructure::shared_pointer alarm = pvStructure->getStructureField("alarm"); - alarm->getIntField("status")->put(0); - alarm->getIntField("severity")->put(data->severity); - alarm->getStringField("message")->put(dbrStatus2alarmMessage[data->status]); + PVStructure::shared_pointer alarm = pvStructure->getSubField("alarm"); + alarm->getSubField("status")->put(0); + alarm->getSubField("severity")->put(data->severity); + alarm->getSubField("message")->put(dbrStatus2alarmMessage[data->status]); - PVStructure::shared_pointer disp = pvStructure->getStructureField("display"); - disp->getStringField("units")->put(std::string(data->units)); - disp->getDoubleField("limitHigh")->put(data->upper_disp_limit); - disp->getDoubleField("limitLow")->put(data->lower_disp_limit); + PVStructure::shared_pointer disp = pvStructure->getSubField("display"); + disp->getSubField("units")->put(std::string(data->units)); + disp->getSubField("limitHigh")->put(data->upper_disp_limit); + disp->getSubField("limitLow")->put(data->lower_disp_limit); copy_format(dbr, disp); - PVStructure::shared_pointer va = pvStructure->getStructureField("valueAlarm"); - va->getDoubleField("highAlarmLimit")->put(data->upper_alarm_limit); - va->getDoubleField("highWarningLimit")->put(data->upper_warning_limit); - va->getDoubleField("lowWarningLimit")->put(data->lower_warning_limit); - va->getDoubleField("lowAlarmLimit")->put(data->lower_alarm_limit); + PVStructure::shared_pointer va = pvStructure->getSubField("valueAlarm"); + va->getSubField("highAlarmLimit")->put(data->upper_alarm_limit); + va->getSubField("highWarningLimit")->put(data->upper_warning_limit); + va->getSubField("lowWarningLimit")->put(data->lower_warning_limit); + va->getSubField("lowAlarmLimit")->put(data->lower_alarm_limit); copy_DBR(&data->value, count, pvStructure); } @@ -749,27 +749,27 @@ void copy_DBR_CTRL(const void * dbr, unsigned count, PVStructure::shared_pointer { const T* data = static_cast(dbr); - PVStructure::shared_pointer alarm = pvStructure->getStructureField("alarm"); - alarm->getIntField("status")->put(0); - alarm->getIntField("severity")->put(data->severity); - alarm->getStringField("message")->put(dbrStatus2alarmMessage[data->status]); + PVStructure::shared_pointer alarm = pvStructure->getSubField("alarm"); + alarm->getSubField("status")->put(0); + alarm->getSubField("severity")->put(data->severity); + alarm->getSubField("message")->put(dbrStatus2alarmMessage[data->status]); - PVStructure::shared_pointer disp = pvStructure->getStructureField("display"); - disp->getStringField("units")->put(std::string(data->units)); - disp->getDoubleField("limitHigh")->put(data->upper_disp_limit); - disp->getDoubleField("limitLow")->put(data->lower_disp_limit); + PVStructure::shared_pointer disp = pvStructure->getSubField("display"); + disp->getSubField("units")->put(std::string(data->units)); + disp->getSubField("limitHigh")->put(data->upper_disp_limit); + disp->getSubField("limitLow")->put(data->lower_disp_limit); copy_format(dbr, disp); - PVStructure::shared_pointer va = pvStructure->getStructureField("valueAlarm"); + PVStructure::shared_pointer va = pvStructure->getSubField("valueAlarm"); std::tr1::static_pointer_cast(va->getSubField("highAlarmLimit"))->put(data->upper_alarm_limit); std::tr1::static_pointer_cast(va->getSubField("highWarningLimit"))->put(data->upper_warning_limit); std::tr1::static_pointer_cast(va->getSubField("lowWarningLimit"))->put(data->lower_warning_limit); std::tr1::static_pointer_cast(va->getSubField("lowAlarmLimit"))->put(data->lower_alarm_limit); - PVStructure::shared_pointer ctrl = pvStructure->getStructureField("control"); - ctrl->getDoubleField("limitHigh")->put(data->upper_ctrl_limit); - ctrl->getDoubleField("limitLow")->put(data->lower_ctrl_limit); + PVStructure::shared_pointer ctrl = pvStructure->getSubField("control"); + ctrl->getSubField("limitHigh")->put(data->upper_ctrl_limit); + ctrl->getSubField("limitLow")->put(data->lower_ctrl_limit); copy_DBR(&data->value, count, pvStructure); } diff --git a/src/server/responseHandlers.cpp b/src/server/responseHandlers.cpp index 72df798..41484a8 100644 --- a/src/server/responseHandlers.cpp +++ b/src/server/responseHandlers.cpp @@ -516,7 +516,7 @@ public: // NTURI support PVStructure::shared_pointer args( (starts_with(arguments->getStructure()->getID(), "epics:nt/NTURI:1.")) ? - arguments->getStructureField("query") : + arguments->getSubField("query") : arguments ); diff --git a/testApp/remote/channelAccessIFTest.cpp b/testApp/remote/channelAccessIFTest.cpp index d12c558..e137277 100755 --- a/testApp/remote/channelAccessIFTest.cpp +++ b/testApp/remote/channelAccessIFTest.cpp @@ -549,11 +549,11 @@ void ChannelAccessIFTest::test_channelGetIntProcessInternal(Channel::shared_poin return; } - std::tr1::shared_ptr value = channelGetReq->getPVStructure()->getIntField("value"); + std::tr1::shared_ptr value = channelGetReq->getPVStructure()->getSubField("value"); PVTimeStamp pvTimeStamp; - testOk(pvTimeStamp.attach(channelGetReq->getPVStructure()->getStructureField("timeStamp")), + testOk(pvTimeStamp.attach(channelGetReq->getPVStructure()->getSubField("timeStamp")), "%s: attaching a timestamp", testMethodName.c_str()); TimeStamp timeStamp; @@ -679,7 +679,7 @@ void ChannelAccessIFTest::test_channelPutNoProcess() { return; } - std::tr1::shared_ptr value = channelPutReq->getPVStructure()->getDoubleField("value"); + std::tr1::shared_ptr value = channelPutReq->getPVStructure()->getSubField("value"); if (!value.get()) { testFail("%s: getting double value field failed ", CURRENT_FUNCTION); return; @@ -818,7 +818,7 @@ void ChannelAccessIFTest::test_channelPutIntProcessInternal(Channel::shared_poin return; } - std::tr1::shared_ptr value = channelPutReq->getPVStructure()->getIntField("value"); + std::tr1::shared_ptr value = channelPutReq->getPVStructure()->getSubField("value"); if (!value.get()) { testFail("%s: getting int value field failed ", testMethodName.c_str()); return; @@ -1213,7 +1213,7 @@ void ChannelAccessIFTest::test_channelPutGetNoProcess_putGet() { } - std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getDoubleField("value"); + std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getSubField("value"); if (!putValue.get()) { testFail("%s: getting put double value field failed ", CURRENT_FUNCTION); return; @@ -1222,7 +1222,7 @@ void ChannelAccessIFTest::test_channelPutGetNoProcess_putGet() { double initVal = 321.0; putValue->put(initVal); - std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getDoubleField("value"); + std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getSubField("value"); if (!getValuePtr.get()) { testFail("%s: getting get double value field failed ", CURRENT_FUNCTION); return; @@ -1292,7 +1292,7 @@ void ChannelAccessIFTest::test_channelPutGetNoProcess_getPut() { } - std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getDoubleField("value"); + std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getSubField("value"); if (!putValue.get()) { testFail("%s: getting put double value field failed ", CURRENT_FUNCTION); return; @@ -1301,7 +1301,7 @@ void ChannelAccessIFTest::test_channelPutGetNoProcess_getPut() { double initVal = 321.0; putValue->put(initVal); - std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getDoubleField("value"); + std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getSubField("value"); if (!getValuePtr.get()) { testFail("%s: getting get double value field failed ", CURRENT_FUNCTION); return; @@ -1369,7 +1369,7 @@ void ChannelAccessIFTest::test_channelPutGetNoProcess_getGet() { } - std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getDoubleField("value"); + std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getSubField("value"); if (!putValue.get()) { testFail("%s: getting put double value field failed ", CURRENT_FUNCTION); return; @@ -1378,7 +1378,7 @@ void ChannelAccessIFTest::test_channelPutGetNoProcess_getGet() { double initVal = 432.0; putValue->put(initVal); - std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getDoubleField("value"); + std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getSubField("value"); if (!getValuePtr.get()) { testFail("%s: getting get double value field failed ", CURRENT_FUNCTION); return; @@ -1505,7 +1505,7 @@ void ChannelAccessIFTest::test_channelPutGetIntProcess() { } - std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getIntField("value"); + std::tr1::shared_ptr putValue = channelPutGetReq->getPVPutStructure()->getSubField("value"); if (!putValue.get()) { testFail("%s: getting put int value field failed ", CURRENT_FUNCTION); return; @@ -1514,7 +1514,7 @@ void ChannelAccessIFTest::test_channelPutGetIntProcess() { int initVal = 3; putValue->put(initVal); - std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getIntField("value"); + std::tr1::shared_ptr getValuePtr = channelPutGetReq->getPVGetStructure()->getSubField("value"); if (!getValuePtr.get()) { testFail("%s: getting get int value field failed ", CURRENT_FUNCTION); return; @@ -1522,7 +1522,7 @@ void ChannelAccessIFTest::test_channelPutGetIntProcess() { PVTimeStamp pvTimeStamp; - testOk(pvTimeStamp.attach(channelPutGetReq->getPVGetStructure()->getStructureField("timeStamp")), + testOk(pvTimeStamp.attach(channelPutGetReq->getPVGetStructure()->getSubField("timeStamp")), "%s: attaching a timestamp", CURRENT_FUNCTION); TimeStamp timeStamp; @@ -1597,7 +1597,7 @@ void ChannelAccessIFTest::test_channelRPC() { createSumArgumentStructure(1,2),false, getTimeoutSec()); if (succStatus) { testOk(true, "%s: calling sum rpc service successfull", CURRENT_FUNCTION); - testOk(channelRPCReq->getLastResponse()->getIntField("c")->get() == 3, + testOk(channelRPCReq->getLastResponse()->getSubField("c")->get() == 3, "%s: rpc service returned correct sum", CURRENT_FUNCTION); } else { @@ -2329,8 +2329,8 @@ PVStructure::shared_pointer ChannelAccessIFTest::createSumArgumentStructure(int getPVDataCreate()->createPVStructure( getFieldCreate()->createStructure(fieldNames, fields))); - pvArguments->getIntField("a")->put(a); - pvArguments->getIntField("b")->put(b); + pvArguments->getSubField("a")->put(a); + pvArguments->getSubField("b")->put(b); return pvArguments; @@ -2344,7 +2344,7 @@ PVStructure::shared_pointer ChannelAccessIFTest::createArrayPvRequest() { PVStructure::shared_pointer pvRequest(getPVDataCreate()->createPVStructure( getFieldCreate()->createStructure(fieldNames, fields))); - PVString::shared_pointer pvFieldName = pvRequest->getStringField("field"); + PVString::shared_pointer pvFieldName = pvRequest->getSubField("field"); pvFieldName->put("value"); return pvRequest; } diff --git a/testApp/remote/rpcServiceAsyncExample.cpp b/testApp/remote/rpcServiceAsyncExample.cpp index 1484178..9c476a7 100644 --- a/testApp/remote/rpcServiceAsyncExample.cpp +++ b/testApp/remote/rpcServiceAsyncExample.cpp @@ -29,7 +29,7 @@ class SumServiceImpl : // NTURI support PVStructure::shared_pointer args( (starts_with(pvArguments->getStructure()->getID(), "epics:nt/NTURI:1.")) ? - pvArguments->getStructureField("query") : + pvArguments->getSubField("query") : pvArguments ); diff --git a/testApp/remote/rpcServiceExample.cpp b/testApp/remote/rpcServiceExample.cpp index d3746b2..37e87b1 100644 --- a/testApp/remote/rpcServiceExample.cpp +++ b/testApp/remote/rpcServiceExample.cpp @@ -29,7 +29,7 @@ class SumServiceImpl : // NTURI support PVStructure::shared_pointer args( (starts_with(pvArguments->getStructure()->getID(), "epics:nt/NTURI:1.")) ? - pvArguments->getStructureField("query") : + pvArguments->getSubField("query") : pvArguments ); diff --git a/testApp/remote/testGetPerformance.cpp b/testApp/remote/testGetPerformance.cpp index 950c300..3ad35ca 100644 --- a/testApp/remote/testGetPerformance.cpp +++ b/testApp/remote/testGetPerformance.cpp @@ -295,7 +295,7 @@ void runTest() fields.push_back(getFieldCreate()->createScalar(pvInt)); PVStructure::shared_pointer configuration = getPVDataCreate()->createPVStructure(getFieldCreate()->createStructure(fieldNames, fields)); - configuration->getIntField("strategy")->put(bulkMode ? USER_CONTROLED : DELAYED); + configuration->getSubField("strategy")->put(bulkMode ? USER_CONTROLED : DELAYED); provider->configure(configuration); */ diff --git a/testApp/remote/testServer.cpp b/testApp/remote/testServer.cpp index ff759c6..58d65ad 100644 --- a/testApp/remote/testServer.cpp +++ b/testApp/remote/testServer.cpp @@ -86,7 +86,7 @@ static PVStructure::shared_pointer getRequestedStructure( { PVStructure::shared_pointer pvRequestFields; if (pvRequest->getSubField(subfieldName)) - pvRequestFields = pvRequest->getStructureField(subfieldName); + pvRequestFields = pvRequest->getSubField(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("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(result->getScalarArrayField("labels", pvString))); PVStringArray::const_svector ld(pvLabels->view()); - PVStructure::shared_pointer resultValue = result->getStructureField("value"); + PVStructure::shared_pointer resultValue = result->getSubField("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("firstTimeStamp")); #define N 1024 double values[N]; @@ -464,7 +464,7 @@ static void generateNTAggregateValues(epics::pvData::PVStructure::shared_pointer result->getSubField("N")->put(N); #undef N - setTimeStamp(result->getStructureField("lastTimeStamp")); + setTimeStamp(result->getSubField("lastTimeStamp")); } @@ -491,7 +491,7 @@ static void generateNTHistogramValues(epics::pvData::PVStructure::shared_pointer } #undef N - setTimeStamp(result->getStructureField("timeStamp")); + setTimeStamp(result->getSubField("timeStamp")); } class ChannelFindRequesterImpl : public ChannelFindRequester @@ -1213,7 +1213,7 @@ static bool handleHelp( ) ); - static_pointer_cast(result->getStringField("value"))->put(helpText); + static_pointer_cast(result->getSubField("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("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("c")->put(a+b); m_channelRPCRequester->requestDone(Status::Ok, shared_from_this(), result); @@ -2203,13 +2203,13 @@ protected: dimValue[0] = 0; m_pvStructure->getSubField("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("descriptor")->put("Simulated ADC that provides NTMatrix value"); + PVStructurePtr displayStructure = m_pvStructure->getSubField("display"); + displayStructure->getSubField("limitLow")->put(-1.0); + displayStructure->getSubField("limitHigh")->put(1.0); + displayStructure->getSubField("description")->put("Simulated ADC"); + displayStructure->getSubField("format")->put("%f"); + displayStructure->getSubField("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(std::string("value")); //pvField->put(1.123); }