changes to documentation

This commit is contained in:
mrkraimer
2017-06-29 09:47:14 -04:00
parent d8ab89e96a
commit 594d8dd19f
4 changed files with 157 additions and 19 deletions

View File

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

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>PvaClientMonitor</title>
<link rel="stylesheet" type="text/css"
href="http://epics-pvdata.sourceforge.net/base.css" />
<link rel="stylesheet" type="text/css"
href="http://epics-pvdata.sourceforge.net/epicsv4.css" />
<style type="text/css">
/*<![CDATA[*/
.about { margin-left: 3em; margin-right: 3em; font-size: .83em}
table { margin-left: auto; margin-right: auto }
.diagram { text-align: center; margin: 2.5em 0 }
span.opt { color: grey }
span.nterm { font-style:italic }
span.term { font-family:courier }
span.user { font-family:courier }
span.user:before { content:"<" }
span.user:after { content:">" }
.nonnorm { font-style:italic }
p.ed { color: #AA0000 }
span.ed { color: #AA0000 }
p.ed.priv { display: inline; }
span.ed.priv { display: inline; }
/*]]>*/</style>
<!-- Script that generates the Table of Contents -->
<script type="text/javascript"
src="http://epics-pvdata.sourceforge.net/script/tocgen.js">
</script>
</head>
<body>
<h1>PvaClientMonitor</h1>
<h2>Overview</h2>
<p>
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:
</p>
<h3>The client first creates a pvaClientChannel and then creates a monitor</h3>
The client calls:
<pre>
static PvaClientMonitorPtr create(
PvaClientPtr const &amp;pvaClient,
PvaClientChannelPtr const &amp; pvaClientChannel,
epics::pvData::PVStructurePtr const &amp;pvRequest
);
where
pvaClient
The pvaClient.
pvaClientChannel
The pvaClientChannel that has already been created by the client.
pvRequest
The pvRequest for creating the monitor.
</pre>
With this method the monitor is created and started.
This method blocks while the monitor is created.
<h3>The client provides names for a channel and a provider</h3>
The client calls:
<pre>
static PvaClientMonitorPtr create(
PvaClientPtr const &amp;pvaClient,
std::string const &amp; channelName,
std::string const &amp; providerName,
std::string const &amp; request,
PvaClientChannelStateChangeRequesterPtr const &amp; stateChangeRequester,
PvaClientMonitorRequesterPtr const &amp; 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.
</pre>
With this method a pvaChannel is created and after it connects a pvaMonitor is created and started.
This method never blocks.
</body>
</html>

View File

@@ -26,11 +26,11 @@
<div class="head">
<h1>EPICS pvaClientCPP</h1>
<h2 class="nocount">Release 4.2.0-SNAPSHOT - 2016-07-14</h2>
<h2 class="nocount">Release 4.7.0-SNAPSHOT - 2017-06-29</h2>
<h2 class="nocount">Abstract</h2>
<p>pvaClient is a software library that provides to an EPICS client programmer, a friendly
<p>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.</p>
@@ -62,11 +62,6 @@ The data for the channels is presented via normative type NTMultiChannel.
</div> <!-- head -->
<div id="toc">
<h2 class="nocount">Table of Contents</h2>
</div>
<!-- Place what you would like in the Table of Contents, inside the contents div -->
<div id="contents" class="contents">
<hr />
<h2>Overview</h2>
@@ -76,10 +71,10 @@ pvaClientCPP is one of the components of
EPICS Version 4
</a>
</p>
<p>This document is only a guide to help locate code and documentation related to pvDatabaseCPP
<p>This document is only a guide to help locate code and documentation related to pvaClientCPP
</p>
<p>
It is intended for developers that want to use pvDatabaseCPP.
It is intended for developers that want to use pvaClientCPP.
</p>
<h2>Developer Guide</h2>
<p>A guide for developers is available at
@@ -88,14 +83,11 @@ href="http://epics-pvdata.sourceforge.net/informative/developerGuide/developerGu
developerGuide
</a>
</p>
<p>This guide discusses all the components that are part of an <b>EPICS V4</b> release.
<p>This guide provides an overview of the components that are part of an <b>EPICS V4</b> 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.
</p>
<p>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.
</p>
<h2>doxygen</h2>
<p>doxygen documentation is available at
@@ -104,9 +96,9 @@ href="./html/index.html">doxygen</a>
</p>
<h2>exampleCPP</h2>
<p>Example code is available as part of this release.
<p>Example code is available at
<a
href="http://epics-pvdata.sourceforge.net/docbuild/exampleCPP/tip/documentation/exampleCPP.html">
href="https://github.com/epics-base/exampleCPP">
exampleCPP
</a>
</p>

View File

@@ -84,6 +84,7 @@ typedef std::tr1::shared_ptr<PvaClientChannelCache> 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<MonitorRequesterImpl> MonitorRequesterImplPtr;
/**
* @brief An easy to use alternative to Monitor.
*
* <a href = "../htmldoxygen/pvaClientMonitor.html">pvaClientMonitor</a>
*/
class epicsShareClass PvaClientMonitor :
public PvaClientChannelStateChangeRequester,
@@ -1688,6 +1691,6 @@ private:
/** @page Overview Documentation
*
* <a href = "../pvaClientCPP.html">pvaClientCPP.html</a>
*
*
*/