/*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE Versions 3.13.7 * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ /* * Revision-Id: anj@aps.anl.gov-20101005192737-disfz3vs0f3fiixd * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 */ #ifndef casCtxh #define casCtxh #include "caHdrLargeArray.h" class casCtx { public: casCtx(); const caHdrLargeArray * getMsg () const; void * getData () const; class caServerI * getServer () const; class casCoreClient * getClient () const; class casPVI * getPV () const; class casChannelI * getChannel () const; void setMsg ( const caHdrLargeArray &, void * pBody ); void setServer ( class caServerI * p ); void setClient ( class casCoreClient * p ); void setPV ( class casPVI * p ); void setChannel ( class casChannelI * p ); void show ( unsigned level ) const; private: caHdrLargeArray msg; // ca message header void * pData; // pointer to data following header caServerI * pCAS; casCoreClient * pClient; casChannelI * pChannel; casPVI * pPV; unsigned nAsyncIO; // checks for improper use of async io }; inline const caHdrLargeArray * casCtx::getMsg() const { return & this->msg; } inline void * casCtx::getData() const { return this->pData; } inline caServerI * casCtx::getServer() const { return this->pCAS; } inline casCoreClient * casCtx::getClient() const { return this->pClient; } inline casPVI * casCtx::getPV() const { return this->pPV; } inline casChannelI * casCtx::getChannel() const { return this->pChannel; } inline void casCtx::setMsg ( const caHdrLargeArray & msgIn, void * pBody ) { this->msg = msgIn; this->pData = pBody; } inline void casCtx::setServer(caServerI *p) { this->pCAS = p; } inline void casCtx::setClient(casCoreClient *p) { this->pClient = p; } inline void casCtx::setPV(casPVI *p) { this->pPV = p; } inline void casCtx::setChannel(casChannelI *p) { this->pChannel = p; } #endif // casCtxh