//=========================================================================
// Summary  : */
// Filename : PolledSerialDriver.cc
// Author   : */
// Project  : */
// Revision : 1
// Created  : 2000/08/19
// Modified : 2000/08/19
//=========================================================================
// Description :
//=========================================================================
#include <string.h>
#include "PolledSerialDriver.h"
#include "Exception.h"

PolledSerialDriver::PolledSerialDriver(const char *name,
				       SerialDevice *serialDevice,
				       unsigned pollPeriod)
{
  _name = strdup(name);
  _serialDevice = serialDevice;
  _pollPeriod = pollPeriod;

  if (!timeoutDivisor) {
    throw Exception("PolledSerialDriver::PolledSerialDriver() - "
		    "bad timeout divisor");
  }

  // Compute poll timeout. Right now just use arbitrary divisor!
  _pollTimeout = _pollPeriod / 5;
}


PolledSerialDriver::~PolledSerialDriver()
{
  free((void *)_name);
}


const char *PolledSerialDriver::name()
{
  return _name;
}


unsigned PolledSerialDriver::pollPeriod()
{
  return _pollPeriod;
}


unsigned PolledSerialDriver::pollTimeout()
{
  return _pollTimeout;
}


void PolledSerialDriver::setPollTimeout(timeout)
{
  _pollTimeout = timeout;
}
