#ifndef TIMEINFOPKG_H_DEF
#define TIMEINFOPKG_H_DEF

#include "TelepatiPkg.h"
#include <time.h>

using namespace std;

/**implementa il messaggio di saluto.
   Struttura: e' composto esclusivamente dall'header standard
*/

class TimeInfoPkg : public TelepatiPkg{
 public:
  /** Costruttore ordinario. @param a aibo di destinazione. @param time tempo da impostare. @param ack se richiede o meno l'Ack*/
  TimeInfoPkg(int a, time_t time, bool ack);
  /**Costruisce l'oggetto a partire dall'array restituito da
     getMsg(). @param ptr puntatore all'array di byte. @see
     getMsg()*/
  TimeInfoPkg(byte* ptr);

  /** Distruttore di Default.*/
  virtual ~TimeInfoPkg();

  /** Clonatore. Restituisce un clone dell'oggetto su cui e'
      chiamato.*/
  virtual TelepatiPkg* clone();

  /** Ritorna un array che rappresenta l'oggetto. Costruisce un array
      che rappresenta l'oggetto, l'array corrisponde ai dati spediti
      via rete. @return array di byte. @see TimeInfoPkg(byte* ptr)*/
  byte* getMsg();  

  /** Ritorna il tempo. Restituisce il tempo memorizzato nel
      messaggio*/
  inline time_t getTime() {return clockTime; }
  /** Imposta il Tempo. Imposta il tempo del messaggio. @param time
      nuovo tempo da memorizzare.*/
  inline void setTime(time_t time) { clockTime=time; }

 protected:
  /** Tempo */
  time_t clockTime;
};

#endif
