![]() |
This is Unofficial EPICS BASE Doxygen Site
|
Support for subset of fields in a pvStructure. More...
#include "pvStructureCopy.h"
Inheritance diagram for epics::pvCopy::PVCopy:
Collaboration diagram for epics::pvCopy::PVCopy: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.