Transpose< CTYPE > Class Template Reference

#include <transpose.h>

List of all members.

Public Member Functions

 Transpose ()
 ~Transpose ()
int put (const unsigned int _handle, const CTYPE *val, const chtype cdt)
 Transforms data from CTYPE * val to PutBuffer.
int put (const unsigned int _handle, CAFE_DATATYPE_UNION_SEQ val, CAFE_DATATYPE cdt)
int putString (const unsigned int _handle, dbr_string_t *val)
int get (const unsigned int _handle, CTYPE *val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, epicsTimeStamp &ts, bool isCacheRequest)
 Retrieves data transmitted by CA with dbrTypeRequest_DataBuffer and then converts to CTYPE i.e. _dataTypeClient.
int get (const unsigned int _handle, CTYPE *val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, bool isCacheRequest)
int get (const unsigned int _handle, CTYPE *val, bool isCacheRequest)
int getCtrl (const unsigned int _handle, CTYPE *val, dbr_short_t &alarmStatus, dbr_short_t &alarmSeverity, dbr_short_t &precision, CTYPE &RISC_pad, CTYPE &upperDispLimit, CTYPE &lowerDispLimit, CTYPE &upperAlarmLimit, CTYPE &upperWarningLimit, CTYPE &lowerWarningLimit, CTYPE &lowerAlarmLimit, CTYPE &upperCtrlLimit, CTYPE &lowerCtrlLimit, char units[MAX_UNITS_SIZE], short &noStr, char strs[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE], bool isCacheRequest)
 Retrieves ctrl data from buffer.

Public Attributes

HandleHelper handleHelper

Private Attributes

CTYPE * val
int status
CAFEStatus cafeStatus
CAFEDataTypeCode cafeDataTypeCode
union db_access_val * PVDataL
unsigned int nelem
unsigned int offset
chtype dbrTypeRequest_DataBuffer
chtype dbrTypeRequest_CtrlBuffer
chtype _dataTypeClient
char stig [MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE]

Detailed Description

template<class CTYPE>
class Transpose< CTYPE >

Transpose Template
CTYPE is the type of data to be rendered to/from the client
method get() will receive data transmitted by CA with dataTypeRequest
and then convert to CTYPE method getString() will receive data transmitted by CA with dataTypeRequest
and then convert to a string method put() will convert data of type CTYPE to the native type
and then transmit to CA method putString() will convert a string type to the native type
and then transmit to CA


Constructor & Destructor Documentation

template<class CTYPE>
Transpose< CTYPE >::Transpose (  )  [inline]
template<class CTYPE>
Transpose< CTYPE >::~Transpose (  )  [inline]

Member Function Documentation

template<class CTYPE>
int Transpose< CTYPE >::get ( const unsigned int  _handle,
CTYPE *  val,
bool  isCacheRequest 
) [inline]
template<class CTYPE>
int Transpose< CTYPE >::get ( const unsigned int  _handle,
CTYPE *  val,
dbr_short_t &  alarmStatus,
dbr_short_t &  alarmSeverity,
bool  isCacheRequest 
) [inline]
template<class CTYPE>
int Transpose< CTYPE >::get ( const unsigned int  _handle,
CTYPE *  val,
dbr_short_t &  alarmStatus,
dbr_short_t &  alarmSeverity,
epicsTimeStamp &  ts,
bool  isCacheRequest 
) [inline]

Retrieves data transmitted by CA with dbrTypeRequest_DataBuffer and then converts to CTYPE i.e. _dataTypeClient.

Parameters:
_handle input: handle to Conduit object
val output: CTYPE datatype
alarmStatus output: dbr_short_t
alarmSeverity output: dbr_short_t
ts output: epicsTimeStamp
isCacheRequest input: bool
Returns:
ICAFE_NORMAL as local data conversion should not incur an error

References __METHOD__, Transpose< CTYPE >::_dataTypeClient, Transpose< CTYPE >::cafeStatus, cs, Transpose< CTYPE >::dbrTypeRequest_DataBuffer, ECAFE_INVALID_HANDLE, ECAFE_INVALID_SWITCH_CASE, Transpose< CTYPE >::handleHelper, ICAFE_NORMAL, Transpose< CTYPE >::nelem, Transpose< CTYPE >::offset, Transpose< CTYPE >::PVDataL, CAFEStatus::report(), and HandleHelper::setSTS().

Referenced by Instant< CTYPE >::clientRequests().

template<class CTYPE>
int Transpose< CTYPE >::getCtrl ( const unsigned int  _handle,
CTYPE *  val,
dbr_short_t &  alarmStatus,
dbr_short_t &  alarmSeverity,
dbr_short_t &  precision,
CTYPE &  RISC_pad,
CTYPE &  upperDispLimit,
CTYPE &  lowerDispLimit,
CTYPE &  upperAlarmLimit,
CTYPE &  upperWarningLimit,
CTYPE &  lowerWarningLimit,
CTYPE &  lowerAlarmLimit,
CTYPE &  upperCtrlLimit,
CTYPE &  lowerCtrlLimit,
char  units[MAX_UNITS_SIZE],
short &  noStr,
char  strs[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE],
bool  isCacheRequest 
) [inline]

Retrieves ctrl data from buffer.

Parameters:
_handle input: handle to Conduit Object
val output: CTYPE
alarmStatus output: dbr_short_t
alarmSeverity output: dbr_short_t
precision output: dbr_short_t
RISC_pad deprecated!
upperDispLimit output
lowerDispLimit output
upperAlarmLimit output
upperWarningLimit output
lowerWarningLimit output
lowerAlarmLimit output
upperCtrlLimit output
lowerCtrlLimit output
units output: units
noStr output: No of ENUM Choices
strs output: ENUM Choices
isCacheRequest input: bool true or false
Returns:
ICAFE_NORMAL

References __METHOD__, Transpose< CTYPE >::_dataTypeClient, Transpose< CTYPE >::cafeStatus, cs, Transpose< CTYPE >::dbrTypeRequest_CtrlBuffer, ECAFE_INVALID_HANDLE, ECAFE_INVALID_SWITCH_CASE, ICAFE_NORMAL, Transpose< CTYPE >::nelem, Transpose< CTYPE >::offset, Transpose< CTYPE >::PVDataL, and CAFEStatus::report().

template<class CTYPE>
int Transpose< CTYPE >::put ( const unsigned int  _handle,
CAFE_DATATYPE_UNION_SEQ  val,
CAFE_DATATYPE  cdt 
) [inline]
template<class CTYPE>
int Transpose< CTYPE >::put ( const unsigned int  _handle,
const CTYPE *  val,
const chtype  _dbrType 
) [inline]
template<class CTYPE >
int Transpose< CTYPE >::putString ( const unsigned int  _handle,
dbr_string_t *  val 
) [inline]

Converts data from CTYPE to native type in preparation for transmission to CA Server

Parameters:
_handle input: handel to Conduit object
val input: Array of values of datatype dbr_string_t
Returns:
ICAFE_NORMAL else ECAFE_NO_CONVERT

References __METHOD__, cs, ECAFE_INVALID_ENUM_INDEX, ECAFE_INVALID_HANDLE, ECAFE_NO_CONVERT, and ICAFE_NORMAL.

Referenced by Transpose< CTYPE >::put().


Member Data Documentation

template<class CTYPE>
chtype Transpose< CTYPE >::_dataTypeClient [private]
template<class CTYPE>
CAFEDataTypeCode Transpose< CTYPE >::cafeDataTypeCode [private]

Referenced by Transpose< CTYPE >::put().

template<class CTYPE>
CAFEStatus Transpose< CTYPE >::cafeStatus [private]
template<class CTYPE>
chtype Transpose< CTYPE >::dbrTypeRequest_CtrlBuffer [private]
template<class CTYPE>
chtype Transpose< CTYPE >::dbrTypeRequest_DataBuffer [private]
template<class CTYPE>
HandleHelper Transpose< CTYPE >::handleHelper
template<class CTYPE>
unsigned int Transpose< CTYPE >::nelem [private]
template<class CTYPE>
unsigned int Transpose< CTYPE >::offset [private]
template<class CTYPE>
union db_access_val* Transpose< CTYPE >::PVDataL [write, private]
template<class CTYPE>
int Transpose< CTYPE >::status [private]

Referenced by Transpose< CTYPE >::put().

template<class CTYPE>
char Transpose< CTYPE >::stig[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE] [private]
template<class CTYPE>
CTYPE* Transpose< CTYPE >::val [private]

The documentation for this class was generated from the following file:

Generated on 3 May 2017 for CAFE by  doxygen 1.6.1