This is Unofficial EPICS BASE Doxygen Site
putCallback Class Reference

#include "oldAccess.h"

+ Inheritance diagram for putCallback:
+ Collaboration diagram for putCallback:

Public Member Functions

 putCallback (oldChannelNotify &, caEventCallBackFunc *pFunc, void *pPrivate)
 
 ~putCallback ()
 
void * operator new (size_t size, tsFreeList< class putCallback, 1024, epicsMutexNOOP > &)
 
void completion (epicsGuard< epicsMutex > &)
 
 putCallback (const putCallback &)
 
putCallbackoperator= (const putCallback &)
 
void operator delete (void *)
 
- Public Member Functions inherited from cacWriteNotify
virtual ~cacWriteNotify ()=0
 

Public Attributes

epicsPlacementDeleteOperator((void *, tsFreeList< class putCallback, 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 cacWriteNotify
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 218 of file oldAccess.h.

Constructor & Destructor Documentation

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

Definition at line 33 of file putCallback.cpp.

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

Definition at line 40 of file putCallback.cpp.

41 {
42 }
putCallback::putCallback ( const putCallback )

Member Function Documentation

void putCallback::completion ( epicsGuard< epicsMutex > &  guard)
virtual

Implements cacWriteNotify.

Definition at line 44 of file putCallback.cpp.

45 {
46  struct event_handler_args args;
47 
48  args.usr = this->pPrivate;
49  args.chid = & this->chan;
50  args.type = TYPENOTCONN;
51  args.count = 0;
52  args.status = ECA_NORMAL;
53  args.dbr = 0;
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().destroyPutCallback ( guard, *this );
58  if ( pFuncTmp ) {
59  epicsGuardRelease < epicsMutex > unguard ( guard );
60  pFuncTmp ( args );
61  }
62 }
void caEventCallBackFunc(struct event_handler_args)
Definition: cadef.h:92
epicsPlacementDeleteOperator((void *, tsFreeList< class putCallback, 1024, epicsMutexNOOP > &)) private caEventCallBackFunc pFunc)
Definition: oldAccess.h:226
void * pPrivate
Definition: oldAccess.h:231
#define ECA_NORMAL
Definition: caerr.h:77
#define TYPENOTCONN
Definition: cadef.h:149
void * usr
Definition: cadef.h:85
void putCallback::operator delete ( void *  )

Definition at line 91 of file putCallback.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 * putCallback::operator new ( size_t  size,
tsFreeList< class putCallback, 1024, epicsMutexNOOP > &  freeList 
)
inline

Definition at line 528 of file oldAccess.h.

530 {
531  return freeList.allocate ( size );
532 }
void * allocate(size_t size)
Definition: tsFreeList.h:126
putCallback& putCallback::operator= ( const putCallback )

Member Data Documentation

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

Definition at line 233 of file oldAccess.h.

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

Definition at line 233 of file oldAccess.h.

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

Definition at line 226 of file oldAccess.h.

void* putCallback::pPrivate

Definition at line 231 of file oldAccess.h.

void exception epicsGuard< epicsMutex > int putCallback::status

Definition at line 233 of file oldAccess.h.

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

Definition at line 233 of file oldAccess.h.


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