Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f76c2ec5c | ||
|
|
b943d25be9 | ||
|
|
88c0b1e7d6 | ||
|
|
3c35425876 | ||
|
|
32be30f554 | ||
|
|
01ba7dd0f4 | ||
|
|
6e355a614e | ||
|
|
af236369db | ||
|
|
3f233f1350 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@ configure/*.local
|
||||
html/
|
||||
**/O.*
|
||||
**/**/O.*
|
||||
QtC-*
|
||||
|
||||
@@ -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 &) 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>
|
||||
|
||||
@@ -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
@@ -42,7 +42,7 @@ MB=${MB:-"NO_MICROBENCH"}
|
||||
###########################################
|
||||
# Dependent module branches
|
||||
|
||||
PVDATA_BRANCH="master"
|
||||
PVDATA_BRANCH="release-6.0"
|
||||
|
||||
###########################################
|
||||
# Fetch and unpack dependencies
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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>.
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user