diff --git a/documentation/RELEASE_NOTES.md b/documentation/RELEASE_NOTES.md index faa83ee..5d0aa9d 100644 --- a/documentation/RELEASE_NOTES.md +++ b/documentation/RELEASE_NOTES.md @@ -1,5 +1,44 @@ +EPICS V4 release 4.7 +==================== + +API changes to PvaClientMonitor +------------------------------- + +The second argument of method + + static PvaClientMonitorPtr create( + PvaClientPtr const &pvaClient, + epics::pvAccess::Channel::shared_pointer const & channel, + epics::pvData::PVStructurePtr const &pvRequest + ); + +Is now changed to + + static PvaClientMonitorPtr create( + PvaClientPtr const &pvaClient, + PvaClientChannelPtr const & pvaClientChannel, + epics::pvData::PVStructurePtr const &pvRequest + ); + +A new method is also implemented + + static PvaClientMonitorPtr create( + PvaClientPtr const &pvaClient, + std::string const & channelName, + std::string const & providerName, + std::string const & request, + PvaClientChannelStateChangeRequesterPtr const & stateChangeRequester, + PvaClientMonitorRequesterPtr const & monitorRequester + ); + +Works with release/6.0 of pvAccessCPP +-------------------------------------- + +Not sure this will work with older versions of pvAccessCPP. + + EPICS V4 release 4.6 -========================== +==================== * The examples are moved to exampleCPP. * Support for channelRPC is now available. @@ -8,7 +47,7 @@ EPICS V4 release 4.6 EPICS V4 release 4.5 -========================== +==================== pvaClient is a synchronous API for pvAccess. diff --git a/documentation/htmldoxygen/pvaClientMonitor.html b/documentation/htmldoxygen/pvaClientMonitor.html new file mode 100644 index 0000000..36d6461 --- /dev/null +++ b/documentation/htmldoxygen/pvaClientMonitor.html @@ -0,0 +1,104 @@ + + + +
+ ++This provides an easier way to create a monitor on a channel than to use pvAccessCPP itself. +It provides two main ways to create a monitor: +
++static PvaClientMonitorPtr create( + PvaClientPtr const &pvaClient, + PvaClientChannelPtr const & pvaClientChannel, + epics::pvData::PVStructurePtr const &pvRequest +); + +where + +pvaClient + The pvaClient. + +pvaClientChannel + The pvaClientChannel that has already been created by the client. + +pvRequest + The pvRequest for creating the monitor. ++With this method the monitor is created and started. +This method blocks while the monitor is created. +
+static PvaClientMonitorPtr create( + PvaClientPtr const &pvaClient, + std::string const & channelName, + std::string const & providerName, + std::string const & request, + PvaClientChannelStateChangeRequesterPtr const & stateChangeRequester, + PvaClientMonitorRequesterPtr const & monitorRequester +); + +where + +pvaClient + The pvaClient. + +channelName + The name of the channel. + +providerName + The name of the provider + +request + The request for creating the monitor + +stateChangeRequester + The client supplied state change requester. + This will be called each time a state change for the channel occurs. + +monitorRequester + The client supplied monitor requester. + This is called each time a new monitor event is available. ++With this method a pvaChannel is created and after it connects a pvaMonitor is created and started. +This method never blocks. + + + + diff --git a/documentation/pvaClientCPP.html b/documentation/pvaClientCPP.html index 20ee501..ee62eff 100644 --- a/documentation/pvaClientCPP.html +++ b/documentation/pvaClientCPP.html @@ -26,11 +26,11 @@
pvaClient is a software library that provides to an EPICS client programmer, a friendly +
pvaClient is a software library that provides, to an EPICS client programmer, a friendly client side programming interface to the data of an EPICS based control system. It is intended for such uses as rapid development of ad hoc programs by controls engineers, or to provide scientists a way to directly develop analytical applications.
@@ -62,11 +62,6 @@ The data for the channels is presented via normative type NTMultiChannel.This document is only a guide to help locate code and documentation related to pvDatabaseCPP +
This document is only a guide to help locate code and documentation related to pvaClientCPP
-It is intended for developers that want to use pvDatabaseCPP. +It is intended for developers that want to use pvaClientCPP.
A guide for developers is available at @@ -88,14 +83,11 @@ href="http://epics-pvdata.sourceforge.net/informative/developerGuide/developerGu developerGuide
-This guide discusses all the components that are part of an EPICS V4 release. +
This guide provides an overview of the components that are part of an EPICS V4 release. Some understanding of the components and how they are related is necessary in order to -develop code that uses pvDatabaseCPP. +develop code that uses pvaClientCPP. In particular read everything related to pvaClient.
-The developerGuide discusses code in a way that applies to both CPP and C++. -For the descriptions of the CPP specific code consult the next section. -
doxygen documentation is available at @@ -104,9 +96,9 @@ href="./html/index.html">doxygen
Example code is available as part of this release. +
Example code is available at +href="https://github.com/epics-base/exampleCPP"> exampleCPP
diff --git a/src/pv/pvaClient.h b/src/pv/pvaClient.h index bb2619e..8a3bb46 100644 --- a/src/pv/pvaClient.h +++ b/src/pv/pvaClient.h @@ -84,6 +84,7 @@ typedef std::tr1::shared_ptr