9 #ifdef epicsExportSharedSymbols 10 # define ntattributeEpicsExportSharedSymbols 11 # undef epicsExportSharedSymbols 14 #ifdef ntattributeEpicsExportSharedSymbols 15 # define epicsExportSharedSymbols 16 # undef ntattributeEpicsExportSharedSymbols 23 namespace epics {
namespace nt {
38 public std::tr1::enable_shared_from_this<NTAttributeBuilder>
47 shared_pointer addTags();
53 shared_pointer addDescriptor();
59 shared_pointer addAlarm();
65 shared_pointer addTimeStamp();
72 epics::pvData::StructureConstPtr createStructure();
79 epics::pvData::PVStructurePtr createPVStructure();
86 NTAttributePtr create();
94 shared_pointer add(std::string
const & name, epics::pvData::FieldConstPtr
const & field);
110 friend class ::epics::nt::NTAttribute;
129 static const std::string
URI;
142 static shared_pointer wrap(epics::pvData::PVStructurePtr
const & pvStructure);
153 static shared_pointer wrapUnsafe(epics::pvData::PVStructurePtr
const & pvStructure);
166 static bool is_a(epics::pvData::StructureConstPtr
const & structure);
179 static bool is_a(epics::pvData::PVStructurePtr
const & pvStructure);
190 static bool isCompatible(
191 epics::pvData::StructureConstPtr
const &structure);
202 static bool isCompatible(
203 epics::pvData::PVStructurePtr
const &pvStructure);
220 static NTAttributeBuilderPtr createBuilder();
233 bool attachTimeStamp(epics::pvData::PVTimeStamp &pvTimeStamp)
const;
241 bool attachAlarm(epics::pvData::PVAlarm &pvAlarm)
const;
247 epics::pvData::PVStructurePtr getPVStructure()
const;
253 epics::pvData::PVStringPtr getDescriptor()
const;
259 epics::pvData::PVStructurePtr getTimeStamp()
const;
265 epics::pvData::PVStructurePtr getAlarm()
const;
271 epics::pvData::PVStringPtr getName()
const;
277 epics::pvData::PVUnionPtr getValue()
const;
283 epics::pvData::PVStringArrayPtr getTags()
const;
286 NTAttribute(epics::pvData::PVStructurePtr
const & pvStructure);
287 epics::pvData::PVStructurePtr pvNTAttribute;
288 epics::pvData::PVUnionPtr pvValue;
Interface for in-line creating of NTAttribute.
epics::pvData::StringArray extraFieldNames
std::tr1::shared_ptr< detail::NTAttributeBuilder > NTAttributeBuilderPtr
static const std::string URI
Convenience Class for NTAttribute.
std::tr1::shared_ptr< NTAttribute > NTAttributePtr
epics::pvData::FieldConstPtrArray extraFields