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 @@ + + + + + + PvaClientMonitor + + + + + + + + +

PvaClientMonitor

+ +

Overview

+

+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: +

+

The client first creates a pvaClientChannel and then creates a monitor

+The client calls: +
+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. +

The client provides names for a channel and a provider

+The client calls: +
+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 @@

EPICS pvaClientCPP

-

Release 4.2.0-SNAPSHOT - 2016-07-14

+

Release 4.7.0-SNAPSHOT - 2017-06-29

Abstract

-

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.
-
-

Table of Contents

-
- -

Overview

@@ -76,10 +71,10 @@ pvaClientCPP is one of the components of EPICS Version 4

-

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.

Developer Guide

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

doxygen documentation is available at @@ -104,9 +96,9 @@ href="./html/index.html">doxygen

exampleCPP

-

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 PvaClientChannelCachePtr; * * Thus it is easier to use than pvAccess itself. * In addition pvaClient provides many convenience methods. + * * @author mrk * @date 2015.02 */ @@ -98,6 +99,7 @@ public: */ ~PvaClient(); /** @brief Get the single instance of PvaClient. + * * @param providerNames Space separated list of provider names. * @return shared pointer to the single instance. */ @@ -1393,6 +1395,7 @@ typedef std::tr1::shared_ptr MonitorRequesterImplPtr; /** * @brief An easy to use alternative to Monitor. * + * pvaClientMonitor */ class epicsShareClass PvaClientMonitor : public PvaClientChannelStateChangeRequester, @@ -1688,6 +1691,6 @@ private: /** @page Overview Documentation * * pvaClientCPP.html - * + * */