9 Commits

Author SHA1 Message Date
Dave Hickin
1f76c2ec5c Update release notes for 5.1.2 2016-09-13 22:15:35 +01:00
Dave Hickin
b943d25be9 Updated doc for 5.1 release
Now document all Normative Type classes
2016-09-13 20:46:45 +01:00
Dave Hickin
88c0b1e7d6 NTUnionBuilder: Add missing value() function
Add missing function NTUnionBuilder::value() to allow the union type of
the NTUnion's value field to be specified.
2016-09-09 18:17:08 +01:00
Andrew Johnson
3c35425876 Update module version and release date for V4.6.0-rc1 2016-08-26 13:55:56 -05:00
Ralph Lange
32be30f554 jenkins: fix CloudBees doc job (SourceForge upload) 2016-08-20 21:41:27 +02:00
Andrew Johnson
01ba7dd0f4 Set dependency branch for cloudbees builds 2016-08-02 11:00:13 -05:00
Dave Hickin
6e355a614e Update documentation for 5.1.0 2016-08-02 10:17:35 +01:00
Dave Hickin
af236369db Update release notes for 5.1.0 2016-08-02 10:17:15 +01:00
Ralph Lange
3f233f1350 Add QtCreator wildcard to .gitignore 2016-07-28 11:57:48 +02:00
9 changed files with 2481 additions and 846 deletions

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@ configure/*.local
html/
**/O.*
**/**/O.*
QtC-*

View File

@@ -1,3 +1,61 @@
<?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;" />
<meta name="keywords" content="EPICS, EPICSv4" />
<title>EPICS V4 Normative Types Release Notes</title>
<link rel="stylesheet" type="text/css" href="../../base.css" />
<link rel="stylesheet" type="text/css" href="../../epicsv4.css" />
</head>
<body>
<h1>Release 5.1.2</h1>
<p>The main changes since release 5.1.1 are:</p>
<ul>
<li>NTUnionBuilder: Add missing value() function</li>
<li>Updated document: Now document all Normative Types</li>
</ul>
<h1>Release 5.1.1</h1>
<p>The main changes since release 5.0 are:</p>
<ul>
<li>Linux shared library version added</li>
<li>Headers and source locations have changed</li>
<li>Missing is_a implementations added</li>
<li>NTAttribute::addTags() is now non-virtual</li>
<li>New license file replaces LICENSE and COPYRIGHT</li>
</ul>
<h2>Shared library version added</h2>
<p>Linux shared library version numbers have been added by setting SHRLIB_VERSION
(to 5.1 in this case). So shared object will be libnt.so.5.1 instead of
libpvData.so.</p>
<h2>Headers and source locations have changed</h2>
<p>Source has moved out of nt directory directly into src.</p>
<p>Headers have been moved into a pv directory. This facilitates using some IDEs
such as Qt Creator.</p>
<p>src/nt/ntscalar.cpp -> src/ntscalar.cpp
src/nt/ntscalar.h -> src/pv/ntscalar.h</p>
<h2>Missing is_a implementations added</h2>
<p>is_a(PVStructurePtr const &amp;) implementation has been added for each type.</p>
<h1>Release 5.0</h1>
<p>This release adds support through wrapper classes and builders for the
@@ -79,3 +137,7 @@ added and options such as choice of scalar type can be made.</p>
NTUtils for type IDs.</li>
<li>Unit tests for the implemented classes.</li>
</ul>
</body>
</html>

View File

@@ -1,3 +1,47 @@
Release 5.1.2
=============
The main changes since release 5.1.1 are:
* NTUnionBuilder: Add missing value() function
* Updated document: Now document all Normative Types
Release 5.1.1
=============
The main changes since release 5.0 are:
* Linux shared library version added
* Headers and source locations have changed
* Missing is_a implementations added
* NTAttribute::addTags() is now non-virtual
* New license file replaces LICENSE and COPYRIGHT
Shared library version added
----------------------------
Linux shared library version numbers have been added by setting SHRLIB_VERSION
(to 5.1 in this case). So shared object will be libnt.so.5.1 instead of
libpvData.so.
Headers and source locations have changed
-----------------------------------------
Source has moved out of nt directory directly into src.
Headers have been moved into a pv directory. This facilitates using some IDEs
such as Qt Creator.
src/nt/ntscalar.cpp -> src/ntscalar.cpp
src/nt/ntscalar.h -> src/pv/ntscalar.h
Missing is_a implementations added
----------------------------------
is_a(PVStructurePtr const &) implementation has been added for each type.
Release 5.0
===========

File diff suppressed because it is too large Load Diff

View File

@@ -42,7 +42,7 @@ MB=${MB:-"NO_MICROBENCH"}
###########################################
# Dependent module branches
PVDATA_BRANCH="master"
PVDATA_BRANCH="release-6.0"
###########################################
# Fetch and unpack dependencies

View File

@@ -65,10 +65,9 @@ doxygen
###########################################
# Publish
if [ "${PUBLISH}" != "DONT" ]; then
if [ "${PUBLISH}" != "NO" ]; 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/normativeTypesCPP/${PUBLISH}/
rsync -aqP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/normativeTypesCPP/${PUBLISH}/
fi

View File

@@ -18,6 +18,12 @@ static NTFieldPtr ntField = NTField::get();
namespace detail {
NTUnionBuilder::shared_pointer NTUnionBuilder::value(UnionConstPtr unionType)
{
valueType = unionType;
return shared_from_this();
}
StructureConstPtr NTUnionBuilder::createStructure()
{
FieldBuilderPtr builder =

View File

@@ -40,6 +40,14 @@ namespace detail {
public:
POINTER_DEFINITIONS(NTUnionBuilder);
/**
* Specifies the union for the value field.
* If this is not called then a variant union is the default.
* @param unionType the introspection object for the union value field
* @return this instance of NTUnionBuilder
*/
shared_pointer value(epics::pvData::UnionConstPtr unionType);
/**
* Adds descriptor field to the NTUnion.
* @return this instance of <b>NTUnionBuilder</b>.

View File

@@ -47,7 +47,6 @@ void test_builder()
testOk(valueField.get() != 0, "value is enum");
std::cout << *structure << std::endl;
}
void test_ntunion()
@@ -158,11 +157,43 @@ void test_wrap()
testOk(ptr.get() != 0, "wrapUnsafe OK");
}
void test_variant_union()
{
StructureConstPtr structure = NTUnion::createBuilder()->
addDescriptor()->
addAlarm()->
addTimeStamp()->
createStructure();
testOk1(structure->getField<Union>("value")->isVariant());
}
void test_regular_union()
{
UnionConstPtr u = getFieldCreate()->createFieldBuilder()->
add("x", pvDouble)->
add("i", pvInt)->
createUnion();
StructureConstPtr structure = NTUnion::createBuilder()->
value(u)->
addDescriptor()->
addAlarm()->
addTimeStamp()->
createStructure();
testOk1(!structure->getField<Union>("value")->isVariant());
testOk1(structure->getField<Union>("value") == u);
}
MAIN(testNTUnion) {
testPlan(29);
testPlan(32);
test_builder();
test_ntunion();
test_wrap();
test_variant_union();
test_regular_union();
return testDone();
}