clang porting
This commit is contained in:
@@ -180,7 +180,7 @@ private:
|
||||
string fieldName = request.substr(0,period);
|
||||
StructureConstPtr subField = fieldCreate->createStructure();
|
||||
subField = createSubFieldRequest(subField,request.substr(period+1));
|
||||
if(subField==NULL) return subField;
|
||||
if(!subField) return subField;
|
||||
parent = fieldCreate->appendField(parent,fieldName,subField);
|
||||
return parent;
|
||||
}
|
||||
@@ -201,7 +201,7 @@ private:
|
||||
StructureConstPtr subField = fieldCreate->createStructure();
|
||||
string subRequest = request.substr(openBrace+1,closeBrace-openBrace-1);
|
||||
subField = createFieldRequest(subField,subRequest);
|
||||
if(subField==NULL) return subField;
|
||||
if(!subField) return subField;
|
||||
parent = fieldCreate->appendField(parent,fieldName,subField);
|
||||
return parent;
|
||||
}
|
||||
@@ -228,7 +228,7 @@ private:
|
||||
if(request[nextChar]=='.') {
|
||||
StructureConstPtr subField = fieldCreate->createStructure();
|
||||
subField = createSubFieldRequest(subField,request.substr(nextChar+1));
|
||||
if(subField==NULL) return StructureConstPtr();
|
||||
if(!subField) return StructureConstPtr();
|
||||
if(subField->getNumberFields()!=1) {
|
||||
message = request + " logic error createSubFieldRequest openBracket subField";
|
||||
return StructureConstPtr();
|
||||
@@ -250,7 +250,7 @@ private:
|
||||
StructureConstPtr subField = fieldCreate->createStructure();
|
||||
string subRequest = request.substr(openBrace+1,closeBrace-openBrace-1);
|
||||
subField = createFieldRequest(subField,subRequest);
|
||||
if(subField==NULL) return subField;
|
||||
if(!subField) return subField;
|
||||
size_t numSub = subField->getNumberFields();
|
||||
StringArray fieldNames(numSub + 1);
|
||||
FieldConstPtrArray fields(numSub+1);
|
||||
@@ -285,7 +285,7 @@ private:
|
||||
FieldConstPtrArray fields;
|
||||
StructureConstPtr subField = fieldCreate->createStructure();
|
||||
subField = createSubFieldRequest(subField,request.substr(0,end));
|
||||
if(subField==NULL) return subField;
|
||||
if(!subField) return subField;
|
||||
fieldNames.push_back(subField->getFieldNames()[0]);
|
||||
fields.push_back(subField->getFields()[0]);
|
||||
if(end!=length) {
|
||||
@@ -298,7 +298,7 @@ private:
|
||||
}
|
||||
StructureConstPtr nextSubField = fieldCreate->createStructure();
|
||||
nextSubField = createFieldRequest(nextSubField,request.substr(end+1));
|
||||
if(nextSubField==NULL) return nextSubField;
|
||||
if(!nextSubField) return nextSubField;
|
||||
size_t numFields = nextSubField->getNumberFields();
|
||||
StringArray subNames = nextSubField->getFieldNames();
|
||||
FieldConstPtrArray subFields = nextSubField->getFields();
|
||||
@@ -348,7 +348,7 @@ private:
|
||||
return;
|
||||
}
|
||||
PVStructurePtr pvOptions = pvParent->getSubField<PVStructure>("_options");
|
||||
if(pvOptions==NULL) throw std::logic_error("initSubFieldOptions pvOptions NULL");
|
||||
if(!pvOptions) throw std::logic_error("initSubFieldOptions pvOptions NULL");
|
||||
size_t closeBracket = findMatchingBracket(request,openBracket);
|
||||
initRequestOptions(pvOptions,request.substr(openBracket+1,closeBracket-openBracket-1));
|
||||
size_t nextChar = closeBracket+1;
|
||||
@@ -433,7 +433,7 @@ public:
|
||||
}
|
||||
StructureConstPtr structure = createRequestOptions(
|
||||
request.substr(openBracket+1,closeBracket-openBracket-1));
|
||||
if(structure==NULL)
|
||||
if(!structure)
|
||||
{
|
||||
return PVStructurePtr();
|
||||
}
|
||||
@@ -449,7 +449,7 @@ public:
|
||||
}
|
||||
StructureConstPtr structure = fieldCreate->createStructure();
|
||||
structure = createFieldRequest(structure,request.substr(openBrace+1,closeBrace-openBrace-1));
|
||||
if(structure==NULL)
|
||||
if(!structure)
|
||||
{
|
||||
return PVStructurePtr();
|
||||
}
|
||||
@@ -465,7 +465,7 @@ public:
|
||||
}
|
||||
StructureConstPtr structure = fieldCreate->createStructure();
|
||||
structure = createFieldRequest(structure,request.substr(openBrace+1,closeBrace-openBrace-1));
|
||||
if(structure==NULL)
|
||||
if(!structure)
|
||||
{
|
||||
return PVStructurePtr();
|
||||
}
|
||||
@@ -481,7 +481,7 @@ public:
|
||||
}
|
||||
StructureConstPtr structure = fieldCreate->createStructure();
|
||||
structure = createFieldRequest(structure,request.substr(openBrace+1,closeBrace-openBrace-1));
|
||||
if(structure==NULL)
|
||||
if(!structure)
|
||||
{
|
||||
return PVStructurePtr();
|
||||
}
|
||||
@@ -502,7 +502,7 @@ public:
|
||||
if(pvSub->getStructure()->getNumberFields()==1) {
|
||||
pvSub = static_pointer_cast<PVStructure>(pvSub->getPVFields()[0]);
|
||||
}
|
||||
if(pvSub!=NULL) initFieldOptions(pvSub,request.substr(openParam+1,closeParam-openParam-1));
|
||||
if(pvSub) initFieldOptions(pvSub,request.substr(openParam+1,closeParam-openParam-1));
|
||||
}
|
||||
if (offsetPutField != string::npos) {
|
||||
size_t openParam = request.find('(', offsetPutField);
|
||||
@@ -511,7 +511,7 @@ public:
|
||||
if(pvSub->getStructure()->getNumberFields()==1) {
|
||||
pvSub = static_pointer_cast<PVStructure>(pvSub->getPVFields()[0]);
|
||||
}
|
||||
if(pvSub!=NULL) initFieldOptions(pvSub,request.substr(openParam+1,closeParam-openParam-1));
|
||||
if(pvSub) initFieldOptions(pvSub,request.substr(openParam+1,closeParam-openParam-1));
|
||||
}
|
||||
if (offsetGetField != string::npos) {
|
||||
size_t openParam = request.find('(', offsetGetField);
|
||||
@@ -520,7 +520,7 @@ public:
|
||||
if(pvSub->getStructure()->getNumberFields()==1) {
|
||||
pvSub = static_pointer_cast<PVStructure>(pvSub->getPVFields()[0]);
|
||||
}
|
||||
if(pvSub!=NULL) initFieldOptions(pvSub,request.substr(openParam+1,closeParam-openParam-1));
|
||||
if(pvSub) initFieldOptions(pvSub,request.substr(openParam+1,closeParam-openParam-1));
|
||||
}
|
||||
return pvStructure;
|
||||
}
|
||||
|
||||
@@ -68,9 +68,9 @@ PVCopyPtr PVCopy::create(
|
||||
if(structureName.size()>0) {
|
||||
if(pvRequest->getStructure()->getNumberFields()>0) {
|
||||
pvStructure = pvRequest->getStructureField(structureName);
|
||||
if(pvStructure.get()==NULL) return NULLPVCopy;
|
||||
if(!pvStructure) return NULLPVCopy;
|
||||
}
|
||||
} else if(pvStructure->getSubField("field")!=NULL) {
|
||||
} else if(pvStructure->getSubField("field")) {
|
||||
pvStructure = pvRequest->getStructureField("field");
|
||||
}
|
||||
PVCopyPtr pvCopy = PVCopyPtr(new PVCopy(pvMaster));
|
||||
@@ -118,7 +118,7 @@ StructureConstPtr PVCopy::getStructure()
|
||||
|
||||
PVStructurePtr PVCopy::createPVStructure()
|
||||
{
|
||||
if(cacheInitStructure.get()!=NULL) {
|
||||
if(cacheInitStructure) {
|
||||
PVStructurePtr save = cacheInitStructure;
|
||||
cacheInitStructure.reset();
|
||||
return save;
|
||||
@@ -174,7 +174,7 @@ size_t PVCopy::getCopyOffset(PVFieldPtr const &masterPVField)
|
||||
}
|
||||
CopyStructureNodePtr node = static_pointer_cast<CopyStructureNode>(headNode);
|
||||
CopyMasterNodePtr masterNode = getCopyOffset(node,masterPVField);
|
||||
if(masterNode.get()!=NULL) return masterNode->structureOffset;
|
||||
if(masterNode) return masterNode->structureOffset;
|
||||
return string::npos;
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ size_t PVCopy::getCopyOffset(
|
||||
CopyStructureNodePtr node = static_pointer_cast<CopyStructureNode>(headNode);
|
||||
masterNode = getCopyOffset(node,masterPVField);
|
||||
}
|
||||
if(masterNode.get()==NULL) return string::npos;
|
||||
if(!masterNode) return string::npos;
|
||||
size_t diff = masterPVField->getFieldOffset()
|
||||
- masterPVStructure->getFieldOffset();
|
||||
return masterNode->structureOffset + diff;
|
||||
@@ -205,7 +205,7 @@ PVFieldPtr PVCopy::getMasterPVField(size_t structureOffset)
|
||||
CopyStructureNodePtr node = static_pointer_cast<CopyStructureNode>(headNode);
|
||||
masterNode = getMasterNode(node,structureOffset);
|
||||
}
|
||||
if(masterNode.get()==NULL) {
|
||||
if(!masterNode) {
|
||||
throw std::invalid_argument(
|
||||
"PVCopy::getMasterPVField: setstructureOffset not valid");
|
||||
}
|
||||
@@ -299,7 +299,7 @@ void PVCopy::dump(string *builder,CopyNodePtr const &node,int indentLevel)
|
||||
ss << " nfields " << node->nfields;
|
||||
*builder += ss.str();
|
||||
PVStructurePtr options = node->options;
|
||||
if(options.get()!=NULL) {
|
||||
if(options) {
|
||||
getConvert()->newLine(builder,indentLevel +1);
|
||||
|
||||
// TODO !!! ugly
|
||||
@@ -338,7 +338,7 @@ bool PVCopy::init(epics::pvData::PVStructurePtr const &pvRequest)
|
||||
if(len==string::npos) entireMaster = true;
|
||||
if(len==0) entireMaster = true;
|
||||
PVStructurePtr pvOptions;
|
||||
if(len==1 && pvRequest->getSubField("_options")!=NULL) {
|
||||
if(len==1 && pvRequest->getSubField("_options")) {
|
||||
pvOptions = pvRequest->getStructureField("_options");
|
||||
}
|
||||
if(entireMaster) {
|
||||
@@ -353,7 +353,7 @@ bool PVCopy::init(epics::pvData::PVStructurePtr const &pvRequest)
|
||||
return true;
|
||||
}
|
||||
structure = createStructure(pvMasterStructure,pvRequest);
|
||||
if(structure==NULL) return false;
|
||||
if(!structure) return false;
|
||||
cacheInitStructure = createPVStructure();
|
||||
headNode = createStructureNodes(
|
||||
pvMaster,
|
||||
@@ -387,7 +387,7 @@ StructureConstPtr PVCopy::createStructure(
|
||||
for(size_t i=0; i<length; ++i) {
|
||||
string const &fieldName = fromRequestFieldNames[i];
|
||||
PVFieldPtr pvMasterField = pvMaster->getSubField(fieldName);
|
||||
if(pvMasterField==NULL) continue;
|
||||
if(!pvMasterField) continue;
|
||||
FieldConstPtr field = pvMasterField->getField();
|
||||
if(field->getType()==epics::pvData::structure) {
|
||||
PVStructurePtr pvRequestStructure = static_pointer_cast<PVStructure>(
|
||||
@@ -423,7 +423,7 @@ CopyNodePtr PVCopy::createStructureNodes(
|
||||
PVFieldPtrArray const & copyPVFields = pvFromCopy->getPVFields();
|
||||
PVStructurePtr pvOptions;
|
||||
PVFieldPtr pvField = pvFromRequest->getSubField("_options");
|
||||
if(pvField!=NULL) pvOptions = static_pointer_cast<PVStructure>(pvField);
|
||||
if(pvField) pvOptions = static_pointer_cast<PVStructure>(pvField);
|
||||
size_t number = copyPVFields.size();
|
||||
CopyNodePtrArrayPtr nodes(new CopyNodePtrArray());
|
||||
nodes->reserve(number);
|
||||
@@ -435,7 +435,7 @@ CopyNodePtr PVCopy::createStructureNodes(
|
||||
pvFromRequest->getSubField(fieldName));
|
||||
PVStructurePtr pvSubFieldOptions;
|
||||
PVFieldPtr pvField = requestPVStructure->getSubField("_options");
|
||||
if(pvField!=NULL) pvSubFieldOptions = static_pointer_cast<PVStructure>(pvField);
|
||||
if(pvField) pvSubFieldOptions = static_pointer_cast<PVStructure>(pvField);
|
||||
PVFieldPtr pvMasterField;
|
||||
PVFieldPtrArray const & pvMasterFields = pvMasterStructure->getPVFields();
|
||||
for(size_t j=0; i<pvMasterFields.size(); j++ ) {
|
||||
@@ -445,7 +445,7 @@ CopyNodePtr PVCopy::createStructureNodes(
|
||||
}
|
||||
}
|
||||
size_t numberRequest = requestPVStructure->getPVFields().size();
|
||||
if(pvSubFieldOptions!=NULL) numberRequest--;
|
||||
if(pvSubFieldOptions) numberRequest--;
|
||||
if(numberRequest>0) {
|
||||
nodes->push_back(createStructureNodes(
|
||||
static_pointer_cast<PVStructure>(pvMasterField),
|
||||
@@ -621,7 +621,7 @@ CopyMasterNodePtr PVCopy::getCopyOffset(
|
||||
static_pointer_cast<CopyStructureNode>(node);
|
||||
CopyMasterNodePtr masterNode =
|
||||
getCopyOffset(subNode,masterPVField);
|
||||
if(masterNode.get()!=NULL) return masterNode;
|
||||
if(masterNode) return masterNode;
|
||||
}
|
||||
}
|
||||
return NULLCopyMasterNode;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <string>
|
||||
#include <cstdio>
|
||||
#include <stdexcept>
|
||||
#include <sstream>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include <pv/lock.h>
|
||||
@@ -720,8 +721,11 @@ FieldBuilderPtr FieldBuilder::addArray(string const & name, FieldConstPtr const
|
||||
case scalar:
|
||||
fields.push_back(fieldCreate->createScalarArray(static_pointer_cast<const Scalar>(element)->getScalarType()));
|
||||
break;
|
||||
// scalarArray?
|
||||
default:
|
||||
throw std::invalid_argument("unsupported array element type:" + element->getType());
|
||||
std::ostringstream msg("unsupported array element type: ");
|
||||
msg << element->getType();
|
||||
throw std::invalid_argument(msg.str());
|
||||
}
|
||||
|
||||
fieldNames.push_back(name);
|
||||
@@ -747,7 +751,11 @@ FieldConstPtr FieldBuilder::createFieldInternal(Type type)
|
||||
fieldCreate->createUnion(fieldNames, fields);
|
||||
}
|
||||
else
|
||||
throw std::invalid_argument("unsupported type: " + type);
|
||||
{
|
||||
std::ostringstream msg("unsupported type: ");
|
||||
msg << type;
|
||||
throw std::invalid_argument(msg.str());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -834,7 +842,10 @@ ScalarArrayConstPtr FieldCreate::createFixedScalarArray(ScalarType elementType,
|
||||
if(elementType<0 || elementType>MAX_SCALAR_TYPE)
|
||||
throw std::invalid_argument("Can't construct ScalarArray from invalid ScalarType");
|
||||
|
||||
return ScalarArrayConstPtr(new FixedScalarArray(elementType, size), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<ScalarArray> s(new FixedScalarArray(elementType, size), Field::Deleter());
|
||||
ScalarArrayConstPtr sa = s;
|
||||
return sa;
|
||||
}
|
||||
|
||||
ScalarArrayConstPtr FieldCreate::createBoundedScalarArray(ScalarType elementType, size_t size) const
|
||||
@@ -842,7 +853,10 @@ ScalarArrayConstPtr FieldCreate::createBoundedScalarArray(ScalarType elementType
|
||||
if(elementType<0 || elementType>MAX_SCALAR_TYPE)
|
||||
throw std::invalid_argument("Can't construct ScalarArray from invalid ScalarType");
|
||||
|
||||
return ScalarArrayConstPtr(new BoundedScalarArray(elementType, size), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<ScalarArray> s(new BoundedScalarArray(elementType, size), Field::Deleter());
|
||||
ScalarArrayConstPtr sa = s;
|
||||
return sa;
|
||||
}
|
||||
|
||||
StructureConstPtr FieldCreate::createStructure () const
|
||||
@@ -855,8 +869,9 @@ StructureConstPtr FieldCreate::createStructure () const
|
||||
StructureConstPtr FieldCreate::createStructure (
|
||||
StringArray const & fieldNames,FieldConstPtrArray const & fields) const
|
||||
{
|
||||
StructureConstPtr structure(
|
||||
new Structure(fieldNames,fields), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Structure> sp(new Structure(fieldNames,fields), Field::Deleter());
|
||||
StructureConstPtr structure = sp;
|
||||
return structure;
|
||||
}
|
||||
|
||||
@@ -865,24 +880,27 @@ StructureConstPtr FieldCreate::createStructure (
|
||||
StringArray const & fieldNames,
|
||||
FieldConstPtrArray const & fields) const
|
||||
{
|
||||
StructureConstPtr structure(
|
||||
new Structure(fieldNames,fields,id), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Structure> sp(new Structure(fieldNames,fields,id), Field::Deleter());
|
||||
StructureConstPtr structure = sp;
|
||||
return structure;
|
||||
}
|
||||
|
||||
StructureArrayConstPtr FieldCreate::createStructureArray(
|
||||
StructureConstPtr const & structure) const
|
||||
{
|
||||
StructureArrayConstPtr structureArray(
|
||||
new StructureArray(structure), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<StructureArray> sp(new StructureArray(structure), Field::Deleter());
|
||||
StructureArrayConstPtr structureArray = sp;
|
||||
return structureArray;
|
||||
}
|
||||
|
||||
UnionConstPtr FieldCreate::createUnion (
|
||||
StringArray const & fieldNames,FieldConstPtrArray const & fields) const
|
||||
{
|
||||
UnionConstPtr punion(
|
||||
new Union(fieldNames,fields), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Union> sp(new Union(fieldNames,fields), Field::Deleter());
|
||||
UnionConstPtr punion = sp;
|
||||
return punion;
|
||||
}
|
||||
|
||||
@@ -891,8 +909,9 @@ UnionConstPtr FieldCreate::createUnion (
|
||||
StringArray const & fieldNames,
|
||||
FieldConstPtrArray const & fields) const
|
||||
{
|
||||
UnionConstPtr punion(
|
||||
new Union(fieldNames,fields,id), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Union> sp(new Union(fieldNames,fields,id), Field::Deleter());
|
||||
UnionConstPtr punion = sp;
|
||||
return punion;
|
||||
}
|
||||
|
||||
@@ -904,8 +923,9 @@ UnionConstPtr FieldCreate::createVariantUnion () const
|
||||
UnionArrayConstPtr FieldCreate::createUnionArray(
|
||||
UnionConstPtr const & punion) const
|
||||
{
|
||||
UnionArrayConstPtr unionArray(
|
||||
new UnionArray(punion), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<UnionArray> sp(new UnionArray(punion), Field::Deleter());
|
||||
UnionArrayConstPtr unionArray = sp;
|
||||
return unionArray;
|
||||
}
|
||||
|
||||
@@ -1047,13 +1067,23 @@ FieldConstPtr FieldCreate::deserialize(ByteBuffer* buffer, DeserializableControl
|
||||
if (isVariable)
|
||||
return scalarArrays[scalarType];
|
||||
else if (isFixed)
|
||||
return FieldConstPtr(
|
||||
{
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Field> sp(
|
||||
new FixedScalarArray(static_cast<epics::pvData::ScalarType>(scalarType), size),
|
||||
Field::Deleter());
|
||||
FieldConstPtr p = sp;
|
||||
return p;
|
||||
}
|
||||
else
|
||||
return FieldConstPtr(
|
||||
{
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Field> sp(
|
||||
new BoundedScalarArray(static_cast<epics::pvData::ScalarType>(scalarType), size),
|
||||
Field::Deleter());
|
||||
FieldConstPtr p = sp;
|
||||
return p;
|
||||
}
|
||||
}
|
||||
else if (typeCode == 0x80)
|
||||
{
|
||||
@@ -1063,7 +1093,10 @@ FieldConstPtr FieldCreate::deserialize(ByteBuffer* buffer, DeserializableControl
|
||||
|
||||
// Type type = Type.structureArray;
|
||||
StructureConstPtr elementStructure = std::tr1::static_pointer_cast<const Structure>(control->cachedDeserialize(buffer));
|
||||
return FieldConstPtr(new StructureArray(elementStructure), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Field> sp(new StructureArray(elementStructure), Field::Deleter());
|
||||
FieldConstPtr p = sp;
|
||||
return p;
|
||||
}
|
||||
else if (typeCode == 0x81)
|
||||
{
|
||||
@@ -1073,7 +1106,10 @@ FieldConstPtr FieldCreate::deserialize(ByteBuffer* buffer, DeserializableControl
|
||||
|
||||
// Type type = Type.unionArray;
|
||||
UnionConstPtr elementUnion = std::tr1::static_pointer_cast<const Union>(control->cachedDeserialize(buffer));
|
||||
return FieldConstPtr(new UnionArray(elementUnion), Field::Deleter());
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Field> sp(new UnionArray(elementUnion), Field::Deleter());
|
||||
FieldConstPtr p = sp;
|
||||
return p;
|
||||
}
|
||||
else if (typeCode == 0x82)
|
||||
{
|
||||
@@ -1105,11 +1141,24 @@ FieldCreate::FieldCreate()
|
||||
{
|
||||
for (int i = 0; i <= MAX_SCALAR_TYPE; i++)
|
||||
{
|
||||
scalars.push_back(ScalarConstPtr(new Scalar(static_cast<ScalarType>(i)), Field::Deleter()));
|
||||
scalarArrays.push_back(ScalarArrayConstPtr(new ScalarArray(static_cast<ScalarType>(i)), Field::Deleter()));
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Scalar> sp(new Scalar(static_cast<ScalarType>(i)), Field::Deleter());
|
||||
ScalarConstPtr p = sp;
|
||||
scalars.push_back(p);
|
||||
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<ScalarArray> spa(new ScalarArray(static_cast<ScalarType>(i)), Field::Deleter());
|
||||
ScalarArrayConstPtr pa = spa;
|
||||
scalarArrays.push_back(spa);
|
||||
}
|
||||
variantUnion = UnionConstPtr(new Union(), Field::Deleter());
|
||||
variantUnionArray = UnionArrayConstPtr(new UnionArray(variantUnion), Field::Deleter());
|
||||
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<Union> su(new Union(), Field::Deleter());
|
||||
variantUnion = su;
|
||||
|
||||
// TODO use std::make_shared
|
||||
std::tr1::shared_ptr<UnionArray> sua(new UnionArray(variantUnion), Field::Deleter());
|
||||
variantUnionArray = sua;
|
||||
}
|
||||
|
||||
FieldCreatePtr getFieldCreate() {
|
||||
|
||||
@@ -693,7 +693,7 @@ PVStructurePtr PVDataCreate::createPVStructure(
|
||||
PVStructurePtr PVDataCreate::createPVStructure(PVStructurePtr const & structToClone)
|
||||
{
|
||||
FieldConstPtrArray field;
|
||||
if(structToClone==0) {
|
||||
if(!structToClone) {
|
||||
// is this correct?!
|
||||
FieldConstPtrArray fields(0);
|
||||
StringArray fieldNames(0);
|
||||
|
||||
@@ -54,14 +54,14 @@ void Executor::run()
|
||||
{
|
||||
Lock xx(mutex);
|
||||
while(true) {
|
||||
while(head.get()==NULL) {
|
||||
while(!head.get()) {
|
||||
xx.unlock();
|
||||
moreWork.wait();
|
||||
xx.lock();
|
||||
}
|
||||
CommandPtr command = head;
|
||||
head = command->next;
|
||||
if(command.get()==NULL) continue;
|
||||
if(!command.get()) continue;
|
||||
if(command.get()==shutdown.get()) break;
|
||||
xx.unlock();
|
||||
try {
|
||||
@@ -82,13 +82,13 @@ void Executor::execute(CommandPtr const & command)
|
||||
{
|
||||
Lock xx(mutex);
|
||||
command->next.reset();
|
||||
if(head.get()==NULL) {
|
||||
if(!head.get()) {
|
||||
head = command;
|
||||
moreWork.signal();
|
||||
return;
|
||||
}
|
||||
CommandPtr tail = head;
|
||||
while(tail->next!=NULL) tail = tail->next;
|
||||
while(tail->next) tail = tail->next;
|
||||
tail->next = command;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
using std::string;
|
||||
|
||||
// need to use "long long" when sizeof(int)==sizeof(long)
|
||||
#if (ULONG_MAX == 0xfffffffful) || defined(_WIN32) || defined(__rtems__)
|
||||
#if (ULONG_MAX == 0xfffffffful) || defined(_WIN32) || defined(__rtems__) || defined(__APPLE__)
|
||||
#define NEED_LONGLONG
|
||||
#endif
|
||||
|
||||
|
||||
@@ -65,9 +65,10 @@ namespace epics { namespace pvData {
|
||||
};
|
||||
|
||||
|
||||
class epicsShareClass SerializableArray : virtual public Serializable {
|
||||
class epicsShareClass SerializableArray : public virtual Serializable {
|
||||
public:
|
||||
virtual ~SerializableArray(){}
|
||||
using Serializable::serialize;
|
||||
virtual void serialize(ByteBuffer *buffer,
|
||||
SerializableControl *flusher, std::size_t offset, std::size_t count) const = 0;
|
||||
};
|
||||
|
||||
@@ -44,6 +44,23 @@
|
||||
# undef SHARED_FROM_TR1
|
||||
#endif
|
||||
|
||||
#if defined(__clang__)
|
||||
# undef SHARED_FROM_BOOST
|
||||
# undef SHARED_FROM_TR1
|
||||
|
||||
// import std classes into std::tr1
|
||||
namespace std {
|
||||
namespace tr1 {
|
||||
using std::shared_ptr;
|
||||
using std::weak_ptr;
|
||||
using std::static_pointer_cast;
|
||||
using std::dynamic_pointer_cast;
|
||||
using std::const_pointer_cast;
|
||||
using std::enable_shared_from_this;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// go and get it
|
||||
|
||||
#if defined(SHARED_FROM_TR1)
|
||||
|
||||
@@ -23,7 +23,7 @@ MonitorPluginManagerPtr MonitorPluginManager::get()
|
||||
static MonitorPluginManagerPtr pluginManager;
|
||||
static Mutex mutex;
|
||||
Lock xx(mutex);
|
||||
if(pluginManager==NULL) {
|
||||
if(!pluginManager) {
|
||||
pluginManager = MonitorPluginManagerPtr(new MonitorPluginManager());
|
||||
}
|
||||
return pluginManager;
|
||||
|
||||
@@ -507,6 +507,7 @@ public:
|
||||
*/
|
||||
virtual void setCapacity(std::size_t capacity) = 0;
|
||||
|
||||
using PVField::dumpValue;
|
||||
virtual std::ostream& dumpValue(std::ostream& o, std::size_t index) const = 0;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -29,7 +29,7 @@ void testCreateRequest() {
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
PVStructurePtr pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout<< createRequest->getMessage() << endl;}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
testOk1(pvRequest->getStructure()->getNumberFields()==0);
|
||||
testPass("request %s",request.c_str());
|
||||
@@ -37,11 +37,11 @@ void testCreateRequest() {
|
||||
|
||||
request = "record[a=b,x=y]field(a) putField(a),getField(a)";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << createRequest->getMessage() << endl;
|
||||
}
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
PVStringPtr pvString = pvRequest->getSubField<PVString>("record._options.a");
|
||||
string sval = pvString->get();
|
||||
@@ -49,18 +49,18 @@ void testCreateRequest() {
|
||||
pvString = pvRequest->getSubField<PVString>("record._options.x");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("y")==0,"record.x = y");
|
||||
testOk1(pvRequest->getSubField("field.a")!=NULL);
|
||||
testOk1(pvRequest->getSubField("putField.a")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.a")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.a").get()!=0);
|
||||
testOk1(pvRequest->getSubField("putField.a").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.a").get()!=0);
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "field(a.b[x=y])";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << createRequest->getMessage() << endl;
|
||||
}
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
|
||||
sval = pvString->get();
|
||||
@@ -70,35 +70,35 @@ void testCreateRequest() {
|
||||
request = "field(a.b{c.d})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "field(a.b[x=y]{c.d})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("y")==0,"field.a.b._options.x = y");
|
||||
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "field(a.b[x=y]{c.d[x=y]})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("field.a.b._options.x");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("y")==0,"field.a.b._options.x = y");
|
||||
@@ -111,10 +111,10 @@ void testCreateRequest() {
|
||||
request = "record[a=b,c=d] field(a.a[a=b]{a.a[a=b]},b.a[a=b]{a,b})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << "request " << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("field.a.a._options.a");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("b")==0,"field.a.a._options.a = b");
|
||||
@@ -124,8 +124,8 @@ void testCreateRequest() {
|
||||
pvString = pvRequest->getSubField<PVString>("field.b.a._options.a");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("b")==0,"field.b.a._options.a = b");
|
||||
testOk1(pvRequest->getSubField("field.b.a.a")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.b.a.b")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.b.a.a").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.b.a.b").get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
@@ -133,73 +133,73 @@ void testCreateRequest() {
|
||||
request = "alarm,timeStamp,power.value";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << endl << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
|
||||
if(debug) { cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "record[process=true]field(alarm,timeStamp,power.value)";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << endl << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("record.process");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("true")==0,"record.process = true");
|
||||
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "record[process=true]field(alarm,timeStamp[algorithm=onChange,causeMonitor=false],power{value,alarm})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("record.process");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("true")==0,"record.process = true");
|
||||
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("field.timeStamp._options.algorithm");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("onChange")==0,"field.timeStamp._options.algorithm = onChange");
|
||||
pvString = pvRequest->getSubField<PVString>("field.timeStamp._options.causeMonitor");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("false")==0,"field.timeStamp._options.causeMonitor = false");
|
||||
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.power.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.power.alarm").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "record[int=2,float=3.14159]field(alarm,timeStamp[shareData=true],power.value)";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("record.int");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("2")==0,"record.int = 2");
|
||||
pvString = pvRequest->getSubField<PVString>("record.float");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("3.14159")==0,"record.float = 3.14159");
|
||||
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
|
||||
pvString = pvRequest->getSubField<PVString>("field.timeStamp._options.shareData");
|
||||
sval = pvString->get();
|
||||
testOk(sval.compare("true")==0,"field.timeStamp._options.shareData = true");
|
||||
testOk1(pvRequest->getSubField("field.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.power.value").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
@@ -209,19 +209,19 @@ void testCreateRequest() {
|
||||
+ "current{value,alarm},voltage{value,alarm})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest->getSubField("putField.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.power.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.current.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.current.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.alarm")!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
testOk1(pvRequest->getSubField("putField.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.power.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.current.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.current.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.alarm").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
@@ -231,18 +231,18 @@ void testCreateRequest() {
|
||||
+ "})";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.supply.0.voltage.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.supply.0.current.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.supply.0.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.supply.1.voltage.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.supply.1.current.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.supply.1.power.value")!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.supply.0.voltage.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.supply.0.current.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.supply.0.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.supply.1.voltage.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.supply.1.current.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.supply.1.power.value").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
@@ -255,43 +255,43 @@ void testCreateRequest() {
|
||||
+ ")";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
if(pvRequest==NULL) {
|
||||
if(!pvRequest) {
|
||||
cout << "reason " << createRequest->getMessage() << endl;
|
||||
}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest->getSubField("putField.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.power.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.current.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.current.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.power.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.current.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.current.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.voltage.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.voltage.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.timeStamp")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.power.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.power.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.current.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.current.alarm")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.voltage.value")!=NULL);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.voltage.alarm")!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
testOk1(pvRequest->getSubField("putField.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.power.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.current.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.current.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.voltage.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.power.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.current.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.current.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.voltage.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps0.voltage.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.timeStamp").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.power.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.power.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.current.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.current.alarm").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.voltage.value").get()!=0);
|
||||
testOk1(pvRequest->getSubField("getField.ps1.voltage.alarm").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
request = "a{b{c{d}}}";
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
testOk1(pvRequest!=NULL);
|
||||
testOk1(pvRequest->getSubField("field.a.b.c.d")!=NULL);
|
||||
testOk1(pvRequest.get()!=0);
|
||||
testOk1(pvRequest->getSubField("field.a.b.c.d").get()!=0);
|
||||
if(debug) {cout << *pvRequest << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
@@ -305,7 +305,7 @@ void testCreateRequest() {
|
||||
if(debug) { cout << endl << "Error Expected for next call!!" << endl;}
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
assert(pvRequest.get()==NULL);
|
||||
assert(!pvRequest);
|
||||
if(debug) {cout << "reason " << createRequest->getMessage() << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
|
||||
@@ -313,7 +313,7 @@ void testCreateRequest() {
|
||||
if(debug) { cout << string("request") <<endl << request <<endl;}
|
||||
if(debug) { cout << endl << "Error Expected for next call!!" << endl;}
|
||||
pvRequest = createRequest->createRequest(request);
|
||||
assert(pvRequest.get()==NULL);
|
||||
assert(!pvRequest);
|
||||
if(debug) { cout << "reason " << createRequest->getMessage() << endl;}
|
||||
testPass("request %s",request.c_str());
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ void test_structure()
|
||||
StructureConstPtr s2 = fb->add("s", s)->
|
||||
addArray("sArray", s)->
|
||||
createStructure();
|
||||
testOk1(s2 != 0);
|
||||
testOk1(s2.get()!=0);
|
||||
testOk1(Structure::DEFAULT_ID == s2->getID());
|
||||
testOk1(2 == s2->getFields().size());
|
||||
|
||||
|
||||
@@ -197,45 +197,45 @@ static void testPVScalarWithProperties(
|
||||
}
|
||||
PVLongPtr seconds = pvStructure->getLongField(
|
||||
string("timeStamp.secondsPastEpoch"));
|
||||
testOk1(seconds!=0);
|
||||
testOk1(seconds.get()!=0);
|
||||
seconds->put(123456789);
|
||||
PVIntPtr nano = pvStructure->getIntField(string("timeStamp.nanoSeconds"));
|
||||
testOk1(nano!=0);
|
||||
testOk1(nano.get()!=0);
|
||||
nano->put(1000000);
|
||||
PVIntPtr severity = pvStructure->getIntField(string("alarm.severity"));
|
||||
testOk1(severity!=0);
|
||||
testOk1(severity.get()!=0);
|
||||
severity->put(2);
|
||||
PVStringPtr message = pvStructure->getStringField(string("alarm.message"));
|
||||
testOk1(message!=0);
|
||||
testOk1(message.get()!=0);
|
||||
message->put(string("messageForAlarm"));
|
||||
if(hasDisplayControl) {
|
||||
PVStringPtr desc = pvStructure->getStringField(
|
||||
string("display.description"));
|
||||
testOk1(desc!=0);
|
||||
testOk1(desc.get()!=0);
|
||||
desc->put(string("this is a description"));
|
||||
PVStringPtr format = pvStructure->getStringField(
|
||||
string("display.format"));
|
||||
testOk1(format!=0);
|
||||
testOk1(format.get()!=0);
|
||||
format->put(string("f10.2"));
|
||||
PVStringPtr units = pvStructure->getStringField(
|
||||
string("display.units"));
|
||||
testOk1(units!=0);
|
||||
testOk1(units.get()!=0);
|
||||
units->put(string("SomeUnits"));
|
||||
PVDoublePtr limit = pvStructure->getDoubleField(
|
||||
string("display.limitLow"));
|
||||
testOk1(limit!=0);
|
||||
testOk1(limit.get()!=0);
|
||||
limit->put(0.0);
|
||||
limit = pvStructure->getDoubleField(
|
||||
string("display.limitHigh"));
|
||||
testOk1(limit!=0);
|
||||
testOk1(limit.get()!=0);
|
||||
limit->put(10.0);
|
||||
limit = pvStructure->getDoubleField(
|
||||
string("control.limitLow"));
|
||||
testOk1(limit!=0);
|
||||
testOk1(limit.get()!=0);
|
||||
limit->put(1.0);
|
||||
limit = pvStructure->getDoubleField(
|
||||
string("control.limitHigh"));
|
||||
testOk1(limit!=0);
|
||||
testOk1(limit.get()!=0);
|
||||
limit->put(9.0);
|
||||
}
|
||||
if(hasValueAlarm) {
|
||||
@@ -255,15 +255,15 @@ static void testPVScalarWithProperties(
|
||||
convert->fromDouble(pvtemp,9.0);
|
||||
severity = pvStructure->getIntField(
|
||||
string("valueAlarm.lowAlarmSeverity"));
|
||||
testOk1(severity!=0);
|
||||
testOk1(severity.get()!=0);
|
||||
severity->put(2);
|
||||
severity = pvStructure->getIntField(
|
||||
string("valueAlarm.highAlarmSeverity"));
|
||||
testOk1(severity!=0);
|
||||
testOk1(severity.get()!=0);
|
||||
severity->put(2);
|
||||
PVBooleanPtr active = pvStructure->getBooleanField(
|
||||
string("valueAlarm.active"));
|
||||
testOk1(active!=0);
|
||||
testOk1(active.get()!=0);
|
||||
active->put(true);
|
||||
}
|
||||
if(hasBooleanAlarm) {
|
||||
@@ -273,15 +273,15 @@ static void testPVScalarWithProperties(
|
||||
pvBoolean->put(true);
|
||||
severity = pvStructure->getIntField(
|
||||
string("valueAlarm.falseSeverity"));
|
||||
testOk1(severity!=0);
|
||||
testOk1(severity.get()!=0);
|
||||
severity->put(0);
|
||||
severity = pvStructure->getIntField(
|
||||
string("valueAlarm.trueSeverity"));
|
||||
testOk1(severity!=0);
|
||||
testOk1(severity.get()!=0);
|
||||
severity->put(2);
|
||||
severity = pvStructure->getIntField(
|
||||
string("valueAlarm.changeStateSeverity"));
|
||||
testOk1(severity!=0);
|
||||
testOk1(severity.get()!=0);
|
||||
severity->put(1);
|
||||
}
|
||||
if(debug)
|
||||
@@ -345,7 +345,7 @@ static void testScalarArrayCommon(string /*fieldName*/,ScalarType stype)
|
||||
if(debug)
|
||||
std::cout << *pvStructure << std::endl;
|
||||
PVFieldPtr pvField = pvStructure->getSubField("alarm.status");
|
||||
testOk1(pvField!=NULL);
|
||||
testOk1(pvField.get()!=0);
|
||||
}
|
||||
|
||||
static void testScalarArray()
|
||||
|
||||
@@ -108,7 +108,7 @@ static void testBasic()
|
||||
|
||||
{
|
||||
typename PVT::const_svector avoid;
|
||||
arr1->PVScalarArray::getAs<typename PVT::value_type>(avoid);
|
||||
arr1->PVScalarArray::template getAs<typename PVT::value_type>(avoid);
|
||||
testOk1(avoid.data()==cdata.data());
|
||||
testOk1(avoid.data()==arr1->view().data());
|
||||
}
|
||||
@@ -133,7 +133,7 @@ static void testBasic()
|
||||
testOk1(cdata.size()==arr1->getLength());
|
||||
|
||||
PVIntArray::const_svector idata;
|
||||
arr1->PVScalarArray::getAs<int32>(idata);
|
||||
arr1->PVScalarArray::template getAs<int32>(idata);
|
||||
|
||||
testOk1(idata.at(1)==10);
|
||||
|
||||
@@ -143,7 +143,7 @@ static void testBasic()
|
||||
|
||||
idata = freeze(wdata);
|
||||
|
||||
arr1->PVScalarArray::putFrom<int32>(idata);
|
||||
arr1->PVScalarArray::template putFrom<int32>(idata);
|
||||
|
||||
testOk1(castUnsafe<PVIntArray::value_type>(arr1->view()[1])==42);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user