static char AlarmDetector_id[] = "$Header: /usr/tiburon/unix/gui/tmacs/RCS/AlarmDetector.cc,v 1.1 1996/07/22 10:41:21 oreilly Exp $";


/*
$Log: AlarmDetector.cc,v $
Revision 1.1  1996/07/22 10:41:21  oreilly
First external release

*/
#include <stdlib.h>
#include <Xm/RowColumn.h>
#include "AlarmDetector.h"

AlarmDetector::AlarmDetector(const char *name, Widget parent, Alarm *alarm,
			     DmGuiObject *peer)
  : DmGuiObject(name, parent)
{
  // Since this has no actual GUI, just make a tiny, unmanaged manager 
  // Widget 
  _baseWidget = XtVaCreateWidget(name, xmRowColumnWidgetClass, parent,
				 XmNwidth, 0, XmNheight, 0, NULL);
  installDestroyHandler();

  char errorBuf[512];
  if (addDmObject(alarm->dmObject(), DmConsumeFlag) == -1)
    return;

  if (setConsumePeriod(Aperiodic) == -1)
  {
    setError("AlarmDetector::AlarmDetector() - setConsumePeriod() failed");
    return;
  }
  
  _alarm = alarm;
  _peer = peer;
}


AlarmDetector::~AlarmDetector()
{
}


void AlarmDetector::updateGui(DM_Item handle)
{
  _alarm->update();
  _peer->updateFromPeer(this, (void *)_alarm);
}


Alarm *AlarmDetector::update()
{
  _alarm->update();
  return _alarm;
}

