This is Unofficial EPICS BASE Doxygen Site
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
disconnectGovernorTimer.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_disconnectGovernorTimer_H
26 #define INC_disconnectGovernorTimer_H
27 
28 #include "epicsMutex.h"
29 #include "epicsGuard.h"
30 #include "epicsTimer.h"
31 
32 #include "libCaAPI.h"
33 #include "caProto.h"
34 #include "netiiu.h"
35 
37 public:
38  virtual ~disconnectGovernorNotify () = 0;
39  virtual void govExpireNotify (
41 };
42 
43 class disconnectGovernorTimer : private epicsTimerNotify {
44 public:
46  class disconnectGovernorNotify &, epicsTimerQueue &, epicsMutex & );
47  virtual ~disconnectGovernorTimer ();
48  void start ();
49  void shutdown (
50  epicsGuard < epicsMutex > & cbGuard,
51  epicsGuard < epicsMutex > & guard );
52  void installChan (
54  void uninstallChan (
56  void show ( unsigned level ) const;
57 private:
58  tsDLList < nciu > chanList;
59  epicsMutex & mutex;
60  epicsTimer & timer;
61  class disconnectGovernorNotify & iiu;
62  epicsTimerNotify::expireStatus expire ( const epicsTime & currentTime );
64  disconnectGovernorTimer & operator = ( const disconnectGovernorTimer & );
65 };
66 
67 #endif // ifdef INC_disconnectGovernorTimer_H
epicsMutex mutex
Definition: pvAccess.cpp:71
APIs for the epicsMutex mutual exclusion semaphore.
virtual void govExpireNotify(epicsGuard< epicsMutex > &, nciu &)=0
Definition: nciu.h:127