Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
892f1e2242 | ||
|
|
f02ac3c139 | ||
|
|
fc641b48c3 | ||
|
|
bcaac0163a | ||
|
|
f9d27b2d74 | ||
|
|
392cc7426d |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,4 +7,3 @@ configure/*.local
|
||||
html/
|
||||
**/O.*
|
||||
**/**/O.*
|
||||
QtC-*
|
||||
|
||||
31
COPYRIGHT
Normal file
31
COPYRIGHT
Normal file
@@ -0,0 +1,31 @@
|
||||
This software is in part copyrighted by the various organizations and
|
||||
individuals listed below. Permission to use it is set out in the file
|
||||
LICENSE that accompanies the software.
|
||||
|
||||
In no event shall any copyright holder 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 they have been advised of the possibility of such
|
||||
damage.
|
||||
|
||||
The copyright holders specifically disclaim 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 the copyright holders have no
|
||||
obligation either collectively or individually to provide maintenance,
|
||||
support, updates, enhancements, or modifications.
|
||||
|
||||
Copyright (c) 2006 - 2015 All rights reserved
|
||||
|
||||
Martin R. Kraimer
|
||||
The University of Chicago, as Operator of Argonne National Laboratory.
|
||||
Deutsches Elektronen-Synchroton, Member of the Helmholtz Association,
|
||||
(DESY), HAMBURG, GERMANY,
|
||||
BERLINER SPEICHERRING GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H.
|
||||
(BESSY), BERLIN, GERMANY.
|
||||
COSYLAB (Control System Laboratory), Ljubljana, Slovenia.
|
||||
Brookhaven Science Associates, as Operator of Brookhaven
|
||||
National Laboratory.
|
||||
Diamond Light Source Ltd., Didcot, United Kingdom.
|
||||
|
||||
|
||||
109
LICENSE
109
LICENSE
@@ -1,16 +1,14 @@
|
||||
Copyright and License Terms
|
||||
---------------------------
|
||||
|
||||
Copyright (c) 2006-2016 Martin R. Kraimer
|
||||
Copyright (c) 2006-2016 UChicago Argonne LLC, as Operator of Argonne
|
||||
Copyright (c) 2006-2015 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-2016 Control System Laboratory,
|
||||
Copyright (c) 2007-2015 Control System Laboratory,
|
||||
(COSYLAB) Ljubljana Slovenia
|
||||
Copyright (c) 2010-2016 Brookhaven Science Associates, as Operator
|
||||
of Brookhaven National Laboratory
|
||||
Copyright (c) 2011-2016 Diamond Light Source Limited,
|
||||
Copyright (c) 2010-2015 Brookhaven Science Associates, as Operator of Brookhaven
|
||||
National Laboratory
|
||||
Copyright (c) 2011-2015 Diamond Light Source Limited,
|
||||
(DLS) Didcot, United Kingdom
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
@@ -36,30 +34,81 @@ OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
________________________________________________________________________
|
||||
|
||||
Additional Disclaimers
|
||||
----------------------
|
||||
This software is in part copyrighted by the University of Chicago (UofC)
|
||||
|
||||
This software is copyright in part by these institutions:
|
||||
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.
|
||||
|
||||
* Brookhaven Science Associates, as Operator of Brookhaven
|
||||
National Laboratory, New York, USA
|
||||
* Control System Laboratory, Ljubljana, Slovenia
|
||||
* Deutsches Elektronen-Synchroton, Member of the Helmholtz
|
||||
Association, Hamburg, Germany
|
||||
* Diamond Light Source Limited, Didcot, United Kingdom
|
||||
* Helmholtz-Zentrum Berlin fuer Materialien und Energie m.b.H.,
|
||||
Berlin, Germany.
|
||||
* UChicage Argonne LLC, as Operator of Argonne National Laboratory,
|
||||
Illinois, USA
|
||||
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.
|
||||
|
||||
In no event shall these institutions 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 advised of the possibility of such damage.
|
||||
________________________________________________________________________
|
||||
|
||||
These institutions specifically disclaim 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 these institutions have 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.
|
||||
|
||||
______________________________________________________________________
|
||||
|
||||
This software is in part copyrighted by the Brookhaven
|
||||
National Laboratory (BNL).
|
||||
|
||||
In no event shall BNL 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
|
||||
BNL has been advised of the possibility of such damage.
|
||||
|
||||
BNL 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 BNL has no obligation to provide maintenance, support,
|
||||
updates, enhancements, or modifications.
|
||||
|
||||
________________________________________________________________________
|
||||
|
||||
This software is in part copyrighted by Diamond Light Source Limited (DLS)
|
||||
|
||||
In no event shall DLS 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
|
||||
DLS has been advised of the possibility of such damage.
|
||||
|
||||
DLS 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 DLS has no obligation to provide maintenance, support,
|
||||
updates, enhancements, or modifications.
|
||||
|
||||
________________________________________________________________________
|
||||
|
||||
|
||||
@@ -29,6 +29,9 @@ USR_CPPFLAGS += --coverage
|
||||
USR_LDFLAGS += --coverage
|
||||
endif
|
||||
|
||||
INSTALL_INCLUDE = $(INSTALL_LOCATION)/include/pv
|
||||
USR_INCLUDES += -I $(INSTALL_LOCATION)/include
|
||||
|
||||
-include $(TOP)/../CONFIG_SITE.local
|
||||
-include $(TOP)/configure/CONFIG_SITE.local
|
||||
|
||||
|
||||
@@ -1,61 +1,3 @@
|
||||
<?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
|
||||
@@ -137,7 +79,3 @@ 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,47 +1,3 @@
|
||||
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
289
documentation/ntCPP_20140723.html
Normal file
289
documentation/ntCPP_20140723.html
Normal file
@@ -0,0 +1,289 @@
|
||||
<?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 pvDataCPP</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 pvDataCPP</h1>
|
||||
<!-- Maturity: Working Draft or Request for Comments, or Recommendation, and date. -->
|
||||
|
||||
<h2 class="nocount">EPICS v4 Working Group, Working Draft, 23-July-2014</h2>
|
||||
|
||||
<dl>
|
||||
<dt>Latest version:</dt>
|
||||
<dd><a
|
||||
href="ntCPP.html">ntCPP.html</a>
|
||||
</dd>
|
||||
<dt>This version:</dt>
|
||||
<dd><a
|
||||
href="ntCPP_20140723.html">ntCPP_20140723.html</a>
|
||||
</dd>
|
||||
<dt>Previous version:</dt>
|
||||
<dd>None</dd>
|
||||
<dt>Editors:</dt>
|
||||
<dd>Marty Kraimer, BNL</dd>
|
||||
<dd>Michael Davidsaver, BNL</dd>
|
||||
<dd>Matej Sekoranja, CosyLab</dd>
|
||||
</dl>
|
||||
|
||||
<p class="copyright">This product is made available subject to acceptance of the <a
|
||||
href="http://epics-pvdata.sourceforge.net/LICENSE.html">EPICS open source
|
||||
license.</a></p>
|
||||
<hr />
|
||||
</div>
|
||||
<h2 class="nocount">Abstract</h2>
|
||||
|
||||
<p>EPICS Version 4 provides efficient
|
||||
storage, access, and communication, of memory resident structured data.
|
||||
pvData is the storage compoment.
|
||||
pvDataCPP is the C++ implementation of pvData.
|
||||
It is one part of the set of related products in the EPICS
|
||||
V4 control system programming environment:<br />
|
||||
<a href="http://epics-pvdata.sourceforge.net/relatedDocumentsV4.html">relatedDocumentsV4.html</a>
|
||||
</p>
|
||||
|
||||
|
||||
<h2 class="nocount">Status of this Document</h2>
|
||||
|
||||
<p>For now this is a working copy so it is not the same as "This version" shown above.</p>
|
||||
|
||||
<p>This is the 23-July-2014 version of the C++ implementation of pvData.
|
||||
</p>
|
||||
|
||||
<p>RELEASE_NOTES.md provides changes since the last release.
|
||||
TODO.md describes things to do before the next release.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<div id="toc">
|
||||
<h2 class="nocount" style="page-break-before: always">Table of Contents</h2>
|
||||
</div>
|
||||
<div id="contents" class="contents">
|
||||
|
||||
<body>
|
||||
<h1 style="text-align: center">EPICS normative type C++ implementation
|
||||
</h1>
|
||||
|
||||
<h2 class="nocount" id="L50">Draft, 4-Nov-2012</h2>
|
||||
<dl>
|
||||
<dt>This version:</dt>
|
||||
<dd><a href="http://epics-pvdata.hg.sourceforge.net/hgweb/epics-pvdata/normativeTypesCPP/raw-file/tip/documentation/ntCPP.html">ntCPP.html</a></dd>
|
||||
<dt>Editors:</dt>
|
||||
<dd>Matej Sekoranja, CosyLab<br>
|
||||
Marty Kraimer, BNL
|
||||
</dd>
|
||||
</dl>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
|
||||
<p>This section describes the C++ implemmentation of normative types. Two (2) helper classes are implemented,
|
||||
ntNameValue and NTTable respectively. </p>
|
||||
|
||||
<h3>Normative Type Fields.</h3>
|
||||
|
||||
<p>These are helper classes for creating standard fields for normative types.
|
||||
There is a single instance of this class, which is obtained via NTField::get().
|
||||
</p>
|
||||
<pre>class NTField: NoDefaultMethods {
|
||||
public:
|
||||
static NTFieldPtr get();
|
||||
~NTField() {}
|
||||
|
||||
PVStructurePtr createEnumerated(StringArray const & choices);
|
||||
PVStructurePtr createTimeStamp();
|
||||
PVStructurePtr createAlarm();
|
||||
PVStructurePtr createDisplay();
|
||||
PVStructurePtr createAlarmLimit();
|
||||
PVStructurePtr createControl();
|
||||
|
||||
PVStructureArrayPtr createEnumeratedArray();
|
||||
PVStructureArrayPtr createTimeStampArray();
|
||||
PVStructureArrayPtr createAlarmArray();
|
||||
};</pre>
|
||||
|
||||
<p>where</p>
|
||||
<dl>
|
||||
<dt>createEnumerated</dt>
|
||||
<dd>Create an introspection interface for an enumerated structure.</dd>
|
||||
<dt>createTimeStamp</dt>
|
||||
<dd>Create an interspection interface for a timeStamp structure.</dd>
|
||||
<dt>createAlarm</dt>
|
||||
<dd>Create an interspection interface for an alarm structure.</dd>
|
||||
<dt>createDisplay</dt>
|
||||
<dd>Create an introsepecion interface for a display structure.</dd>
|
||||
<dt>createAlarmLimit</dt>
|
||||
<dd>Create an introspection interface for an alarm limit structure.</dd>
|
||||
<dt>createControl</dt>
|
||||
<dd>Create an introspection interface for a control structure.</dd>
|
||||
<dt>createEnumeratedArray</dt>
|
||||
<dd>Create an introspection interface for an structureArray of enumerated
|
||||
structures.</dd>
|
||||
<dt>createTimeStampArray</dt>
|
||||
<dd>Create an introspection interface for an structureArray of timeStamp
|
||||
structures.</dd>
|
||||
<dt>createAlarmArray</dt>
|
||||
<dd>Create an introspection interface for an structureArray of alarm
|
||||
structures.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>NTNameValue</h3>
|
||||
|
||||
<p>These are helper classes for NTNameValue</p>
|
||||
<pre>class NTNameValue : private NoDefaultMethods
|
||||
{
|
||||
public:
|
||||
static bool isNTNameValue(PVStructurePtr const & pvStructure);
|
||||
static NTNameValuePtr create(
|
||||
bool hasFunction,bool hasTimeStamp, bool hasAlarm);
|
||||
static NTNameValuePtr create(
|
||||
PVStructurePtr const & pvStructure);
|
||||
~NTNameValue();
|
||||
PVStringPtr getFunction();
|
||||
void attachTimeStamp(PVTimeStamp &pvTimeStamp);
|
||||
void attachAlarm(PVAlarm &pvAlarm);
|
||||
PVStructurePtr getPVStructure();
|
||||
PVStructurePtr getTimeStamp();
|
||||
PVStructurePtr getAlarm();
|
||||
PVStringArrayPtr getNames();
|
||||
PVStringArrayPtr getValues();
|
||||
};</pre>
|
||||
|
||||
<p>where</p>
|
||||
<dl>
|
||||
<dt>isNTNameValue</dt>
|
||||
<dd>Is the structure a NTNameValue structure?</dd>
|
||||
<dt>create</dt>
|
||||
<dd>Create an NTNameValue that has the associated fields.</dd>
|
||||
<dt>~NTNameValue</dt>
|
||||
<dd>The destructor.</dd>
|
||||
<dt>getFunction</dt>
|
||||
<dd>Get the function field. This can be null.</dd>
|
||||
<dt>attachTimeStamp</dt>
|
||||
<dd>The timeStamp field of the NTNameValue is atttached to the
|
||||
pvTimeStamp.</dd>
|
||||
<dt>attachAlarm</dt>
|
||||
<dd>The alarm field of the NTNameValue is atttached to the alarm.</dd>
|
||||
<dt>getPVStructure</dt>
|
||||
<dd>Get the pvStructure that this NTNameValue contains.</dd>
|
||||
<dt>getTimeStamp</dt>
|
||||
<dd>Get the timeStamp field.</dd>
|
||||
<dt>getAlarm</dt>
|
||||
<dd>Get the alarm field.</dd>
|
||||
<dt>getNames</dt>
|
||||
<dd>Get the names field.</dd>
|
||||
<dt>getValues</dt>
|
||||
<dd>Get the values field.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>NTTable</h3>
|
||||
|
||||
<p>These are helper classes for NTTable</p>
|
||||
<pre>class NTTable: private NoDefaultMethods
|
||||
{
|
||||
public:
|
||||
static bool isNTTable(PVStructurePtr const & pvStructure);
|
||||
static PVStructure::shared_pointer create(
|
||||
bool hasFunction,bool hasTimeStamp, bool hasAlarm,
|
||||
int numberValues,
|
||||
FieldConstPtrArray valueFields);
|
||||
static NTTablePtr create(
|
||||
bool hasFunction,bool hasTimeStamp, bool hasAlarm,
|
||||
StringArray const & valueNames,
|
||||
FieldConstPtrArray const &valueFields);
|
||||
static NTTablePtr clone(PVStructurePtr const &);
|
||||
~NTTable();
|
||||
PVStringPtr getFunction();
|
||||
void attachTimeStamp(PVTimeStamp &pvTimeStamp);
|
||||
void attachAlarm(PVAlarm &pvAlarm);
|
||||
PVStructurePtr getPVStructure();
|
||||
PVStructurePtr getTimeStamp();
|
||||
PVStructurePtr getAlarm();
|
||||
PVStringArrayPtr getLabel();
|
||||
size_t getNumberValues();
|
||||
FieldConstPtr getField(int index);
|
||||
PVFieldPtr getPVField(int index);
|
||||
};</pre>
|
||||
|
||||
<p>where</p>
|
||||
<dl>
|
||||
<dt>isNTTable</dt>
|
||||
<dd>y</dd>
|
||||
<dt>create</dt>
|
||||
<dd>Create an NTTable that has the associated fields.</dd>
|
||||
<dt>~NTTable</dt>
|
||||
<dd>The destructor.</dd>
|
||||
<dt>getFunction</dt>
|
||||
<dd>Get the function field. This can be null.</dd>
|
||||
<dt>attachTimeStamp</dt>
|
||||
<dd>The timeStamp field of the NTTable is atttached to the pvTimeStamp.</dd>
|
||||
<dt>attachAlarm</dt>
|
||||
<dd>The alarm field of the NTTable is atttached to the alarm.</dd>
|
||||
<dt>getPVStructure</dt>
|
||||
<dd>Get the pvStructure that this NTTable contains.</dd>
|
||||
<dt>getTimeStamp</dt>
|
||||
<dd>Get the timeStamp field.</dd>
|
||||
<dt>getAlarm</dt>
|
||||
<dd>Get the alarm field.</dd>
|
||||
<dt>getLabel</dt>
|
||||
<dd>Get the label field.</dd>
|
||||
<dt>getNumberValues</dt>
|
||||
<dd>Get the number of value fields.</dd>
|
||||
<dt>getField</dt>
|
||||
<dd>Get the introspection interface for the specified field.</dd>
|
||||
<dt>getPVField</dt>
|
||||
<dd>Get the data field for the specified field.</dd>
|
||||
</dl>
|
||||
|
||||
<h2>MTMultiChannel</h2>
|
||||
<pre>
|
||||
structure NTMultiChannel
|
||||
union_t[] value
|
||||
string[] channelName
|
||||
time_t timeStamp :opt // time when data collected
|
||||
alarm_t alarm :opt // alarm associated with data collection
|
||||
int[] severity :opt // alarm severity for each value
|
||||
int[] status :opt // alarm status for each value
|
||||
string[] message :opt // alarm message for each value
|
||||
long[] secondsPastEpoch :opt // seconds for each value.
|
||||
int[] nanoseconds :opt // nanoseconds for each value
|
||||
string descriptor :opt // descriptor data
|
||||
</pre>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
1473
documentation/ntCPP_20140919.html
Normal file
1473
documentation/ntCPP_20140919.html
Normal file
File diff suppressed because it is too large
Load Diff
1490
documentation/ntCPP_20141009.html
Normal file
1490
documentation/ntCPP_20141009.html
Normal file
File diff suppressed because it is too large
Load Diff
1516
documentation/ntCPP_20151016.html
Normal file
1516
documentation/ntCPP_20151016.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,43 +6,20 @@
|
||||
#
|
||||
# Author: Ralph Lange <ralph.lange@gmx.de>
|
||||
# Copyright (C) 2013 Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
|
||||
# Copyright (C) 2014-2016 ITER Organization.
|
||||
# Copyright (C) 2014-2015 ITER Organization.
|
||||
# All rights reserved. Use is subject to license terms.
|
||||
|
||||
installTool () {
|
||||
local module=$1
|
||||
local version=$2
|
||||
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/${module}-${version}_Build/lastSuccessfulBuild/artifact/${module,,}-${version}.CB-dist.tar.gz
|
||||
tar -xzf ${module,,}-${version}.CB-dist.tar.gz
|
||||
}
|
||||
|
||||
installE4 () {
|
||||
local module=$1
|
||||
local branch=$2
|
||||
|
||||
# If microbench version does not exist, try without
|
||||
if [ "${MB}" = "WITH_MICROBENCH" ]; then
|
||||
if ! wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-${module}-${branch}-build/BASE=${BASE},MB=WITH_MICROBENCH/lastSuccessfulBuild/artifact/${module}.CB-dist.tar.gz; then
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-${module}-${branch}-build/BASE=${BASE},MB=NO_MICROBENCH/lastSuccessfulBuild/artifact/${module}.CB-dist.tar.gz
|
||||
fi
|
||||
else
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-${module}-${branch}-build/BASE=${BASE},MB=NO_MICROBENCH/lastSuccessfulBuild/artifact/${module}.CB-dist.tar.gz
|
||||
fi
|
||||
tar -xzf ${module}.CB-dist.tar.gz
|
||||
}
|
||||
|
||||
###########################################
|
||||
# Defaults for EPICS Base and MB
|
||||
# Determine EPICS Base version
|
||||
|
||||
DEFAULT_BASE=3.15.4
|
||||
BASE=${BASE:-${DEFAULT_BASE}}
|
||||
MB=${MB:-"NO_MICROBENCH"}
|
||||
DEFAULT_BASE=3.14.12.5
|
||||
|
||||
###########################################
|
||||
# Dependent module branches
|
||||
BASE=${1:-${DEFAULT_BASE}}
|
||||
USE_MB=${2:-"MB_NO"}
|
||||
|
||||
PVDATA_BRANCH="release-6.0"
|
||||
# Dependent module branches (empty = master)
|
||||
PVCOMMON_BRANCH="Release-4.1-"
|
||||
PVDATA_BRANCH="Release-5.0-"
|
||||
|
||||
###########################################
|
||||
# Fetch and unpack dependencies
|
||||
@@ -53,10 +30,15 @@ rm -fr ${STUFF}
|
||||
mkdir -p ${STUFF}
|
||||
cd ${STUFF}
|
||||
|
||||
installTool Boost 1.61.0
|
||||
installTool Base ${BASE}
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/Base-${BASE}_Build/lastSuccessfulBuild/artifact/base-${BASE}.CB-dist.tar.gz
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/pvDataCPP_${PVDATA_BRANCH}Build/BASE=${BASE},USE_MB=MB_NO/lastSuccessfulBuild/artifact/pvData.CB-dist.tar.gz
|
||||
tar -xzf base-${BASE}.CB-dist.tar.gz
|
||||
tar -xzf pvData.CB-dist.tar.gz
|
||||
|
||||
installE4 pvData ${PVDATA_BRANCH}
|
||||
if [ "${USE_MB}" = "MB_YES" ]; then
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/pvCommonCPP_${PVCOMMON_BRANCH}Build/BASE=${BASE},USE_MB=MB_YES/lastSuccessfulBuild/artifact/pvCommon.CB-dist.tar.gz
|
||||
tar -xzf pvCommon.CB-dist.tar.gz
|
||||
fi
|
||||
|
||||
###########################################
|
||||
# Build
|
||||
|
||||
@@ -6,39 +6,14 @@
|
||||
#
|
||||
# Author: Ralph Lange <ralph.lange@gmx.de>
|
||||
# Copyright (C) 2013 Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
|
||||
# Copyright (C) 2014-2016 ITER Organization.
|
||||
# Copyright (C) 2014-2015 ITER Organization.
|
||||
# All rights reserved. Use is subject to license terms.
|
||||
|
||||
installTool () {
|
||||
local module=$1
|
||||
local version=$2
|
||||
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/${module}-${version}_Build/lastSuccessfulBuild/artifact/${module,,}-${version}.CB-dist.tar.gz
|
||||
tar -xzf ${module,,}-${version}.CB-dist.tar.gz
|
||||
}
|
||||
|
||||
installE4 () {
|
||||
local module=$1
|
||||
local branch=$2
|
||||
|
||||
# If microbench version does not exist, try without
|
||||
if [ "${MB}" = "WITH_MICROBENCH" ]; then
|
||||
if wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-${module}-${branch}-build/BASE=${BASE},MB=WITH_MICROBENCH/lastSuccessfulBuild/artifact/${module}.CB-dist.tar.gz; then
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-${module}-${branch}-build/BASE=${BASE},MB=NO_MICROBENCH/lastSuccessfulBuild/artifact/${module}.CB-dist.tar.gz
|
||||
fi
|
||||
else
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/e4-cpp-${module}-${branch}-build/BASE=${BASE},MB=NO_MICROBENCH/lastSuccessfulBuild/artifact/${module}.CB-dist.tar.gz
|
||||
fi
|
||||
tar -xzf ${module}.CB-dist.tar.gz
|
||||
}
|
||||
|
||||
###########################################
|
||||
# Defaults for EPICS Base and parameters
|
||||
# Set EPICS Base version and upload target
|
||||
|
||||
BASE=3.15.4
|
||||
PUBLISH=${PUBLISH:-NO}
|
||||
BRANCH=${BRANCH:-master}
|
||||
MB=NO_MICROBENCH
|
||||
BASE=3.15.2
|
||||
PUBLISH=${1:-DONT}
|
||||
|
||||
###########################################
|
||||
# Fetch and unpack dependencies
|
||||
@@ -49,14 +24,16 @@ rm -fr ${STUFF}
|
||||
mkdir -p ${STUFF}
|
||||
cd ${STUFF}
|
||||
|
||||
installTool Doxygen 1.8.11
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/Doxygen-1.8.3_Build/lastSuccessfulBuild/artifact/doxygen-1.8.3.CB-dist.tar.gz
|
||||
tar -xzf doxygen-1.8.3.CB-dist.tar.gz
|
||||
|
||||
###########################################
|
||||
# Generate
|
||||
|
||||
cd ${WORKSPACE}
|
||||
|
||||
installE4 normativeTypes ${BRANCH}
|
||||
wget -nv https://openepics.ci.cloudbees.com/job/normativeTypesCPP_Build/BASE=${BASE},USE_MB=MB_NO/lastSuccessfulBuild/artifact/normativeTypes.CB-dist.tar.gz
|
||||
tar -xzf normativeTypes.CB-dist.tar.gz
|
||||
|
||||
export PATH=${STUFF}/bin:${PATH}
|
||||
|
||||
@@ -65,9 +42,10 @@ doxygen
|
||||
###########################################
|
||||
# Publish
|
||||
|
||||
if [ "${PUBLISH}" != "NO" ]; then
|
||||
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/normativeTypesCPP/${PUBLISH}/
|
||||
|
||||
rsync -aqP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/normativeTypesCPP/${PUBLISH}/
|
||||
fi
|
||||
|
||||
47
src/Makefile
47
src/Makefile
@@ -1,26 +1,30 @@
|
||||
TOP = ..
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
INC += pv/nt.h
|
||||
INC += pv/ntutils.h
|
||||
INC += pv/ntid.h
|
||||
INC += pv/ntfield.h
|
||||
INC += pv/ntscalar.h
|
||||
INC += pv/ntscalarArray.h
|
||||
INC += pv/ntnameValue.h
|
||||
INC += pv/nttable.h
|
||||
INC += pv/ntmultiChannel.h
|
||||
INC += pv/ntscalarMultiChannel.h
|
||||
INC += pv/ntndarray.h
|
||||
INC += pv/ntmatrix.h
|
||||
INC += pv/ntenum.h
|
||||
INC += pv/ntunion.h
|
||||
INC += pv/ntaggregate.h
|
||||
INC += pv/ntattribute.h
|
||||
INC += pv/ntcontinuum.h
|
||||
INC += pv/nthistogram.h
|
||||
INC += pv/nturi.h
|
||||
INC += pv/ntndarrayAttribute.h
|
||||
SRC = $(TOP)/src
|
||||
|
||||
SRC_DIRS += $(SRC)/nt
|
||||
|
||||
INC += nt.h
|
||||
INC += ntutils.h
|
||||
INC += ntid.h
|
||||
INC += ntfield.h
|
||||
INC += ntscalar.h
|
||||
INC += ntscalarArray.h
|
||||
INC += ntnameValue.h
|
||||
INC += nttable.h
|
||||
INC += ntmultiChannel.h
|
||||
INC += ntscalarMultiChannel.h
|
||||
INC += ntndarray.h
|
||||
INC += ntmatrix.h
|
||||
INC += ntenum.h
|
||||
INC += ntunion.h
|
||||
INC += ntaggregate.h
|
||||
INC += ntattribute.h
|
||||
INC += ntcontinuum.h
|
||||
INC += nthistogram.h
|
||||
INC += nturi.h
|
||||
INC += ntndarrayAttribute.h
|
||||
|
||||
LIBSRCS += ntutils.cpp
|
||||
LIBSRCS += ntid.cpp
|
||||
@@ -46,8 +50,5 @@ LIBRARY = nt
|
||||
|
||||
nt_LIBS += pvData Com
|
||||
|
||||
# shared library ABI version.
|
||||
SHRLIB_VERSION ?= 5.1
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/* nt.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NT_H
|
||||
#define NT_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntaggregate.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -186,12 +187,6 @@ bool NTAggregate::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTAggregate::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
|
||||
bool NTAggregate::isCompatible(StructureConstPtr const &structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntaggregate.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTAGGREGATE_H
|
||||
#define NTAGGREGATE_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntattribute.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -123,11 +124,6 @@ bool NTAttribute::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTAttribute::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTAttribute::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntattribute.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTATTRIBUTE_H
|
||||
#define NTATTRIBUTE_H
|
||||
@@ -44,7 +45,7 @@ namespace detail {
|
||||
* Adds tags field to the NTAttribute.
|
||||
* @return this instance of <b>NTAttributeBuilder</b>.
|
||||
*/
|
||||
shared_pointer addTags();
|
||||
virtual shared_pointer addTags();
|
||||
|
||||
/**
|
||||
* Adds descriptor field to the NTAttribute.
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntcontinuum.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -115,11 +116,6 @@ bool NTContinuum::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTContinuum::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTContinuum::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntcontinuum.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTCONTINUUM_H
|
||||
#define NTCONTINUUM_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntenum.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -114,11 +115,6 @@ bool NTEnum::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTEnum::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTEnum::isCompatible(StructureConstPtr const &structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntenum.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTENUM_H
|
||||
#define NTENUM_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntfield.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <pv/lock.h>
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntfield.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTFIELD_H
|
||||
#define NTFIELD_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntcontinuum.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -128,11 +129,6 @@ bool NTHistogram::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTHistogram::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTHistogram::isCompatible(StructureConstPtr const &structure)
|
||||
{
|
||||
if(!structure.get()) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* nthistogram.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTHISTOGRAM_H
|
||||
#define NTHISTOGRAM_H
|
||||
@@ -1,7 +1,7 @@
|
||||
/* ntid.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <pv/ntid.h>
|
||||
@@ -1,7 +1,7 @@
|
||||
/* ntid.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTID_H
|
||||
#define NTID_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntmatrix.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -132,11 +133,6 @@ bool NTMatrix::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTMatrix::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTMatrix::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntmatrix.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTMATRIX_H
|
||||
#define NTMATRIX_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntmultiChannel.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
@@ -225,10 +226,6 @@ bool NTMultiChannel::is_a(StructureConstPtr const &structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTMultiChannel::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTMultiChannel::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntmultiChannel.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTMULTICHANNEL_H
|
||||
#define NTMULTICHANNEL_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntnameValue.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -127,11 +128,6 @@ bool NTNameValue::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTNameValue::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTNameValue::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntnameValue.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTNAMEVALUE_H
|
||||
#define NTNAMEVALUE_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntndarray.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
@@ -295,11 +296,6 @@ bool NTNDArray::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTNDArray::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTNDArray::isCompatible(StructureConstPtr const &structure)
|
||||
{
|
||||
if(!structure.get()) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntndarray.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTNDARRAY_H
|
||||
#define NTNDARRAY_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntndarrayAttribute.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -126,11 +127,6 @@ bool NTNDArrayAttribute::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTNDArrayAttribute::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTNDArrayAttribute::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (!NTAttribute::isCompatible(structure)) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntndarrayAttribute.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTNDARRAYATTRIBUTE_H
|
||||
#define NTNDARRAYATTRIBUTE_H
|
||||
@@ -44,7 +45,7 @@ namespace detail {
|
||||
* Adds tags field to the NTNDArrayAttribute.
|
||||
* @return this instance of <b>NTNDArrayAttributeBuilder</b>.
|
||||
*/
|
||||
shared_pointer addTags();
|
||||
virtual shared_pointer addTags();
|
||||
|
||||
/**
|
||||
* Adds descriptor field to the NTNDArrayAttribute.
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntscalar.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -145,11 +146,6 @@ bool NTScalar::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTScalar::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTScalar::isCompatible(StructureConstPtr const &structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntscalar.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTSCALAR_H
|
||||
#define NTSCALAR_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntscalarArray.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -154,11 +155,6 @@ bool NTScalarArray::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTScalarArray::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTScalarArray::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntscalarArray.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTSCALARARRAY_H
|
||||
#define NTSCALARARRAY_H
|
||||
@@ -1,8 +1,10 @@
|
||||
/* ntscalarMultiChannel.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -221,10 +223,6 @@ bool NTScalarMultiChannel::is_a(StructureConstPtr const &structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTScalarMultiChannel::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTScalarMultiChannel::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntscalarMultiChannel.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTSCALARMULTICHANNEL_H
|
||||
#define NTSCALARMULTICHANNEL_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* nttable.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
@@ -142,11 +143,6 @@ bool NTTable::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTTable::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTTable::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (!structure.get()) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* nttable.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTTABLE_H
|
||||
#define NTTABLE_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntunion.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -18,12 +19,6 @@ 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 =
|
||||
@@ -121,11 +116,6 @@ bool NTUnion::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTUnion::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTUnion::isCompatible(StructureConstPtr const &structure)
|
||||
{
|
||||
if (structure.get() == 0) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntunion.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTUNION_H
|
||||
#define NTUNION_H
|
||||
@@ -40,14 +41,6 @@ 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>.
|
||||
@@ -1,7 +1,8 @@
|
||||
/* nturi.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <algorithm>
|
||||
@@ -142,11 +143,6 @@ bool NTURI::is_a(StructureConstPtr const & structure)
|
||||
return NTUtils::is_a(structure->getID(), URI);
|
||||
}
|
||||
|
||||
bool NTURI::is_a(PVStructurePtr const & pvStructure)
|
||||
{
|
||||
return is_a(pvStructure->getStructure());
|
||||
}
|
||||
|
||||
bool NTURI::isCompatible(StructureConstPtr const & structure)
|
||||
{
|
||||
if (!structure.get()) return false;
|
||||
@@ -1,7 +1,8 @@
|
||||
/* nturi.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTURI_H
|
||||
#define NTURI_H
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntutils.cpp */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
@@ -1,7 +1,8 @@
|
||||
/* ntutils.h */
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
#ifndef NTUTILS_H
|
||||
#define NTUTILS_H
|
||||
@@ -1,80 +1,5 @@
|
||||
TOP=..
|
||||
|
||||
TOP = ..
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
PROD_LIBS += nt pvData Com
|
||||
|
||||
TESTPROD_HOST += ntfieldTest
|
||||
ntfieldTest_SRCS += ntfieldTest.cpp
|
||||
TESTS += ntfieldTest
|
||||
|
||||
TESTPROD_HOST += ntscalarTest
|
||||
ntscalarTest_SRCS += ntscalarTest.cpp
|
||||
TESTS += ntscalarTest
|
||||
|
||||
TESTPROD_HOST += ntscalarArrayTest
|
||||
ntscalarArrayTest_SRCS += ntscalarArrayTest.cpp
|
||||
TESTS += ntscalarArrayTest
|
||||
|
||||
TESTPROD_HOST += ntnameValueTest
|
||||
ntnameValueTest_SRCS += ntnameValueTest.cpp
|
||||
TESTS += ntnameValueTest
|
||||
|
||||
TESTPROD_HOST += ntmultiChannelTest
|
||||
ntmultiChannelTest_SRCS += ntmultiChannelTest.cpp
|
||||
TESTS += ntmultiChannelTest
|
||||
|
||||
TESTPROD_HOST += ntscalarMultiChannelTest
|
||||
ntscalarMultiChannelTest_SRCS += ntscalarMultiChannelTest.cpp
|
||||
TESTS += ntscalarMultiChannelTest
|
||||
|
||||
TESTPROD_HOST += nttableTest
|
||||
nttableTest_SRCS = nttableTest.cpp
|
||||
TESTS += nttableTest
|
||||
|
||||
TESTPROD_HOST += ntndarrayTest
|
||||
ntndarrayTest_SRCS = ntndarrayTest.cpp
|
||||
TESTS += ntndarrayTest
|
||||
|
||||
TESTPROD_HOST += ntmatrixTest
|
||||
ntmatrixTest_SRCS = ntmatrixTest.cpp
|
||||
TESTS += ntmatrixTest
|
||||
|
||||
TESTPROD_HOST += ntenumTest
|
||||
ntenumTest_SRCS = ntenumTest.cpp
|
||||
TESTS += ntenumTest
|
||||
|
||||
TESTPROD_HOST += ntunionTest
|
||||
ntunionTest_SRCS = ntunionTest.cpp
|
||||
TESTS += ntunionTest
|
||||
|
||||
TESTPROD_HOST += ntaggregateTest
|
||||
ntaggregateTest_SRCS = ntaggregateTest.cpp
|
||||
TESTS += ntaggregateTest
|
||||
|
||||
TESTPROD_HOST += ntattributeTest
|
||||
ntattributeTest_SRCS = ntattributeTest.cpp
|
||||
TESTS += ntattributeTest
|
||||
|
||||
TESTPROD_HOST += ntndarrayAttributeTest
|
||||
ntndarrayAttributeTest_SRCS = ntndarrayAttributeTest.cpp
|
||||
TESTS += ntndarrayAttributeTest
|
||||
|
||||
TESTPROD_HOST += ntcontinuumTest
|
||||
ntcontinuumTest = ntcontinuumTest.cpp
|
||||
TESTS += ntcontinuumTest
|
||||
|
||||
TESTPROD_HOST += nthistogramTest
|
||||
nthistogramTest_SRCS = nthistogramTest.cpp
|
||||
TESTS += nthistogramTest
|
||||
|
||||
TESTPROD_HOST += ntutilsTest
|
||||
ntutilsTest_SRCS = ntutilsTest.cpp
|
||||
TESTS += ntutilsTest
|
||||
|
||||
TESTSCRIPTS_HOST += $(TESTS:%=%.t)
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
# ADD RULES AFTER THIS LINE
|
||||
DIRS += nt
|
||||
include $(TOP)/configure/RULES_DIRS
|
||||
|
||||
|
||||
80
test/nt/Makefile
Normal file
80
test/nt/Makefile
Normal file
@@ -0,0 +1,80 @@
|
||||
TOP=../..
|
||||
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
PROD_LIBS += nt pvData Com
|
||||
|
||||
TESTPROD_HOST += ntfieldTest
|
||||
ntfieldTest_SRCS += ntfieldTest.cpp
|
||||
TESTS += ntfieldTest
|
||||
|
||||
TESTPROD_HOST += ntscalarTest
|
||||
ntscalarTest_SRCS += ntscalarTest.cpp
|
||||
TESTS += ntscalarTest
|
||||
|
||||
TESTPROD_HOST += ntscalarArrayTest
|
||||
ntscalarArrayTest_SRCS += ntscalarArrayTest.cpp
|
||||
TESTS += ntscalarArrayTest
|
||||
|
||||
TESTPROD_HOST += ntnameValueTest
|
||||
ntnameValueTest_SRCS += ntnameValueTest.cpp
|
||||
TESTS += ntnameValueTest
|
||||
|
||||
TESTPROD_HOST += ntmultiChannelTest
|
||||
ntmultiChannelTest_SRCS += ntmultiChannelTest.cpp
|
||||
TESTS += ntmultiChannelTest
|
||||
|
||||
TESTPROD_HOST += ntscalarMultiChannelTest
|
||||
ntscalarMultiChannelTest_SRCS += ntscalarMultiChannelTest.cpp
|
||||
TESTS += ntscalarMultiChannelTest
|
||||
|
||||
TESTPROD_HOST += nttableTest
|
||||
nttableTest_SRCS = nttableTest.cpp
|
||||
TESTS += nttableTest
|
||||
|
||||
TESTPROD_HOST += ntndarrayTest
|
||||
ntndarrayTest_SRCS = ntndarrayTest.cpp
|
||||
TESTS += ntndarrayTest
|
||||
|
||||
TESTPROD_HOST += ntmatrixTest
|
||||
ntmatrixTest_SRCS = ntmatrixTest.cpp
|
||||
TESTS += ntmatrixTest
|
||||
|
||||
TESTPROD_HOST += ntenumTest
|
||||
ntenumTest_SRCS = ntenumTest.cpp
|
||||
TESTS += ntenumTest
|
||||
|
||||
TESTPROD_HOST += ntunionTest
|
||||
ntunionTest_SRCS = ntunionTest.cpp
|
||||
TESTS += ntunionTest
|
||||
|
||||
TESTPROD_HOST += ntaggregateTest
|
||||
ntaggregateTest_SRCS = ntaggregateTest.cpp
|
||||
TESTS += ntaggregateTest
|
||||
|
||||
TESTPROD_HOST += ntattributeTest
|
||||
ntattributeTest_SRCS = ntattributeTest.cpp
|
||||
TESTS += ntattributeTest
|
||||
|
||||
TESTPROD_HOST += ntndarrayAttributeTest
|
||||
ntndarrayAttributeTest_SRCS = ntndarrayAttributeTest.cpp
|
||||
TESTS += ntndarrayAttributeTest
|
||||
|
||||
TESTPROD_HOST += ntcontinuumTest
|
||||
ntattributeTest_SRCS = ntcontinuumTest.cpp
|
||||
TESTS += ntcontinuumTest
|
||||
|
||||
TESTPROD_HOST += nthistogramTest
|
||||
ntattributeTest_SRCS = nthistogramTest.cpp
|
||||
TESTS += nthistogramTest
|
||||
|
||||
TESTPROD_HOST += ntutilsTest
|
||||
ntutilsTest_SRCS = ntutilsTest.cpp
|
||||
TESTS += ntutilsTest
|
||||
|
||||
TESTSCRIPTS_HOST += $(TESTS:%=%.t)
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
# ADD RULES AFTER THIS LINE
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -65,9 +66,6 @@ void test_ntaggregate()
|
||||
create();
|
||||
testOk1(ntAggregate.get() != 0);
|
||||
|
||||
testOk1(NTAggregate::is_a(ntAggregate->getPVStructure()));
|
||||
testOk1(NTAggregate::isCompatible(ntAggregate->getPVStructure()));
|
||||
|
||||
testOk1(ntAggregate->getPVStructure().get() != 0);
|
||||
testOk1(ntAggregate->getValue().get() != 0);
|
||||
testOk1(ntAggregate->getDescriptor().get() != 0);
|
||||
@@ -167,7 +165,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTAggregate) {
|
||||
testPlan(30);
|
||||
testPlan(28);
|
||||
test_builder();
|
||||
test_ntaggregate();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*
|
||||
*/
|
||||
#include <epicsUnitTest.h>
|
||||
#include <testMain.h>
|
||||
@@ -74,9 +76,6 @@ void test_ntattribute()
|
||||
create();
|
||||
testOk1(ntAttribute.get() != 0);
|
||||
|
||||
testOk1(NTAttribute::is_a(ntAttribute->getPVStructure()));
|
||||
testOk1(NTAttribute::isCompatible(ntAttribute->getPVStructure()));
|
||||
|
||||
testOk1(ntAttribute->getPVStructure().get() != 0);
|
||||
testOk1(ntAttribute->getName().get() != 0);
|
||||
testOk1(ntAttribute->getValue().get() != 0);
|
||||
@@ -167,7 +166,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTAttribute) {
|
||||
testPlan(35);
|
||||
testPlan(33);
|
||||
test_builder();
|
||||
test_ntattribute();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -71,9 +72,6 @@ void test_ntcontinuum()
|
||||
create();
|
||||
testOk1(ntContinuum.get() != 0);
|
||||
|
||||
testOk1(NTContinuum::is_a(ntContinuum->getPVStructure()));
|
||||
testOk1(NTContinuum::isCompatible(ntContinuum->getPVStructure()));
|
||||
|
||||
testOk1(ntContinuum->getPVStructure().get() != 0);
|
||||
testOk1(ntContinuum->getDescriptor().get() != 0);
|
||||
testOk1(ntContinuum->getAlarm().get() != 0);
|
||||
@@ -267,7 +265,7 @@ void test_extra()
|
||||
|
||||
|
||||
MAIN(testNTContinuum) {
|
||||
testPlan(61);
|
||||
testPlan(59);
|
||||
test_builder();
|
||||
test_ntcontinuum();
|
||||
test_wrap();
|
||||
@@ -1,7 +1,9 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
#include <testMain.h>
|
||||
|
||||
@@ -65,9 +67,6 @@ void test_ntenum()
|
||||
create();
|
||||
testOk1(ntEnum.get() != 0);
|
||||
|
||||
testOk1(NTEnum::is_a(ntEnum->getPVStructure()));
|
||||
testOk1(NTEnum::isCompatible(ntEnum->getPVStructure()));
|
||||
|
||||
testOk1(ntEnum->getPVStructure().get() != 0);
|
||||
testOk1(ntEnum->getValue().get() != 0);
|
||||
testOk1(ntEnum->getDescriptor().get() != 0);
|
||||
@@ -179,7 +178,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTEnum) {
|
||||
testPlan(32);
|
||||
testPlan(30);
|
||||
test_builder();
|
||||
test_ntenum();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
/*
|
||||
* ntfieldTest.cpp
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -83,9 +84,6 @@ void test_nthistogram()
|
||||
create();
|
||||
testOk1(ntHistogram.get() != 0);
|
||||
|
||||
testOk1(NTHistogram::is_a(ntHistogram->getPVStructure()));
|
||||
testOk1(NTHistogram::isCompatible(ntHistogram->getPVStructure()));
|
||||
|
||||
testOk1(ntHistogram->getPVStructure().get() != 0);
|
||||
testOk1(ntHistogram->getDescriptor().get() != 0);
|
||||
testOk1(ntHistogram->getAlarm().get() != 0);
|
||||
@@ -252,7 +250,7 @@ void test_extra()
|
||||
|
||||
|
||||
MAIN(testNTHistogram) {
|
||||
testPlan(52);
|
||||
testPlan(50);
|
||||
test_builder();
|
||||
test_nthistogram();
|
||||
test_wrap();
|
||||
@@ -1,7 +1,9 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
#include <testMain.h>
|
||||
|
||||
@@ -57,7 +59,7 @@ void test_ntmatrix()
|
||||
NTMatrixBuilderPtr builder = NTMatrix::createBuilder();
|
||||
testOk(builder.get() != 0, "Got builder");
|
||||
|
||||
NTMatrixPtr ntMatrix = builder->
|
||||
NTMatrixPtr ntScalarArray = builder->
|
||||
//arrayValue(pvInt)->
|
||||
addDim()->
|
||||
addDescriptor()->
|
||||
@@ -65,18 +67,15 @@ void test_ntmatrix()
|
||||
addTimeStamp()->
|
||||
addDisplay()->
|
||||
create();
|
||||
testOk1(ntMatrix.get() != 0);
|
||||
testOk1(ntScalarArray.get() != 0);
|
||||
|
||||
testOk1(NTMatrix::is_a(ntMatrix->getPVStructure()));
|
||||
testOk1(NTMatrix::isCompatible(ntMatrix->getPVStructure()));
|
||||
|
||||
testOk1(ntMatrix->getPVStructure().get() != 0);
|
||||
testOk1(ntMatrix->getValue().get() != 0);
|
||||
testOk1(ntMatrix->getDim().get() != 0);
|
||||
testOk1(ntMatrix->getDescriptor().get() != 0);
|
||||
testOk1(ntMatrix->getAlarm().get() != 0);
|
||||
testOk1(ntMatrix->getTimeStamp().get() != 0);
|
||||
testOk1(ntMatrix->getDisplay().get() != 0);
|
||||
testOk1(ntScalarArray->getPVStructure().get() != 0);
|
||||
testOk1(ntScalarArray->getValue().get() != 0);
|
||||
testOk1(ntScalarArray->getDim().get() != 0);
|
||||
testOk1(ntScalarArray->getDescriptor().get() != 0);
|
||||
testOk1(ntScalarArray->getAlarm().get() != 0);
|
||||
testOk1(ntScalarArray->getTimeStamp().get() != 0);
|
||||
testOk1(ntScalarArray->getDisplay().get() != 0);
|
||||
|
||||
//
|
||||
// example how to set values
|
||||
@@ -86,7 +85,7 @@ void test_ntmatrix()
|
||||
newValues.push_back(2.0);
|
||||
newValues.push_back(8.0);
|
||||
|
||||
PVDoubleArrayPtr pvValueField = ntMatrix->getValue();
|
||||
PVDoubleArrayPtr pvValueField = ntScalarArray->getValue();
|
||||
pvValueField->replace(freeze(newValues));
|
||||
|
||||
//
|
||||
@@ -103,7 +102,7 @@ void test_ntmatrix()
|
||||
// timeStamp ops
|
||||
//
|
||||
PVTimeStamp pvTimeStamp;
|
||||
if (ntMatrix->attachTimeStamp(pvTimeStamp))
|
||||
if (ntScalarArray->attachTimeStamp(pvTimeStamp))
|
||||
{
|
||||
testPass("timeStamp attach");
|
||||
|
||||
@@ -124,7 +123,7 @@ void test_ntmatrix()
|
||||
// alarm ops
|
||||
//
|
||||
PVAlarm pvAlarm;
|
||||
if (ntMatrix->attachAlarm(pvAlarm))
|
||||
if (ntScalarArray->attachAlarm(pvAlarm))
|
||||
{
|
||||
testPass("alarm attach");
|
||||
|
||||
@@ -142,7 +141,7 @@ void test_ntmatrix()
|
||||
// display ops
|
||||
//
|
||||
PVDisplay pvDisplay;
|
||||
if (ntMatrix->attachDisplay(pvDisplay))
|
||||
if (ntScalarArray->attachDisplay(pvDisplay))
|
||||
{
|
||||
testPass("display attach");
|
||||
|
||||
@@ -161,10 +160,10 @@ void test_ntmatrix()
|
||||
//
|
||||
// set descriptor
|
||||
//
|
||||
ntMatrix->getDescriptor()->put("This is a test NTMatrix");
|
||||
ntScalarArray->getDescriptor()->put("This is a test NTMatrix");
|
||||
|
||||
// dump ntMatrix
|
||||
std::cout << *ntMatrix->getPVStructure() << std::endl;
|
||||
// dump ntScalarArray
|
||||
std::cout << *ntScalarArray->getPVStructure() << std::endl;
|
||||
|
||||
}
|
||||
|
||||
@@ -202,7 +201,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTMatrix) {
|
||||
testPlan(38);
|
||||
testPlan(36);
|
||||
test_builder();
|
||||
test_ntmatrix();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
/*
|
||||
* ntmutiChannelTest.cpp
|
||||
@@ -53,9 +54,6 @@ static void test()
|
||||
create();
|
||||
testOk1(multiChannel.get() != 0);
|
||||
|
||||
testOk1(NTMultiChannel::is_a(multiChannel->getPVStructure()));
|
||||
testOk1(NTMultiChannel::isCompatible(multiChannel->getPVStructure()));
|
||||
|
||||
PVStructurePtr pvStructure = multiChannel->getPVStructure();
|
||||
testOk1(pvStructure.get()!=NULL);
|
||||
testOk1(NTMultiChannel::is_a(pvStructure->getStructure()));
|
||||
@@ -188,7 +186,7 @@ void test_wrap()
|
||||
|
||||
MAIN(testCreateRequest)
|
||||
{
|
||||
testPlan(27);
|
||||
testPlan(25);
|
||||
test();
|
||||
test_wrap();
|
||||
return testDone();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -80,9 +81,6 @@ void test_ntnameValue()
|
||||
create();
|
||||
testOk1(ntNameValue.get() != 0);
|
||||
|
||||
testOk1(NTNameValue::is_a(ntNameValue->getPVStructure()));
|
||||
testOk1(NTNameValue::isCompatible(ntNameValue->getPVStructure()));
|
||||
|
||||
testOk1(ntNameValue->getPVStructure().get() != 0);
|
||||
testOk1(ntNameValue->getDescriptor().get() != 0);
|
||||
testOk1(ntNameValue->getAlarm().get() != 0);
|
||||
@@ -247,7 +245,7 @@ void test_extra()
|
||||
|
||||
|
||||
MAIN(testNTNameValue) {
|
||||
testPlan(50);
|
||||
testPlan(48);
|
||||
test_builder();
|
||||
test_ntnameValue();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,8 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*
|
||||
*/
|
||||
#include <epicsUnitTest.h>
|
||||
#include <testMain.h>
|
||||
@@ -74,9 +76,6 @@ void test_ntndarrayAttribute()
|
||||
create();
|
||||
testOk1(ntNDArrayAttribute.get() != 0);
|
||||
|
||||
testOk1(NTNDArrayAttribute::is_a(ntNDArrayAttribute->getPVStructure()));
|
||||
testOk1(NTNDArrayAttribute::isCompatible(ntNDArrayAttribute->getPVStructure()));
|
||||
|
||||
testOk1(ntNDArrayAttribute->getPVStructure().get() != 0);
|
||||
testOk1(ntNDArrayAttribute->getName().get() != 0);
|
||||
testOk1(ntNDArrayAttribute->getValue().get() != 0);
|
||||
@@ -169,7 +168,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTNDArrayAttribute) {
|
||||
testPlan(39);
|
||||
testPlan(37);
|
||||
test_builder();
|
||||
test_ntndarrayAttribute();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -74,7 +75,7 @@ void test_all()
|
||||
add("extra1",fieldCreate->createScalar(pvString)) ->
|
||||
add("extra2",fieldCreate->createScalarArray(pvString)) ->
|
||||
createPVStructure();
|
||||
testOk1(NTNDArray::is_a(pvStructure)==true);
|
||||
std::cout << *pvStructure << std::endl;
|
||||
testOk1(NTNDArray::isCompatible(pvStructure)==true);
|
||||
}
|
||||
|
||||
@@ -112,7 +113,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTNDArray) {
|
||||
testPlan(60);
|
||||
testPlan(59);
|
||||
test_builder(true);
|
||||
test_builder(false);
|
||||
test_builder(false); // called twice to test caching
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -83,9 +84,6 @@ void test_ntscalarArray()
|
||||
create();
|
||||
testOk1(ntScalarArray.get() != 0);
|
||||
|
||||
testOk1(NTScalarArray::is_a(ntScalarArray->getPVStructure()));
|
||||
testOk1(NTScalarArray::isCompatible(ntScalarArray->getPVStructure()));
|
||||
|
||||
testOk1(ntScalarArray->getPVStructure().get() != 0);
|
||||
testOk1(ntScalarArray->getValue().get() != 0);
|
||||
testOk1(ntScalarArray->getDescriptor().get() != 0);
|
||||
@@ -237,7 +235,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTScalarArray) {
|
||||
testPlan(40);
|
||||
testPlan(38);
|
||||
test_builder();
|
||||
test_ntscalarArray();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
/*
|
||||
* ntscalarMultiChannelTest.cpp
|
||||
@@ -53,9 +54,6 @@ static void test()
|
||||
create();
|
||||
testOk1(multiChannel.get() != 0);
|
||||
|
||||
testOk1(NTScalarMultiChannel::is_a(multiChannel->getPVStructure()));
|
||||
testOk1(NTScalarMultiChannel::isCompatible(multiChannel->getPVStructure()));
|
||||
|
||||
PVStructurePtr pvStructure = multiChannel->getPVStructure();
|
||||
testOk1(pvStructure.get()!=NULL);
|
||||
testOk1(NTScalarMultiChannel::is_a(pvStructure->getStructure()));
|
||||
@@ -175,7 +173,7 @@ void test_wrap()
|
||||
|
||||
MAIN(testCreateRequest)
|
||||
{
|
||||
testPlan(27);
|
||||
testPlan(25);
|
||||
test();
|
||||
test_wrap();
|
||||
return testDone();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -85,9 +86,6 @@ void test_ntscalar()
|
||||
create();
|
||||
testOk1(ntScalar.get() != 0);
|
||||
|
||||
testOk1(NTScalar::is_a(ntScalar->getPVStructure()));
|
||||
testOk1(NTScalar::isCompatible(ntScalar->getPVStructure()));
|
||||
|
||||
testOk1(ntScalar->getPVStructure().get() != 0);
|
||||
testOk1(ntScalar->getValue().get() != 0);
|
||||
testOk1(ntScalar->getDescriptor().get() != 0);
|
||||
@@ -228,7 +226,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTScalar) {
|
||||
testPlan(37);
|
||||
testPlan(35);
|
||||
test_builder();
|
||||
test_ntscalar();
|
||||
test_wrap();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -118,9 +119,6 @@ void test_nttable()
|
||||
create();
|
||||
testOk1(ntTable.get() != 0);
|
||||
|
||||
testOk1(NTTable::is_a(ntTable->getPVStructure()));
|
||||
testOk1(NTTable::isCompatible(ntTable->getPVStructure()));
|
||||
|
||||
testOk1(ntTable->getPVStructure().get() != 0);
|
||||
testOk1(ntTable->getDescriptor().get() != 0);
|
||||
testOk1(ntTable->getAlarm().get() != 0);
|
||||
@@ -238,7 +236,7 @@ void test_wrap()
|
||||
}
|
||||
|
||||
MAIN(testNTTable) {
|
||||
testPlan(50);
|
||||
testPlan(48);
|
||||
test_builder();
|
||||
test_labels();
|
||||
test_nttable();
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
@@ -47,6 +48,7 @@ void test_builder()
|
||||
testOk(valueField.get() != 0, "value is enum");
|
||||
|
||||
std::cout << *structure << std::endl;
|
||||
|
||||
}
|
||||
|
||||
void test_ntunion()
|
||||
@@ -63,9 +65,6 @@ void test_ntunion()
|
||||
create();
|
||||
testOk1(ntUnion.get() != 0);
|
||||
|
||||
testOk1(NTUnion::is_a(ntUnion->getPVStructure()));
|
||||
testOk1(NTUnion::isCompatible(ntUnion->getPVStructure()));
|
||||
|
||||
testOk1(ntUnion->getPVStructure().get() != 0);
|
||||
testOk1(ntUnion->getValue().get() != 0);
|
||||
testOk1(ntUnion->getDescriptor().get() != 0);
|
||||
@@ -157,43 +156,11 @@ 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(32);
|
||||
testPlan(27);
|
||||
test_builder();
|
||||
test_ntunion();
|
||||
test_wrap();
|
||||
test_variant_union();
|
||||
test_regular_union();
|
||||
return testDone();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright information and license terms for this software can be
|
||||
* found in the file LICENSE that is included with the distribution
|
||||
/**
|
||||
* Copyright - See the COPYRIGHT that is included with this distribution.
|
||||
* This software is distributed subject to a Software License Agreement found
|
||||
* in file LICENSE that is included with this distribution.
|
||||
*/
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
Reference in New Issue
Block a user