/****************************************************************************/
/* Copyright (c) 2012 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : MultibeamerServer.h                                           */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 09/17/2012                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#include <iostream.h>
#include "MultibeamerInput.h"
#include "MultibeamerOutput.h"
#include "MultibeamerLog.h"
#include "Attributes.h"
#include "AttributeParser.h"
#include "TimeP.h"
#include "DeviceIF.h"
#include "MultibeamerIF_SK.h"

/*
CLASS
MultibeamerServer

DESCRIPTION
Server Interface for Multibeam Sonar

AUTHOR
Henthorn

*/
class MultibeamerServer : public MultibeamerIF_SK {

  friend MultibeamerLog;
  
public:

  MultibeamerServer(const char *configFile);
  ~MultibeamerServer();

  virtual void get_data(MultibeamerIF::MB_Data *data);
  
  virtual int spawnAuxTasks();

protected:

  virtual void name(DeviceIF::Name name);

  char* _ip;
  
  MultibeamerOutput *_output;
  MultibeamerLog *_log;

  Attributes _attributes;

};


