/****************************************************************************/
/* Copyright (c) 2004 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : SimulatedKearfott.h                                           */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 12/17/2004                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
/*-----------------------------------------------------------------------*
 *-----------------------------------------------------------------------*/

#ifndef _SIMKEARFOTT_H
#define _SIMKEARFOTT_H

#include "DeviceInterface.h"
#include "InsIF_SK.h"
#include "SimulatorIF.h"
#include "TimeP.h"

class SimulatedKearfott : public InsIF_SK {

public:
     SimulatedKearfott();
     ~SimulatedKearfott();

protected:

  SimulatorIF *_simulator;

  virtual void name(DeviceIF::Name name);
  virtual DeviceIF::Status initialize();
  virtual DeviceIF::Status powerOn();
  virtual DeviceIF::Status powerOff();
  virtual DeviceIF::Status status();
  virtual DeviceIF::Status dataLoggingOn();
  virtual DeviceIF::Status dataLoggingOff();
  virtual void serialNumber(DeviceIF::Name name);
  virtual DeviceIF::Status getInertialState(InsIF::InertialState *insState, 
					    TimeIF::TimeSpec *sampleTime);

  // Get the data

  virtual int spawnAuxTasks( void );

  double m_lastPingTime;

  long _utmZone;

  TimeIF::TimeSpec _sampleTime;

};


#endif
