9 #ifdef epicsExportSharedSymbols 10 # define ntmatrixEpicsExportSharedSymbols 11 # undef epicsExportSharedSymbols 14 #include <pv/pvDisplay.h> 16 #ifdef ntmatrixEpicsExportSharedSymbols 17 # define epicsExportSharedSymbols 18 # undef ntmatrixEpicsExportSharedSymbols 26 namespace epics {
namespace nt {
41 public std::tr1::enable_shared_from_this<NTMatrixBuilder>
50 shared_pointer addDim();
56 shared_pointer addDescriptor();
62 shared_pointer addAlarm();
68 shared_pointer addTimeStamp();
74 shared_pointer addDisplay();
81 epics::pvData::StructureConstPtr createStructure();
88 epics::pvData::PVStructurePtr createPVStructure();
103 shared_pointer add(std::string
const & name, epics::pvData::FieldConstPtr
const & field);
117 epics::pvData::StringArray extraFieldNames;
118 epics::pvData::FieldConstPtrArray extraFields;
120 friend class ::epics::nt::NTMatrix;
139 static const std::string
URI;
152 static shared_pointer wrap(epics::pvData::PVStructurePtr
const & pvStructure);
163 static shared_pointer wrapUnsafe(epics::pvData::PVStructurePtr
const & pvStructure);
176 static bool is_a(epics::pvData::StructureConstPtr
const & structure);
189 static bool is_a(epics::pvData::PVStructurePtr
const & pvStructure);
200 static bool isCompatible(
201 epics::pvData::StructureConstPtr
const &structure);
212 static bool isCompatible(
213 epics::pvData::PVStructurePtr
const &pvStructure);
230 static NTMatrixBuilderPtr createBuilder();
243 bool attachTimeStamp(epics::pvData::PVTimeStamp &pvTimeStamp)
const;
251 bool attachAlarm(epics::pvData::PVAlarm &pvAlarm)
const;
259 bool attachDisplay(epics::pvData::PVDisplay &pvDisplay)
const;
265 epics::pvData::PVStructurePtr getPVStructure()
const;
271 epics::pvData::PVStringPtr getDescriptor()
const;
277 epics::pvData::PVStructurePtr getTimeStamp()
const;
283 epics::pvData::PVStructurePtr getAlarm()
const;
289 epics::pvData::PVStructurePtr getDisplay()
const;
295 epics::pvData::PVDoubleArrayPtr getValue()
const;
301 epics::pvData::PVIntArrayPtr getDim()
const;
304 NTMatrix(epics::pvData::PVStructurePtr
const & pvStructure);
305 epics::pvData::PVStructurePtr pvNTMatrix;
306 epics::pvData::PVDoubleArrayPtr pvValue;
Interface for in-line creating of NTMatrix.
Convenience Class for NTMatrix.
std::tr1::shared_ptr< NTMatrix > NTMatrixPtr
static const std::string URI
std::tr1::shared_ptr< detail::NTMatrixBuilder > NTMatrixBuilderPtr