MonitorElement const and state tracking

Mark MonitorElement member pointers as const
to prevent user code from accidentally mangling.

Add 'state' tracking to help debugging
This commit is contained in:
Michael Davidsaver
2017-06-27 15:42:27 +02:00
parent 63a7649693
commit a3185f11da
4 changed files with 26 additions and 33 deletions

View File

@@ -1427,17 +1427,11 @@ CAChannelMonitor::CAChannelMonitor(CAChannel::shared_pointer const & _channel,
monitorRequester(_monitorRequester),
getType(getDBRType(pvRequest, _channel->getNativeType())),
pvStructure(createPVStructure(_channel, getType, pvRequest)),
changedBitSet(new BitSet(static_cast<uint32>(pvStructure->getStructure()->getNumberFields()))),
overrunBitSet(new BitSet(static_cast<uint32>(pvStructure->getStructure()->getNumberFields()))),
count(0),
element(new MonitorElement())
element(new MonitorElement(pvStructure))
{
// TODO
changedBitSet->set(0);
element->pvStructurePtr = pvStructure;
element->changedBitSet = changedBitSet;
element->overrunBitSet = overrunBitSet;
element->changedBitSet->set(0);
}
void CAChannelMonitor::activate()