Merge pull request #19 from mrkraimer/master

pvAccessCPP.html
This commit is contained in:
Matej Sekoranja
2016-01-11 16:09:01 +01:00
14 changed files with 1544 additions and 3007 deletions

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ doc/
include/
db/
dbd/
html/
documentation/html
documentation/*.tag
envPaths

View File

@@ -871,7 +871,7 @@ HTML_OUTPUT = documentation/html
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
# doxygen will generate files with .html extension.
HTML_FILE_EXTENSION = .html
HTML_FILE_EXTENSION =
# The HTML_HEADER tag can be used to specify a personal HTML header for
# each generated HTML page. If it is left blank doxygen will generate a

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,80 +0,0 @@
<?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>EPICS pvAccessCPP</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 }
body { margin-right: 10% }
/*]]>*/</style>
</head>
<body>
<div class="head">
<h1>EPICS pvAccessCPP</h1>
<!-- Maturity: Working Draft or Request for Comments, or Recommendation, and date. -->
<h2 class="nocount" id="L50">EPICS v4 Working Group, Working Draft,
20-Dec-2011</h2>
<dl>
<dt>Latest version:</dt>
<dd><a
href="pvAccessCPP.html">pvAccessCPP.html</a></dd>
<dt>This version:</dt>
<dd><a
href="pvAccessCPP_20111220.html">pvAccessCPP_20111220.html</a></dd>
<dt>Editors:</dt>
<dd>Marty Kraimer, BNL</dd>
</dl>
<hr />
</div>
<h2 class="nocount" id="L72">Abstract</h2>
<p>pvAccessCPP is the Java implementation of pvAccess, which is one of a related
set of products:</br >
<a href="http://epics-pvdata.sourceforge.net/relatedDocumentsV4.html">relatedDocumentsV4.html</a>
</p>
<h2 class="nocount" id="L80">Status of this Document</h2>
<p>This is the 20-Dec-2011 version of the C++ implementation of pvAccess. The
code is a complete implementation of pvAccess as currently defined. This
overview is NOT written.</p>
CONTENTS
<div class="toc">
<ul>
<li><a href="#L50">EPICS v4 Working Group, Working Draft, 20-Dec-2011</a></li>
<li><a href="#L72">Abstract</a></li>
<li><a href="#L80">Status of this Document</a></li>
<li><a href="#L88">Introduction</a></li>
</ul>
</div>
<hr />
<h2 id="L88">Introduction</h2>
<hr />
<p>This product is available via an <a
href="http://epics-pvdata.sourceforge.net/LICENSE.html">open source
license</a></p>
<p>This overview for pvAccessCPP. Doxygen documentation is available at <a
href="./html/index.html">doxygenDoc</a></p>
<p><b>THIS IS NOT WRITTEN</b> For now please consult the overview documentation
for pvAccessJava. In addition look at the Doxygen documentation for this
project.</p>
</body>
</html>

View File

@@ -1,99 +0,0 @@
<?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>EPICS pvAccessCPP</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>
<div class="head">
<h1>EPICS pvAccessCPP</h1>
<!-- Maturity: Working Draft or Request for Comments, or Recommendation, and date. -->
<h2 class="nocount" id="L50">EPICS v4 Working Group, Working Draft, 09-July-2011</h2>
<dl>
<dt>Latest version:</dt>
<dd><a
href="pvAccessCPP.html">pvAccessCPP.html
</a></dd>
<dt>This version:</dt>
<dd><a
href="pvAccessCPP_20140709.html">pvAccessCPP_20140709.html
</a></dd>
<dt>Previous version:</dt>
<dd><a
href="pvAccessCPP_20111220.html">pvAccessCPP_20111220.html
</a></dd>
<dt>Editors:</dt>
<dd>Marty Kraimer, BNL<br />
Matej Sekoranja, CosyLab</dd>
</dl>
<hr />
<h2 class="nocount">Abstract</h2>
<p>pvAccessCPP is the C++ implementation of pvAccess, which is one of a related
set of products:</br >
<a href="http://epics-pvdata.sourceforge.net/relatedDocumentsV4.html">relatedDocumentsV4.html</a>
</p>
<h2 class="nocount">Status of this Document</h2>
<p>This is the 09-July-2011 version of the C++ implementation of pvAccess. The
code is a complete implementation of pvAccess as currently defined. This
overview is NOT written.</p>
</div>
<div id="toc">
<h2 class="nocount" style="page-break-before: always">Table of Contents</h2>
</div>
<div id="contents" class="contents">
<h2 id="L88">Introduction</h2>
<hr />
<p>This product is available via an <a
href="http://epics-pvdata.sourceforge.net/LICENSE.html">open source
license</a></p>
<p>This overview for pvAccessCPP. Doxygen documentation is available at <a
href="./html/index.html">doxygenDoc</a></p>
<p><b>THIS IS NOT WRITTEN</b> For now please consult pvAccessJava.html.
In addition look at the Doxygen documentation for this project.</p>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -964,7 +964,7 @@ namespace pvAccess {
/** @page Overview Documentation
*
*<a href = "../pvAccessOverview.html">pvAccessOverview.html</a>
*<a href = "../documentation/pvAccessCPP.html">pvAccessCPP.html</a>
*
*/

View File

@@ -20,6 +20,7 @@
#include <iostream>
#include <iocsh.h>
#include <epicsExit.h>
#include <epicsExport.h>
@@ -31,25 +32,23 @@ using std::endl;
using namespace epics::pvData;
using namespace epics::pvAccess;
//static void pvaClientExitHandler(void* /*pPrivate*/) {
//cout << "pvaClientExitHandler\n";
// ClientFactory::stop();
//}
static const iocshFuncDef startPVAClientFuncDef = {
"startPVAClient", 0, 0
};
extern "C" void startPVAClient(const iocshArgBuf *args)
{
ClientFactory::start();
}
static const iocshFuncDef stopPVAClientFuncDef = {
"stopPVAClient", 0, 0
};
extern "C" void stopPVAClient(const iocshArgBuf *args)
{
ClientFactory::stop();
// epicsAtExit(pvaClientExitHandler, NULL);
}
static void startPVAClientRegister(void)
static void registerStartPVAClient(void)
{
static int firstTime = 1;
if (firstTime) {
@@ -58,16 +57,7 @@ static void startPVAClientRegister(void)
}
}
static void stopPVAClientRegister(void)
{
static int firstTime = 1;
if (firstTime) {
firstTime = 0;
iocshRegister(&stopPVAClientFuncDef, stopPVAClient);
}
}
extern "C" {
epicsExportRegistrar(startPVAClientRegister);
epicsExportRegistrar(stopPVAClientRegister);
epicsExportRegistrar(registerStartPVAClient);
}

View File

@@ -1,2 +1 @@
registrar("startPVAClientRegister")
registrar("stopPVAClientRegister")
registrar("registerStartPVAClient")

View File

@@ -25,6 +25,7 @@
#include <epicsEvent.h>
#include <epicsThread.h>
#include <iocsh.h>
#include <epicsExit.h>
#include <epicsExport.h>
@@ -89,6 +90,10 @@ PVAServerCTXPtr PVAServerCTX::getPVAServerCTX()
return pvPVAServerCTX;
}
static void pvaServerExitHandler(void* /*pPrivate*/) {
cout << "pvaServerExitHandler\n";
PVAServerCTX::getPVAServerCTX()->stop();
}
static const iocshFuncDef startPVAServerFuncDef = {
"startPVAServer", 0, 0
@@ -96,18 +101,11 @@ static const iocshFuncDef startPVAServerFuncDef = {
extern "C" void startPVAServer(const iocshArgBuf *args)
{
PVAServerCTX::getPVAServerCTX()->start();
}
static const iocshFuncDef stopPVAServerFuncDef = {
"stopPVAServer", 0, 0
};
extern "C" void stopPVAServer(const iocshArgBuf *args)
{
PVAServerCTX::getPVAServerCTX()->stop();
epicsAtExit(pvaServerExitHandler, NULL);
}
static void startPVAServerRegister(void)
static void registerStartPVAServer(void)
{
static int firstTime = 1;
if (firstTime) {
@@ -116,16 +114,6 @@ static void startPVAServerRegister(void)
}
}
static void stopPVAServerRegister(void)
{
static int firstTime = 1;
if (firstTime) {
firstTime = 0;
iocshRegister(&stopPVAServerFuncDef, stopPVAServer);
}
}
extern "C" {
epicsExportRegistrar(startPVAServerRegister);
epicsExportRegistrar(stopPVAServerRegister);
epicsExportRegistrar(registerStartPVAServer);
}

View File

@@ -1,2 +1 @@
registrar("startPVAServerRegister")
registrar("stopPVAServerRegister")
registrar("registerStartPVAServer")

View File

@@ -332,7 +332,7 @@ RPCClient::shared_pointer RPCClient::create(const std::string & serviceName,
}
PVStructure::shared_pointer RPCClient::sendRequest(const std::string & serviceName,
PVStructure::shared_pointer queryRequest,
PVStructure::shared_pointer const & queryRequest,
double timeOut)
{
RPCClient::shared_pointer client = RPCClient::create(serviceName);

View File

@@ -69,7 +69,7 @@ namespace pvAccess
* @throws RPCRequestException exception thrown on error on timeout.
*/
static epics::pvData::PVStructure::shared_pointer sendRequest(const std::string & serviceName,
epics::pvData::PVStructure::shared_pointer request, double timeOut = RPCCLIENT_DEFAULT_TIMEOUT);
epics::pvData::PVStructure::shared_pointer const &request, double timeOut = RPCCLIENT_DEFAULT_TIMEOUT);