diff --git a/pvDataApp/misc/bitSet.h b/pvDataApp/misc/bitSet.h index 0d21828..c291a19 100644 --- a/pvDataApp/misc/bitSet.h +++ b/pvDataApp/misc/bitSet.h @@ -13,6 +13,9 @@ namespace epics { namespace pvData { + class BitSet; + typedef std::tr1::shared_ptr BitSetPtr; + /** * This class implements a vector of bits that grows as needed. Each * component of the bit set has a {@code bool} value. The diff --git a/pvDataApp/monitor/monitor.h b/pvDataApp/monitor/monitor.h index 14b6b20..fe76ad5 100644 --- a/pvDataApp/monitor/monitor.h +++ b/pvDataApp/monitor/monitor.h @@ -31,7 +31,7 @@ class MonitorElement { public: POINTER_DEFINITIONS(MonitorElement); MonitorElement(){} - MonitorElement(PVStructurePtr &pvStructurePtr) + MonitorElement(PVStructurePtr const &pvStructurePtr) : pvStructurePtr(pvStructurePtr), changedBitSet(BitSet::create(pvStructurePtr->getNumberFields())), overrunBitSet(BitSet::create(pvStructurePtr->getNumberFields())) @@ -64,12 +64,12 @@ class Monitor : public Destroyable{ * @return monitorElement for modified data. * Must call get to determine if data is available. */ - virtual MonitorElementPtr poll() = 0; + virtual MonitorElementPtr &poll() = 0; /** * Release a MonitorElement that was returned by poll. * @param monitorElement */ - virtual void release(MonitorElementPtr & monitorElement) = 0; + virtual void release(MonitorElementPtr const & monitorElement) = 0; }; @@ -88,7 +88,7 @@ class MonitorRequester : public virtual Requester { * @param structure The structure defining the data. */ virtual void monitorConnect(Status const &status, - MonitorPtr & monitor, StructureConstPtr const & structure) = 0; + MonitorPtr const & monitor, StructureConstPtr const & structure) = 0; /** * A monitor event has occurred. * The requester must call Monitor.poll to get data. diff --git a/testApp/monitor/testMonitor.cpp b/testApp/monitor/testMonitor.cpp index 5bc81ed..f42037c 100644 --- a/testApp/monitor/testMonitor.cpp +++ b/testApp/monitor/testMonitor.cpp @@ -45,12 +45,12 @@ public: printf("stop called\n"); return status; } - virtual MonitorElementPtr poll() + virtual MonitorElementPtr &poll() { printf("poll called\n"); return emptyElement; } - virtual void release(MonitorElementPtr & monitorElement) + virtual void release(MonitorElementPtr const & monitorElement) { printf("release called\n"); }