/****************************************************************************/
/* Copyright (c) 2000 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : DropWeightServer.h                                            */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 02/07/2000                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#ifndef _GulperServer_H
#define _GulperServer_H
#include <process.h>
#include "GulperIF_SK.h"
#include "GulperOutput.h"
#include "GulperCommand.h"
#include "SerialParameters.h"
#include "ArmTheGulper.h"

class GulperServer: public GulperIF_SK {

public:

  GulperServer(const char *name);
  GulperServer(const char *driverName, SerialParameters *serialParams);
  ~GulperServer();


protected:

  virtual void fireGulper(long gulperToFire);
  virtual int spawnAuxTasks();

  virtual void state( GulperIF::gs gulperState );

private:

  GulperOutput *_gulperOutput;
  GulperCommand *_command;

  GulperIF::GulperState _gulperState[NGULPERS];
  
  SerialParameters *_serialParams;
  const char *_driverName;
};

#endif
