#ifndef _ALARMDETECTOR_H
#define _ALARMDETECTOR_H
static char AlarmDetector_h_id[] = "$Header: /usr/tiburon/unix/gui/tmacs/RCS/AlarmDetector.h,v 1.1 1996/10/28 09:13:11 oreilly Exp $";

/*
$Log: AlarmDetector.h,v $
Revision 1.1  1996/10/28 09:13:11  oreilly
Initial revision

*/


#include "DmGuiObject.h"
#include "Alarm.h"
/*
Class AlarmDetector monitors a specified Alarm for aperiodic changes;
when changes are detected, AlarmDetector calls the updateFromPeer() function
of it's specified peer DmGuiObject. AlarmDetector has no visible GUI
components.
*/
class AlarmDetector : public DmGuiObject
{
  public:
  
  AlarmDetector(const char *name, Widget parent, Alarm *alarm, 
		DmGuiObject *peer);
  
  ~AlarmDetector();

  virtual const char *className()
  {
    return "AlarmDetector";
  }
  
  virtual void updateGui(DM_Item item = 0);
  Alarm *update();
  
  void show()
  {
    // Do nothing; always invisible
    ;
  }
  
  protected:
  
  Alarm *_alarm;
  DmGuiObject *_peer;
};


#endif
