#include <pvif.h>
Public Member Functions | |
virtual epics::pvData::FieldConstPtr | dtype ()=0 |
virtual epics::pvData::FieldBuilderPtr | dtype (epics::pvData::FieldBuilderPtr &builder, const std::string &fld) |
virtual PVIF * | attach (const epics::pvData::PVStructurePtr &root, const FieldName &fld)=0 |
Static Public Member Functions | |
static PVIFBuilder * | create (const std::string &mapname, dbChannel *chan) |
Public Attributes | |
dbChannel *const | channel |
Protected Member Functions | |
PVIFBuilder (dbChannel *chan) | |
Factory for PVIF instances.
Caller first passes a mapping type (eg. "scalar") to PVIFBuilder::create() to obtain a PVIFBuilder which may then by used to create PVIF instances for specific dbChannel.
Caller than uses PVIFBuilder::dtype() to obtain (sub)Field descriptions. eg. more than one of these may be composed into an overall Structure description.
Caller than creates a PVStructure and uses PVIFBuilder::attach() to build mappings for each dbChannel in the composed locations.