#ifndef _COMMRELAYS_H
#define _COMMRELAYS_H
#include "DmGuiObject.h"
#include "AlarmedText.h"
#include "DmStripChart.h"

#define NCommRelaySwitches 23

class CommRelays : public DmGuiObject
{
  public:
  
  CommRelays(const char *name, Widget parent, const char *dmPrefix);
  ~CommRelays();
  
  virtual const char *className()
  {
    return "CommRelays";
  }
  
  virtual void updateGui(DM_Item handle = 0);
  
  protected:
  AlarmedInt16Text *_gfCurrent;
  Widget _relay[NCommRelaySwitches];
  DmNat32Object *_dmRelayMask;
  Nat32 _prevMask;

  DmStripChart *_stripChart;
  
  void write();
  
  private:
  static void relayCallback(Widget w, 
			    XtPointer clientData, 
			    XtPointer callData);
  
};


#endif
