

#ifndef INTERFICIE_TERRA_H
#define INTERFICIE_TERRA_H

#include <ptime.h>
#include <pasync.h>

USING_PTYPES

class Interficie_Grafica
{
   private:
      int argc;
      char **argv;
   public:
      Interficie_Grafica(int numargs, char **args);
      void iniciar();
      ~Interficie_Grafica() {}
};

class Logica_Interficie_Grafica
{
   private:
      // Elements de la interficie grafica necessaris
   public:
      Logica_Interficie_Grafica();
      ~Logica_Interficie_Grafica() {}
      // Afegir metodes necessaris per a la interficie grafica
};

class Comunicacio_Interficie_Grafica
{
   private:
      Logica_Interficie_Grafica *logica;
   public:
      Comunicacio_Interficie_Grafica(Logica_Interficie_Grafica *);
      ~Comunicacio_Interficie_Grafica() {}
      int establir_Parametres_Inicials(char *ip_mart, int port_mart, int port_terra, char *fitxer_informe);
      void set_Posicio_Robot(float x, float y, float z, int angleOrientacio, int angleAltura);
      void set_Material(int material);
      void set_Nivell_Ferro(float ferro);
      void set_Nivell_Llum(float llum);
      void set_Temperatura(int temperatura);
      void set_Fotografia(char *fitxer_imatge);
      void set_Nivell_Bateria(int bateria);
      void set_Nivell_XRay(float xray);
      void indicar_Operacio_Fallida(char *operacio);
      void indicar_Parada_Emergencia(std::string motiu);
};

#endif


