This is Unofficial EPICS BASE Doxygen Site
getCallback Class Reference

#include "oldAccess.h"

+ Inheritance diagram for getCallback:
+ Collaboration diagram for getCallback:

Public Member Functions

 getCallback (oldChannelNotify &chanIn, caEventCallBackFunc *pFunc, void *pPrivate)
 
 ~getCallback ()
 
void * operator new (size_t size, tsFreeList< class getCallback, 1024, epicsMutexNOOP > &)
 
void completion (epicsGuard< epicsMutex > &, unsigned type, arrayElementCount count, const void *pData)
 
 getCallback (const getCallback &)
 
getCallbackoperator= (const getCallback &)
 
void operator delete (void *)
 
- Public Member Functions inherited from cacReadNotify
virtual ~cacReadNotify ()=0
 

Public Attributes

epicsPlacementDeleteOperator((void *, tsFreeList< class getCallback, 1024, epicsMutexNOOP > &)) private caEventCallBackFunc pFunc )
 
void * pPrivate
 
void exception epicsGuard< epicsMutex > int status
 
void exception epicsGuard< epicsMutex > int const char * pContext
 
void exception epicsGuard< epicsMutex > int const char unsigned type
 
void exception epicsGuard< epicsMutex > int const char unsigned arrayElementCount count
 
- Public Attributes inherited from cacReadNotify
virtual void exception epicsGuard< epicsMutex > int status
 
virtual void exception epicsGuard< epicsMutex > int const char * pContext
 
virtual void exception epicsGuard< epicsMutex > int const char unsigned type
 
virtual void exception epicsGuard< epicsMutex > int const char unsigned arrayElementCount count = 0
 

Detailed Description

Definition at line 193 of file oldAccess.h.

Constructor & Destructor Documentation

getCallback::getCallback ( oldChannelNotify chanIn,
caEventCallBackFunc pFunc,
void *  pPrivate 
)

Definition at line 33 of file getCallback.cpp.

34  :
35  chan ( chanIn ), pFunc ( pFuncIn ), pPrivate ( pPrivateIn )
36 {
37 }
void * pPrivate
Definition: oldAccess.h:206
epicsPlacementDeleteOperator((void *, tsFreeList< class getCallback, 1024, epicsMutexNOOP > &)) private caEventCallBackFunc pFunc)
Definition: oldAccess.h:201
getCallback::~getCallback ( )

Definition at line 39 of file getCallback.cpp.

40 {
41 }
getCallback::getCallback ( const getCallback )

Member Function Documentation

void getCallback::completion ( epicsGuard< epicsMutex > &  guard,
unsigned  type,
arrayElementCount  count,
const void *  pData 
)
virtual

Implements cacReadNotify.

Definition at line 43 of file getCallback.cpp.

46 {
47  struct event_handler_args args;
48  args.usr = this->pPrivate;
49  args.chid = & this->chan;
50  args.type = type;
51  args.count = count;
52  args.status = ECA_NORMAL;
53  args.dbr = pData;
54  caEventCallBackFunc * pFuncTmp = this->pFunc;
55  // fetch client context and destroy prior to releasing
56  // the lock and calling cb in case they destroy channel there
57  this->chan.getClientCtx().destroyGetCallback ( guard, *this );
58  if ( pFuncTmp ) {
59  epicsGuardRelease < epicsMutex > unguard ( guard );
60  pFuncTmp ( args );
61  }
62 }
void exception epicsGuard< epicsMutex > int const char unsigned arrayElementCount count
Definition: oldAccess.h:210
void caEventCallBackFunc(struct event_handler_args)
Definition: cadef.h:92
void * pPrivate
Definition: oldAccess.h:206
void exception epicsGuard< epicsMutex > int const char unsigned type
Definition: oldAccess.h:210
#define ECA_NORMAL
Definition: caerr.h:77
epicsPlacementDeleteOperator((void *, tsFreeList< class getCallback, 1024, epicsMutexNOOP > &)) private caEventCallBackFunc pFunc)
Definition: oldAccess.h:201
void * usr
Definition: cadef.h:85
void getCallback::operator delete ( void *  )

Definition at line 91 of file getCallback.cpp.

92 {
93  // Visual C++ .net appears to require operator delete if
94  // placement operator delete is defined? I smell a ms rat
95  // because if I declare placement new and delete, but
96  // comment out the placement delete definition there are
97  // no undefined symbols.
98  errlogPrintf ( "%s:%d this compiler is confused about placement delete - memory was probably leaked",
99  __FILE__, __LINE__ );
100 }
int errlogPrintf(const char *pFormat,...)
Definition: errlog.c:105
void * getCallback::operator new ( size_t  size,
tsFreeList< class getCallback, 1024, epicsMutexNOOP > &  freeList 
)
inline

Definition at line 542 of file oldAccess.h.

544 {
545  return freeList.allocate ( size );
546 }
void * allocate(size_t size)
Definition: tsFreeList.h:126
getCallback& getCallback::operator= ( const getCallback )

Member Data Documentation

void exception epicsGuard< epicsMutex > int const char unsigned arrayElementCount getCallback::count

Definition at line 210 of file oldAccess.h.

void exception epicsGuard< epicsMutex > int const char* getCallback::pContext

Definition at line 210 of file oldAccess.h.

epicsPlacementDeleteOperator (( void *, tsFreeList < class getCallback, 1024, epicsMutexNOOP > & )) private caEventCallBackFunc getCallback::pFunc)

Definition at line 201 of file oldAccess.h.

void* getCallback::pPrivate

Definition at line 206 of file oldAccess.h.

void exception epicsGuard< epicsMutex > int getCallback::status

Definition at line 210 of file oldAccess.h.

void exception epicsGuard< epicsMutex > int const char unsigned getCallback::type

Definition at line 210 of file oldAccess.h.


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