This commit is contained in:
Jeff Hill
1996-12-12 18:56:27 +00:00
parent 88c99148b2
commit 03188d0eec
6 changed files with 20 additions and 5 deletions
+1
View File
@@ -1,6 +1,7 @@
//
// Example EPICS CA server
// (asynchrronous process variable)
//
#include <exServer.h>
+2
View File
@@ -312,6 +312,7 @@ caStatus exPV::getValue(gdd &value)
//
// exPV::write()
// (synchronous default)
//
caStatus exPV::write (const casCtx &, gdd &valueIn)
{
@@ -320,6 +321,7 @@ caStatus exPV::write (const casCtx &, gdd &valueIn)
//
// exPV::read()
// (synchronous default)
//
caStatus exPV::read (const casCtx &, gdd &protoIn)
{
+5 -1
View File
@@ -75,11 +75,15 @@ void exScalarPV::scan()
// be translated into a real number?
// 2) We prefer to unreference the old PV value here and
// reference the incomming value because this will
// result in value change events each retaining an
// result in each value change events retaining an
// independent value on the event queue.
//
caStatus exScalarPV::updateValue (gdd &valueIn)
{
//
// Really no need to perform this check since the
// server lib verifies that all requests are in range
//
if (!valueIn.isScalar()) {
return S_casApp_outOfBounds;
}
+4 -1
View File
@@ -142,6 +142,9 @@ caStatus exVectorPV::updateValue(gdd &valueIn)
// (and see if we are replacing all elements -
// replaceOk==TRUE)
//
// Perhaps much of this is unnecessary since the
// server lib checks the bounds of all requests
//
if (valueIn.isAtomic()) {
if (valueIn.dimension()!=1u) {
return S_casApp_badDimension;
@@ -166,7 +169,7 @@ caStatus exVectorPV::updateValue(gdd &valueIn)
if (replFlag==replace) {
//
// It is most efficient to replace all elements
// replacing all elements is efficient
//
valueIn.reference();
pNewValue = &valueIn;