From fee5accff25b870adc2772dee3e848f682e6d0f5 Mon Sep 17 00:00:00 2001
From: Ralph Lange
Date: Fri, 4 Sep 2015 12:00:00 +0200
Subject: [PATCH 1/5] jenkins: set dependency versions
---
jenkins/cloudbees_build | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/jenkins/cloudbees_build b/jenkins/cloudbees_build
index 479e629..a389eb5 100644
--- a/jenkins/cloudbees_build
+++ b/jenkins/cloudbees_build
@@ -18,10 +18,10 @@ BASE=${1:-${DEFAULT_BASE}}
USE_MB=${2:-"MB_NO"}
# Dependent module branches (empty = master)
-PVCOMMON_BRANCH=""
-PVDATA_BRANCH=""
-PVACCESS_BRANCH=""
-NORMATIVETYPES_BRANCH=""
+PVCOMMON_BRANCH="Release-4.1-"
+PVDATA_BRANCH="Release-5.0-"
+PVACCESS_BRANCH="Release-4.1-"
+NORMATIVETYPES_BRANCH="Release-5.0-"
###########################################
# Fetch and unpack dependencies
From d1c2ab145cbbee4c7e62dd7a7fe7e95a63bcc17c Mon Sep 17 00:00:00 2001
From: Ralph Lange
Date: Mon, 14 Sep 2015 16:25:54 +0200
Subject: [PATCH 2/5] jenkins: adapt doc script to new CloudBees jenkins doc
job
---
jenkins/cloudbees_doc | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/jenkins/cloudbees_doc b/jenkins/cloudbees_doc
index f0b81f8..68fd2d0 100644
--- a/jenkins/cloudbees_doc
+++ b/jenkins/cloudbees_doc
@@ -10,11 +10,10 @@
# All rights reserved. Use is subject to license terms.
###########################################
-# Determine EPICS Base version
+# Set EPICS Base version and upload target
-DEFAULT_BASE=3.14.12.5
-
-BASE=${1:-${DEFAULT_BASE}}
+BASE=3.15.2
+PUBLISH=${1:-DONT}
###########################################
# Fetch and unpack dependencies
@@ -43,4 +42,10 @@ doxygen
###########################################
# Publish
-rsync -aqP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/tip
+if [ "${PUBLISH}" != "DONT" ]; then
+ # Upload explicit dummy to ensure target directory exists
+ echo "Created by CloudBees Jenkins upload job. Should be deleted as part of the job." > DUMMY
+ rsync -q -e ssh DUMMY epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/DUMMY
+
+ rsync -aqP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/
+fi
From 0306bd9fc7eef5955f1e2e7b19c6e8ee5401df7a Mon Sep 17 00:00:00 2001
From: Ralph Lange
Date: Mon, 28 Sep 2015 15:03:25 +0200
Subject: [PATCH 3/5] jenkins: fix CloudBees doc job
---
jenkins/cloudbees_doc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/jenkins/cloudbees_doc b/jenkins/cloudbees_doc
index 68fd2d0..3e1d230 100644
--- a/jenkins/cloudbees_doc
+++ b/jenkins/cloudbees_doc
@@ -45,7 +45,7 @@ doxygen
if [ "${PUBLISH}" != "DONT" ]; then
# Upload explicit dummy to ensure target directory exists
echo "Created by CloudBees Jenkins upload job. Should be deleted as part of the job." > DUMMY
- rsync -q -e ssh DUMMY epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/DUMMY
+ rsync -q -e ssh DUMMY epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/
rsync -aqP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/
fi
From e0557f04dd509ad21b17f8a6335705f9bf231cf9 Mon Sep 17 00:00:00 2001
From: mrkraimer
Date: Fri, 2 Oct 2015 08:47:29 -0400
Subject: [PATCH 4/5] update documentation
---
LICENSE.txt | 78 ----------
README.md | 5 +-
documentation/pvaClientCPP.html | 10 +-
documentation/pvaClientCPP_20151002.html | 186 +++++++++++++++++++++++
documentation/pvaClientOverview.html | 21 ++-
5 files changed, 213 insertions(+), 87 deletions(-)
delete mode 100644 LICENSE.txt
create mode 100644 documentation/pvaClientCPP_20151002.html
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 3f43ff2..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,78 +0,0 @@
-
-Copyright (c) 2008 Martin R. Kraimer
-Copyright (c) 2006 The University of Chicago, as Operator of Argonne
- National Laboratory.
-Copyright (c) 2006 Deutsches Elektronen-Synchrotron,
- Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY.
-Copyright (c) 2007 Control System Laboratory,
- (COSYLAB) Ljubljana Slovenia
-
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-________________________________________________________________________
-
-This software is in part copyrighted by the University of Chicago (UofC)
-
-In no event shall UofC be liable to any party for direct, indirect,
-special, incidental, or consequential damages arising out of the use of
-this software, its documentation, or any derivatives thereof, even if
-UofC has been advised of the possibility of such damage.
-
-UofC specifically disclaims any warranties, including, but not limited
-to, the implied warranties of merchantability, fitness for a particular
-purpose, and non-infringement. This software is provided on an "as is"
-basis, and UofC has no obligation to provide maintenance, support,
-updates, enhancements, or modifications.
-
-________________________________________________________________________
-
-This software is in part copyrighted by the BERLINER SPEICHERRING
-GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H. (BESSY), BERLIN, GERMANY.
-
-In no event shall BESSY be liable to any party for direct, indirect,
-special, incidental, or consequential damages arising out of the use of
-this software, its documentation, or any derivatives thereof, even if
-BESSY has been advised of the possibility of such damage.
-
-BESSY specifically disclaims any warranties, including, but not limited
-to, the implied warranties of merchantability, fitness for a particular
-purpose, and non-infringement. This software is provided on an "as is"
-basis, and BESSY has no obligation to provide maintenance, support,
-updates, enhancements, or modifications.
-
-________________________________________________________________________
-
-This software is in part copyrighted by the Deutsches Elektronen-Synchroton,
- Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY.
-
-In no event shall DESY be liable to any party for direct, indirect,
-special, incidental, or consequential damages arising out of the use of
-this software, its documentation, or any derivatives thereof, even if
-DESY has been advised of the possibility of such damage.
-
-DESY specifically disclaims any warranties, including, but not limited
-to, the implied warranties of merchantability, fitness for a particular
-purpose, and non-infringement. This software is provided on an "as is"
-basis, and DESY has no obligation to provide maintenance, support,
-updates, enhancements, or modifications.
-________________________________________________________________________
diff --git a/README.md b/README.md
index fbbc9ed..068c7d2 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ For example:
Status
------
-* The API is for release 4.5.0-pre1
+* The API is for EPICS Version 4 release 4.5.0
* Everything defined in pvaClient.h is ready but see below for remaining work.
* Everything defined in pvaClientMultiChannel.h is ready but see below for remaining work.
@@ -47,5 +47,4 @@ pvaClientMultiChannel
For release 4.5 support is available for multiDouble and NTMultiChannel.
In the future additional support should be provided that at least includes NTScalarMultiChannel.
-Testing with some channels not connected have not been done.
-At least some testing with missing channels should be done before final release 4.5
+Testing with some channels not connected has not been done.
diff --git a/documentation/pvaClientCPP.html b/documentation/pvaClientCPP.html
index 10eb3b5..dabc299 100644
--- a/documentation/pvaClientCPP.html
+++ b/documentation/pvaClientCPP.html
@@ -28,7 +28,7 @@
EPICS pvaClientCPP
EPICS V4 Working Group, Working Draft,
-03-August-2015
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.
+
+
Specifically, pvaClient provides a synchronous interface for pvAccess, which is the
+software support for high speed controls network communications used in EPICS version 4.
+pvAccess provides a callback based interface, which can be hard to use.
+pvaClient provides an interface that does not require callbacks even for monitors.
+
+
+pvaClientChannel provides many "convenience" methods to directly get and put
+scalar and scalarArray data types.
+Additional methods provide access to the full features of pvAccess.
+
+
+pvaClientMultiChannel provides access to data from multiple channels.
+It can be used directly by a client or via pvaClientMultiDouble or pvaClientNTMultiChannel.
+pvaClientMultiDouble allows the client to get and put data to multiple channels.
+But each channel must have a value field that is a numeric scalar.
+pvaClientNTMultiChannel allows the client to get and put data to multiple channels.
+Each channel must have a value field.
+The data for the channels is presented via normative type NTMultiChannel.
+
The following is a brief description of each example.
+In order to understand each example it
+helps to also look at the source for the example.
+
examplePvaClientGet
+
This has a number of examples:
+
+
exampleDouble
+
+ This shows two methods for getting data from a channel that has a numeric
+ scalar value field.
+
+
exampleDoubleArray
+
+ This shows two methods for getting data from a channel that has a
+ double array value field.
+
+
exampleCADouble
+
+ This is like exampleDouble except it uses provider ca.
+
+
exampleCADoubleArray
+
+ This is like exampleDoubleArray except it uses provider ca.
+
+
examplePowerSupply
+
+ This is an example of getting data from a channel that does not
+ have a value field.
+
+
+
examplePvaClientMonitor
+
This is an example of creating a monitor on a channel.
+It monitors a scalar double field.
+It also issues puts to the same channel so that it can make the monitors occur.
+
+
examplePvaClientPut
+
This example gets and puts to channels exampleDouble
+and exampleDoubleArray.
+
examplePvaClientProcess
+
This example makes a process request to channel exampleDouble.
+
helloWorldPutGet
+
This is an example of issuing a channelPutGet.
+
examplePvaClientMultiDouble
+
This is an example of using pvaClientMultiChannel,
+pvaClientMultiGetDouble, pvaClientMultiPutDouble, and pvaClientMultiMonitorDouble.
+
+
examplePvaClientNTMulti
+
This is an example of using pvaClientMultiChannel,
+pvaClientNTMultiGet, pvaClientNTMultiPut, pvaClientNTMultiMonitor, and pvaClientNTMultiData.
+
+
helloWorldRPC
+
This is an example of issuing a channelRPC request.
+It does not use pva.
+
+
+
diff --git a/documentation/pvaClientOverview.html b/documentation/pvaClientOverview.html
index 9b2cc01..a0b4921 100644
--- a/documentation/pvaClientOverview.html
+++ b/documentation/pvaClientOverview.html
@@ -299,13 +299,28 @@ It has methods:
This provides methods for connecting to multiple channels.
PvaClientMultiGetDouble
-
This provides support for channelGet to multiple channels.
+
This provides support for channelGet to multiple channels where each channel has a value field that is a numeric scalar.
PvaClientMultiPutDouble
-
This provides support for channelPut to multiple channels.
+
This provides support for channelPut to multiple channels where each channel has a value field that is a numeric scalar.
PvaClientMultiMonitorDouble
-
This provides support for monitoring changes to multiple channels.
+
This provides support for monitoring changes to multiple channels where each channel has a value field that is a numeric scalar.
+
+
PvaClientNTMultiGet
+
This provides support for channelGet to multiple channels where each channel has a value field that has any valid type.
+
+
PvaClientNTMultiPut
+
This provides support for channelPut to multiple channels where each channel has a value
+field that has any valid type.
+
+
PvaClientNTMultiMonitor
+
This provides support for monitoring changes to multiple channels where each channel has a
+value field that has any valid type.
+
+
PvaClientNTMultiData
+
This provides support for monitoring changes to multiple channels where each channel has a value field that has any valid type.
+The client can get the data as normative type NTMultiChannel.
From 51ed7d32a8142df13992e8436e6d3f567a9f16ec Mon Sep 17 00:00:00 2001
From: mrkraimer
Date: Wed, 7 Oct 2015 10:26:08 -0400
Subject: [PATCH 5/5] add RELEASE_NOTES.md
---
RELEASE_NOTES.md | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 RELEASE_NOTES.md
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
new file mode 100644
index 0000000..2f5544a
--- /dev/null
+++ b/RELEASE_NOTES.md
@@ -0,0 +1,11 @@
+Release/4.1
+===========
+
+This is for EPICS V4 release 4.5
+
+pvaClient is a synchronous API for pvAccess.
+
+
+This is the first release of pvaClientCPP.
+It provides an API that is similar to pvaClientJava.
+