This commit is contained in:
@@ -22,6 +22,7 @@ Release 6.0.0 (UNRELEASED)
|
||||
The "pva" and "ca" providers are registered with the clients() singleton.
|
||||
epics::pvAccess::ServerContext() looks up names with the servers() singleton.
|
||||
- Removed deprecated epics::pvAccess::Properties
|
||||
- The data members of epics::pvAccess::MonitorElement become const, preventing these pointers from being re-targeted.
|
||||
- Simplifications
|
||||
- use of the epics::pvAccess::ChannelRequester interface is optional
|
||||
and may be omitted when calling createChannel().
|
||||
|
||||
@@ -5,13 +5,25 @@ include $(TOP)/configure/CONFIG
|
||||
PROD_LIBS += pvAccessCA ca pvAccess pvData Com
|
||||
|
||||
TESTPROD_HOST += getme
|
||||
getme_SRCS = getme.cpp
|
||||
|
||||
TESTPROD_HOST += putme
|
||||
putme_SRCS = putme.cpp
|
||||
|
||||
TESTPROD_HOST += monitorme
|
||||
monitorme_SRCS = monitorme.cpp
|
||||
|
||||
TESTPROD_HOST += spamme
|
||||
spamme_SRCS = spamme.cpp
|
||||
|
||||
TESTPROD_HOST += miniget
|
||||
miniget_SRCS = miniget.cpp
|
||||
|
||||
TESTPROD_HOST += miniput
|
||||
miniput_SRCS = miniput.cpp
|
||||
|
||||
TESTPROD_HOST += minimonitor
|
||||
minimonitor_SRCS = minimonitor.cpp
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
|
||||
@@ -258,7 +258,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
pvac::ClientChannel chan(provider.connect(pv));
|
||||
|
||||
mon->mon = chan.monitor(mon.get());
|
||||
mon->mon = chan.monitor(mon.get(), pvReq);
|
||||
|
||||
monitors.push_back(mon);
|
||||
}
|
||||
|
||||
@@ -49,17 +49,10 @@ typedef std::tr1::shared_ptr<Monitor> MonitorPtr;
|
||||
class epicsShareClass MonitorElement {
|
||||
public:
|
||||
POINTER_DEFINITIONS(MonitorElement);
|
||||
MonitorElement(){}
|
||||
MonitorElement(epics::pvData::PVStructurePtr const & pvStructurePtr);
|
||||
const epics::pvData::PVStructurePtr pvStructurePtr;
|
||||
const epics::pvData::BitSet::shared_pointer changedBitSet;
|
||||
const epics::pvData::BitSet::shared_pointer overrunBitSet;
|
||||
// info to assist monitor debugging
|
||||
enum state_t {
|
||||
Free, //!< data invalid. eg. on internal free list
|
||||
Queued, //!< data valid. Owned by Monitor. Waiting for Monitor::poll()
|
||||
InUse //!< data valid. Owned by MonitorRequester. Waiting for Monitor::release()
|
||||
} state;
|
||||
|
||||
class Ref;
|
||||
};
|
||||
|
||||
@@ -143,7 +143,6 @@ MonitorElement::MonitorElement(epics::pvData::PVStructurePtr const & pvStructure
|
||||
: pvStructurePtr(pvStructurePtr)
|
||||
,changedBitSet(epics::pvData::BitSet::create(static_cast<epics::pvData::uint32>(pvStructurePtr->getNumberFields())))
|
||||
,overrunBitSet(epics::pvData::BitSet::create(static_cast<epics::pvData::uint32>(pvStructurePtr->getNumberFields())))
|
||||
,state(Free)
|
||||
{}
|
||||
|
||||
}} // namespace epics::pvAccess
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
#include <epicsThread.h>
|
||||
#include <osiSock.h>
|
||||
#include <osdSock.h>
|
||||
|
||||
#include <pv/lock.h>
|
||||
#include <pv/byteBuffer.h>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#endif
|
||||
|
||||
#include <shareLib.h>
|
||||
#include <osdSock.h>
|
||||
#include <osiSock.h>
|
||||
#include <epicsTime.h>
|
||||
#include <epicsThread.h>
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#endif
|
||||
|
||||
#include <shareLib.h>
|
||||
#include <osdSock.h>
|
||||
#include <osiSock.h>
|
||||
#include <epicsThread.h>
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <string>
|
||||
|
||||
#include <osiSock.h>
|
||||
#include <osdSock.h>
|
||||
|
||||
#include <pv/serialize.h>
|
||||
#include <pv/pvType.h>
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
#include <string>
|
||||
#include <osiSock.h>
|
||||
#include <osdSock.h>
|
||||
|
||||
#include <pv/status.h>
|
||||
#include <pv/pvData.h>
|
||||
|
||||
@@ -3912,23 +3912,15 @@ public:
|
||||
|
||||
m_needSubscriptionUpdate = true;
|
||||
|
||||
int count = 0;
|
||||
std::vector<ResponseRequest::weak_pointer> rrs(m_responseRequests.size());
|
||||
for (IOIDResponseRequestMap::iterator iter = m_responseRequests.begin();
|
||||
iter != m_responseRequests.end();
|
||||
iter++)
|
||||
{
|
||||
rrs[count++] = iter->second;
|
||||
ResponseRequest::shared_pointer ptr(iter->second.lock());
|
||||
if(ptr)
|
||||
EXCEPTION_GUARD(ptr->reportStatus(state));
|
||||
}
|
||||
|
||||
ResponseRequest::shared_pointer ptr;
|
||||
for (int i = 0; i< count; i++)
|
||||
{
|
||||
if((ptr = rrs[i].lock()))
|
||||
{
|
||||
EXCEPTION_GUARD(ptr->reportStatus(state));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user