#ifdef OPENR_ETHERSTAT

#ifndef ETHERSTAT_H_DEFINED
#define ETHERSTAT_H_DEFINED

#include <ERA201D1.h>

/** Classe per le Statistiche di Rete. Implementa una classe che
    permette di raccogliere alcune statistiche sulla rete, tra i quali
    le varie impostazioni di velocita', protocollo, indirizzo IP e
    altre informazini sulla qualita' del segnale. Utilizza la libreria
    OPEN-R Era201D1.*/
class EtherStat{
 public:
  /** Costruttore di default.*/
  EtherStat(){};
  /** Distruttore di default. */
  ~EtherStat(){};
  
  /** Metodo statico per la stampa delle statistiche. Stampa sulla
      console Telnet dell'Aibo, sfruttando le macro OSYSPRINT, i dati
      raccolti con le statistiche di rete.*/
  static void printStat();
  
 private:
  /** Informazioni sullo stato della comunicazione. Stampa alcune
      informazioni riguardanti il protocollo di comunicazione
      (carrierSenseErrorCount, excessiveCollisionCount...). */
  void PrintEtherStatistics(const EtherDriverGetStatisticsMsg& msg);
  /** Impostazioni della Wireless Lan. Stampa le impostazioni della
      scheda di rete wireless dell'Aibo (porta, modo, essid,
      canale...).*/
  void PrintWLANSettings(const EtherDriverGetWLANSettingsMsg& msg);
  /** Informazioni sullo stato della Wireless Lan. Stampa alcune
      informazioni sulla qualita' del segnale della Wireless Lan
      (link, segnale, rumore...).*/
  void PrintWLANStatistics(const EtherDriverGetWLANStatisticsMsg& msg);

};
#endif

#endif
