![]() |
This is Unofficial EPICS BASE Doxygen Site
|
Support for subset of fields in a pvStructure. More...
#include "pvStructureCopy.h"
Static Public Member Functions | |
static PVCopyPtr | create (epics::pvData::PVStructurePtr const &pvMaster, epics::pvData::PVStructurePtr const &pvRequest, std::string const &structureName) |
Support for subset of fields in a pvStructure.
Class that manages one or more PVStructures that holds an arbitrary subset of the fields in another PVStructure called master.
Definition at line 65 of file pvStructureCopy.h.
|
inlinevirtual |
Definition at line 81 of file pvStructureCopy.h.
|
static |
Create a new pvCopy
pvMaster | The top-level structure for which a copy of an arbitrary subset of the fields in master will be created and managed. |
pvRequest | Selects the set of subfields desired and options for each field. |
structureName | The name for the top level of any PVStructure created. |
Definition at line 73 of file pvCopy.cpp.
PVStructurePtr epics::pvCopy::PVCopy::createPVStructure | ( | ) |
Create a copy instance. Monitors keep a queue of monitor elements. Since each element needs a PVStructure, multiple top-level structures will be created.
Definition at line 110 of file pvCopy.cpp.
|
virtual |
Definition at line 431 of file pvCopy.cpp.
string epics::pvCopy::PVCopy::dump | ( | ) |
size_t epics::pvCopy::PVCopy::getCopyOffset | ( | epics::pvData::PVFieldPtr const & | masterPVField | ) |
Given a field in pvMaster. return the offset in copy for the same field. A value of std::string::npos means that the copy does not have this field.
masterPVField | The field in master. |
Definition at line 123 of file pvCopy.cpp.
size_t epics::pvCopy::PVCopy::getCopyOffset | ( | epics::pvData::PVStructurePtr const & | masterPVStructure, |
epics::pvData::PVFieldPtr const & | masterPVField | ||
) |
Given a field in pvMaster. return the offset in copy for the same field. A value of std::string::npos means that the copy does not have this field.
masterPVStructure | A structure in master that has masterPVField. |
masterPVField | The field in master. |
Definition at line 143 of file pvCopy.cpp.
PVFieldPtr epics::pvCopy::PVCopy::getMasterPVField | ( | std::size_t | structureOffset | ) |
Given an offset in the copy get the corresponding field in pvMaster.
structureOffset | The offset in the copy. |
Definition at line 161 of file pvCopy.cpp.
PVStructurePtr epics::pvCopy::PVCopy::getOptions | ( | std::size_t | fieldOffset | ) |
Get the options for the field at the specified offset.
fieldOffset | the offset in copy. |
Definition at line 300 of file pvCopy.cpp.
PVStructurePtr epics::pvCopy::PVCopy::getPVMaster | ( | ) |
Get the top-level structure of master
Definition at line 95 of file pvCopy.cpp.
StructureConstPtr epics::pvCopy::PVCopy::getStructure | ( | ) |
Get the introspection interface for a PVStructure for e copy.
Definition at line 105 of file pvCopy.cpp.
void epics::pvCopy::PVCopy::initCopy | ( | epics::pvData::PVStructurePtr const & | copyPVStructure, |
epics::pvData::BitSetPtr const & | bitSet | ||
) |
Initialize the fields in copyPVStructure by giving each field the value from the corresponding field in pvMaster. bitSet will be set to show that all fields are changed.
copyPVStructure | A copy top-level structure. |
bitSet | A bitSet for copyPVStructure. |
Definition at line 183 of file pvCopy.cpp.
epics::pvCopy::PVCopy::POINTER_DEFINITIONS | ( | PVCopy | ) |
void epics::pvCopy::PVCopy::traverseMaster | ( | PVCopyTraverseMasterCallbackPtr const & | callback | ) |
Traverse all the fields in master.
callback | This is called for each field on master. |
Definition at line 100 of file pvCopy.cpp.
bool epics::pvCopy::PVCopy::updateCopyFromBitSet | ( | epics::pvData::PVStructurePtr const & | copyPVStructure, |
epics::pvData::BitSetPtr const & | bitSet | ||
) |
For each set bit in bitSet set the field in copyPVStructure to the value of the corresponding field in pvMaster.
copyPVStructure | A copy top-level structure. |
bitSet | A bitSet for copyPVStructure. |
Definition at line 202 of file pvCopy.cpp.
bool epics::pvCopy::PVCopy::updateCopySetBitSet | ( | epics::pvData::PVStructurePtr const & | copyPVStructure, |
epics::pvData::BitSetPtr const & | bitSet | ||
) |
Set all fields in copyPVStructure to the value of the corresponding field in pvMaster. Each field that is changed has it's corresponding bit set in bitSet.
copyPVStructure | A copy top-level structure. |
bitSet | A bitSet for copyPVStructure. |
Definition at line 194 of file pvCopy.cpp.
void epics::pvCopy::PVCopy::updateMaster | ( | epics::pvData::PVStructurePtr const & | copyPVStructure, |
epics::pvData::BitSetPtr const & | bitSet | ||
) |
For each set bit in bitSet set the field in pvMaster to the value of the corresponding field in copyPVStructure
copyPVStructure | A copy top-level structure. |
bitSet | A bitSet for copyPVStructure. |
Definition at line 280 of file pvCopy.cpp.