This is Unofficial EPICS BASE Doxygen Site
msgForMultiplyDefinedPV.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * EPICS BASE is distributed subject to a Software License Agreement found
7 * in file LICENSE that is included with this distribution.
8 \*************************************************************************/
9 
10 /*
11  *
12  *
13  * L O S A L A M O S
14  * Los Alamos National Laboratory
15  * Los Alamos, New Mexico 87545
16  *
17  * Copyright, 1986, The Regents of the University of California.
18  *
19  *
20  * Author Jeffrey O. Hill
21  * johill@lanl.gov
22  * 505 665 1831
23  */
24 
25 #ifndef INC_msgForMultiplyDefinedPV_H
26 #define INC_msgForMultiplyDefinedPV_H
27 
29 #include "tsFreeList.h"
30 #include "tsDLList.h"
31 #include "compilerDependencies.h"
32 
34 public:
35  virtual ~callbackForMultiplyDefinedPV () = 0;
36  virtual void pvMultiplyDefinedNotify (
37  class msgForMultiplyDefinedPV &, const char * pChannelName,
38  const char * pAcc, const char * pRej ) = 0;
39 };
40 
42  public ipAddrToAsciiCallBack,
43  public tsDLNode < msgForMultiplyDefinedPV > {
44 public:
46  callbackForMultiplyDefinedPV &, const char * pChannelName,
47  const char * pAcc );
48  virtual ~msgForMultiplyDefinedPV ();
49  void ioInitiate ( const osiSockAddr & rej );
50  void * operator new ( size_t size, tsFreeList < class msgForMultiplyDefinedPV, 16 > & );
51  epicsPlacementDeleteOperator (( void *, tsFreeList < class msgForMultiplyDefinedPV, 16 > & ))
52 private:
53  char acc[64];
54  char channel[64];
55  ipAddrToAsciiTransaction & dnsTransaction;
57  void transactionComplete ( const char * pHostName );
59  msgForMultiplyDefinedPV & operator = ( const msgForMultiplyDefinedPV & );
60  void operator delete ( void * );
61 };
62 
63 inline void msgForMultiplyDefinedPV::ioInitiate ( const osiSockAddr & rej )
64 {
65  this->dnsTransaction.ipAddrToAscii ( rej, *this );
66 }
67 
68 #endif // ifdef INC_msgForMultiplyDefinedPV_H
69 
virtual void pvMultiplyDefinedNotify(class msgForMultiplyDefinedPV &, const char *pChannelName, const char *pAcc, const char *pRej)=0
virtual void ipAddrToAscii(const osiSockAddr &, ipAddrToAsciiCallBack &)=0
Compiler specific declarations.