/****************************************************************************/
/* Copyright (c) 2015 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : Cathx.h                                                       */
/* Author   :                                                               */
/* Project  : Henthorn                                                      */
/* Version  : 1.0                                                           */
/* Created  : 09/14/2015                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#ifndef _Cathx_H
#define _Cathx_H

#include "Behavior.h"
#include "CathxIF.h"

#define CathxBehaviorName "cathx"

#define NullLegDuration -1.0

class FloatAttribute;
class AngleAttribute;
class StringAttribute;

/*
CLASS 
Cathx

DESCRIPTION
This behavior forwards commands to the Cathx camera controller


AUTHOR
Henthorn
*/
class Cathx : public Behavior {

public:

  Cathx();

  virtual ~Cathx();

  virtual Boolean validInput();

  void test() { shouldBehaviorStart(); execute(); }

protected:

  virtual void execute();
  Boolean shouldBehaviorStart( void );

  long _capture;    // Start/stop image capture
  long _profile;    // change to a different profile

  // CathxIF server
  CathxIF *_server;
};

#endif
