This is Unofficial EPICS BASE Doxygen Site
msgForMultiplyDefinedPV Class Reference

#include "msgForMultiplyDefinedPV.h"

+ Inheritance diagram for msgForMultiplyDefinedPV:
+ Collaboration diagram for msgForMultiplyDefinedPV:

Public Member Functions

 msgForMultiplyDefinedPV (ipAddrToAsciiEngine &engine, callbackForMultiplyDefinedPV &, const char *pChannelName, const char *pAcc)
 
virtual ~msgForMultiplyDefinedPV ()
 
void ioInitiate (const osiSockAddr &rej)
 
void * operator new (size_t size, tsFreeList< class msgForMultiplyDefinedPV, 16 > &)
 
void transactionComplete (const char *pHostName)
 
 msgForMultiplyDefinedPV (const msgForMultiplyDefinedPV &)
 
msgForMultiplyDefinedPVoperator= (const msgForMultiplyDefinedPV &)
 
void operator delete (void *)
 
- Public Member Functions inherited from ipAddrToAsciiCallBack
virtual void show (unsigned level) const
 
virtual ~ipAddrToAsciiCallBack ()=0
 
- Public Member Functions inherited from tsDLNode< msgForMultiplyDefinedPV >
 tsDLNode ()
 
 tsDLNode (const tsDLNode< msgForMultiplyDefinedPV > &)
 
const tsDLNode< msgForMultiplyDefinedPV > & operator= (const tsDLNode< msgForMultiplyDefinedPV > &)
 

Public Attributes

epicsPlacementDeleteOperator((void *, tsFreeList< class msgForMultiplyDefinedPV, 16 > &)) private cha channel )[64]
 
ipAddrToAsciiTransactiondnsTransaction
 
callbackForMultiplyDefinedPVcb
 

Detailed Description

Definition at line 41 of file msgForMultiplyDefinedPV.h.

Constructor & Destructor Documentation

msgForMultiplyDefinedPV::msgForMultiplyDefinedPV ( ipAddrToAsciiEngine engine,
callbackForMultiplyDefinedPV cbIn,
const char *  pChannelName,
const char *  pAcc 
)

Definition at line 37 of file msgForMultiplyDefinedPV.cpp.

40  :
41  dnsTransaction ( engine.createTransaction () ), cb ( cbIn )
42 {
43  strncpy ( this->acc, pAcc, sizeof ( this->acc ) );
44  this->acc[ sizeof ( this->acc ) - 1 ] = '\0';
45  strncpy ( this->channel, pChannelName, sizeof ( this->channel ) );
46  this->channel[ sizeof ( this->channel ) - 1 ] = '\0';
47 }
epicsPlacementDeleteOperator((void *, tsFreeList< class msgForMultiplyDefinedPV, 16 > &)) private cha channel)[64]
callbackForMultiplyDefinedPV & cb
ipAddrToAsciiTransaction & dnsTransaction
virtual ipAddrToAsciiTransaction & createTransaction()=0
msgForMultiplyDefinedPV::~msgForMultiplyDefinedPV ( )
virtual

Definition at line 49 of file msgForMultiplyDefinedPV.cpp.

50 {
51  this->dnsTransaction.release ();
52 }
ipAddrToAsciiTransaction & dnsTransaction
virtual void release()=0
msgForMultiplyDefinedPV::msgForMultiplyDefinedPV ( const msgForMultiplyDefinedPV )

Member Function Documentation

void msgForMultiplyDefinedPV::ioInitiate ( const osiSockAddr rej)
inline

Definition at line 63 of file msgForMultiplyDefinedPV.h.

64 {
65  this->dnsTransaction.ipAddrToAscii ( rej, *this );
66 }
virtual void ipAddrToAscii(const osiSockAddr &, ipAddrToAsciiCallBack &)=0
ipAddrToAsciiTransaction & dnsTransaction
void msgForMultiplyDefinedPV::operator delete ( void *  )

Definition at line 76 of file msgForMultiplyDefinedPV.cpp.

77 {
78  // Visual C++ .net appears to require operator delete if
79  // placement operator delete is defined? I smell a ms rat
80  // because if I declare placement new and delete, but
81  // comment out the placement delete definition there are
82  // no undefined symbols.
83  errlogPrintf ( "%s:%d this compiler is confused about placement delete - memory was probably leaked",
84  __FILE__, __LINE__ );
85 }
int errlogPrintf(const char *pFormat,...)
Definition: errlog.c:105
void * msgForMultiplyDefinedPV::operator new ( size_t  size,
tsFreeList< class msgForMultiplyDefinedPV, 16 > &  freeList 
)

Definition at line 62 of file msgForMultiplyDefinedPV.cpp.

64 {
65  return freeList.allocate ( size );
66 }
void * allocate(size_t size)
Definition: tsFreeList.h:126
msgForMultiplyDefinedPV& msgForMultiplyDefinedPV::operator= ( const msgForMultiplyDefinedPV )
void msgForMultiplyDefinedPV::transactionComplete ( const char *  pHostName)
virtual

Implements ipAddrToAsciiCallBack.

Definition at line 54 of file msgForMultiplyDefinedPV.cpp.

55 {
56  // calls into cac for the notification
57  // the msg object (= this) is being deleted as part of the notification
58  this->cb.pvMultiplyDefinedNotify ( *this, this->channel, this->acc, pHostNameRej );
59  // !! dont touch 'this' pointer after this point because object has been deleted !!
60 }
virtual void pvMultiplyDefinedNotify(class msgForMultiplyDefinedPV &, const char *pChannelName, const char *pAcc, const char *pRej)=0
epicsPlacementDeleteOperator((void *, tsFreeList< class msgForMultiplyDefinedPV, 16 > &)) private cha channel)[64]
callbackForMultiplyDefinedPV & cb

Member Data Documentation

callbackForMultiplyDefinedPV& msgForMultiplyDefinedPV::cb

Definition at line 56 of file msgForMultiplyDefinedPV.h.

epicsPlacementDeleteOperator (( void *, tsFreeList < class msgForMultiplyDefinedPV, 16 > & )) private cha msgForMultiplyDefinedPV::channel) [64]

Definition at line 51 of file msgForMultiplyDefinedPV.h.

ipAddrToAsciiTransaction& msgForMultiplyDefinedPV::dnsTransaction

Definition at line 55 of file msgForMultiplyDefinedPV.h.


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