/*************************************************************************\ * Copyright (c) 2002 The University of Chicago, as Operator of Argonne * National Laboratory. * Copyright (c) 2002 The Regents of the University of California, as * Operator of Los Alamos National Laboratory. * EPICS BASE Versions 3.13.7 * and higher are distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. \*************************************************************************/ /* * Revision-Id: anj@aps.anl.gov-20101005192737-disfz3vs0f3fiixd * * Author Jeffrey O. Hill * johill@lanl.gov * 505 665 1831 */ #ifndef beaconAnomalyGovernorh #define beaconAnomalyGovernorh #ifdef epicsExportSharedSymbols # define epicsExportSharedSymbols_beaconAnomalyGovernorh # undef epicsExportSharedSymbols #endif // external headers included here #include "epicsTimer.h" #include "epicsMutex.h" #ifdef epicsExportSharedSymbols_beaconAnomalyGovernorh # define epicsExportSharedSymbols # include "shareLib.h" #endif class caServerI; class beaconAnomalyGovernor : public epicsTimerNotify { public: beaconAnomalyGovernor ( caServerI & ); virtual ~beaconAnomalyGovernor(); void start (); void show ( unsigned level ) const; private: // has been checked for thread safety epicsTimer & timer; class caServerI & cas; bool anomalyPending; expireStatus expire( const epicsTime & currentTime ); beaconAnomalyGovernor ( const beaconAnomalyGovernor & ); beaconAnomalyGovernor & operator = ( const beaconAnomalyGovernor & ); }; #endif // ifdef beaconAnomalyGovernorh