#ifndef _SimulatedBluefinBatt_H
#define _SimulatedBluefinBatt_H
#include "BluefinBatteryIF_SK.h"
#include "SimulatorIF.h"
#include "SerialParameters.h"

/*
CLASS 
BluefinBattServer

DESCRIPTION
Bluefin Battery Server

AUTHOR
Henthorn
*/

#define BLUEFINBATTERYSERVER "BluefinBatteryIFServer"

class SimulatedBluefinBatt : public BluefinBatteryIF_SK {

public:

  SimulatedBluefinBatt(const char *name, int numbatt, int argc, char** argv);
  ~SimulatedBluefinBatt();
  

protected:

//  virtual void name(DeviceIF::Name name);
//  virtual void serialNumber(DeviceIF::Name id);
//  virtual DeviceIF::Status initialize();
//  virtual DeviceIF::Status powerOn();
//  virtual DeviceIF::Status status();
//  virtual DeviceIF::Status powerOff();

  virtual short getBatteryQuantity();
  virtual void  getBatteryData(short battnum,
                               BluefinBatteryIF::BfBattData *data);

  virtual int spawnAuxTasks();

  int  _numBatt;
  char _argv[200];  

  SimulatorIF *_simulator;
  BluefinBatteryIF::BfBattData _simData;
};

#endif
