121 lines
4.4 KiB
Plaintext
121 lines
4.4 KiB
Plaintext
|
|
|
|
|
|
Changes between epics 3.13 Beta 4 and 3.13 Beta 5
|
|
|
|
**** API Change ****
|
|
o The canonical PV name is returned from caServer::pvExistTest()
|
|
in the supplied buffer and not in a gdd data descriptor. See
|
|
"casdef.h".
|
|
old API:
|
|
//
|
|
// pvExistTest()
|
|
//
|
|
// The server tool is encouraged to accept multiple PV name
|
|
// aliases for the same PV here. However, a unique canonical name
|
|
// must be selected for each PV.
|
|
//
|
|
// returns S_casApp_success and fills in canonicalPVName
|
|
// if the PV is in this server tool
|
|
//
|
|
// returns S_casApp_pvNotFound if the PV does not exist in
|
|
// the server tool
|
|
//
|
|
// The server tool returns the unique canonical name for
|
|
// the pv into the gdd. A gdd is used here because this
|
|
// operation is allowed to complete asynchronously.
|
|
//
|
|
virtual caStatus pvExistTest (const casCtx &ctx, const char *pPVName,
|
|
gdd &canonicalPVName) = 0;
|
|
new API:
|
|
//
|
|
// pvExistTest()
|
|
//
|
|
// The server tool is encouraged to accept multiple PV name
|
|
// aliases for the same PV here. However, one unique canonical name
|
|
// must be selected by the server tool and returned to the
|
|
// server lib for each PV. The server will use this canonical
|
|
// name to prevent internal duplication of data structures for
|
|
// process variables that have multiple aliases.
|
|
//
|
|
// o returns S_casApp_success and a valid canonical name string
|
|
// when the PV is in this server tool
|
|
//
|
|
// o returns S_casApp_pvNotFound if the PV does not exist in
|
|
// the server tool
|
|
//
|
|
// Examples:
|
|
// caServerXXX::pvExistTest(const casCtx &ctx, const char *pPVName)
|
|
// {
|
|
// return pvExistReturn(S_casApp_success, pPVName); // common
|
|
// return pvExistReturn(S_casApp_pvNotFound); // no PV by that name
|
|
//
|
|
// char pName[9] = "myPVName";
|
|
// return pvExistReturn(S_casApp_success, pName); // also common
|
|
// return pvExistReturn(S_casApp_asyncCompletion); // not now
|
|
// }
|
|
//
|
|
virtual pvExistReturn pvExistTest (const casCtx &ctx,
|
|
const char *pPVName)=0;
|
|
|
|
**** API Change ****
|
|
o The server tool must now use one of class casAsyncReadIO, casAsyncWriteIO, or
|
|
casAsyncPVExistIO in place of casAsyncIO. See "casdef.h".
|
|
|
|
**** API Change ****
|
|
o Virtual function prototype change:
|
|
Before: "aitEnum casPV::bestExternalType()"
|
|
After: "aitEnum casPV::bestExternalType() const"
|
|
|
|
**** API Change ****
|
|
o The following virtual functions were added to casPV:
|
|
//
|
|
// Returns the maximum bounding box for all present and
|
|
// future data stored within the PV.
|
|
//
|
|
// The routine "dimension()" returns the maximum
|
|
// number of dimensions in the hypercube (0=scaler,
|
|
// 1=array, 2=plane, 3=cube ...}.
|
|
//
|
|
// The routine "maxBound(dimension)" returns the
|
|
// maximum length of a particular dimension of the
|
|
// hypercube as follows:
|
|
//
|
|
// dim equal to 0 1 3 ...
|
|
// -------------------------------------------
|
|
// hypercube
|
|
// type
|
|
// ---------
|
|
//
|
|
// array array
|
|
// length
|
|
//
|
|
// plane x y
|
|
//
|
|
// cube x y z
|
|
//
|
|
// .
|
|
// .
|
|
// .
|
|
//
|
|
// The default (base) "dimension()" returns zero (scaler).
|
|
// The default (base) "maxBound()" returns scaler bounds
|
|
// for all dimensions.
|
|
//
|
|
// Clients will see that the PV's data is scaler if
|
|
// these routines are not supplied in the derived class.
|
|
//
|
|
// If the "dimension" argument to maxBounds() is set to
|
|
// zero then the bound on the first dimension is being
|
|
// fetched. If the "dimension" argument to maxBound() is
|
|
// set to one then the bound on the second dimension
|
|
// are being fetched...
|
|
//
|
|
virtual unsigned maxDimension() const; // return zero if scaler
|
|
virtual aitIndex maxBound (unsigned dimension) const;
|
|
|
|
The defaults in base class casPV implement identical behavior
|
|
to the past if these routines are not supplied by the derived
|
|
class.
|
|
|