/************************************************************************/
/* Copyright 1998 MBARI							*/
/************************************************************************/
#ifndef _GF5VSELFTEST_H
#define _GF5VSELFTEST_H

#include <Vk/VkComponent.h>
#include "AlarmText.h"
#include "ErrorHandler.h"
#include "DmErrno.h"
#include "MicroDm.h"

/*
CLASS 
Gf5vSelfTest

DESCRIPTION
Initiate and display result of Gf5v card self-test function

AUTHOR
Tom O'Reilly
*/
class Gf5vSelfTest : public DmGuiObject
{
  public:
  Gf5vSelfTest(const char *name, Widget parent, 
	       Gf5vDm *gf5vDm);

  ~Gf5vSelfTest();
  
  const char *className()
  {
    return "Gf5vSelfTest";
  }

  virtual void updateGui(DM_Item handle = 0);
  

  protected:
  int sendCmd();
  
  DmEmptyObject *_cmd;
  AlarmText *_status;
  Widget _cmdButton;
  
  private:
  static void cmdCallback(Widget w, 
			  XtPointer clientData,
			  XtPointer callData);

};


#endif
