#include "Syslog.h"
#include "Ins.h"

Ins::Ins(const char *name, NavSensors *sensors, int maxBad)
  : NavSensor(name, sensors, maxBad)
{
  _insIF = 0;
  inertialState.status = 0;
}



TaskInterface *Ins::createTaskIF(int timeout)
{
  try {
    _insIF = new InsIF("KearfottServer", timeout);
  }
  catch (...) {
    _insIF = 0;
  }

  return _insIF;
}


DeviceIF::Status Ins::readTaskIF(Boolean *valid, 
				 TimeIF::TimeSpec *sampleTime)
{
  DeviceIF::Status status;

  status = _insIF->getInertialState(&inertialState, sampleTime);
  if (status != DeviceIF::Ok) {
    *valid = False;
  } else {
    *valid = True;
  }

  return status;
}


