//Corriere: Corriere.h
#ifndef CAPO_H
#include "capo.h"
#endif
#ifndef MAGAZ_H
#include "magaz.h"
#endif
#ifndef MENU_H
#include "menu.h"
#endif
#ifndef CORRIERE_H
#define CORRIERE_H

class Corriere {
  Capo *cons;      // Lista dei capi da 'condegnare'
  Magazzino *mag;  // Magazzino 'destinazione'
public:
  Corriere (Magazzino *m) { mag = m; cons = 0; };
  /* Metodi richiamati dal menu' */
  void AddCravatta ();             // Aggiunge cravatte alla lista di consegna
  void AddCintura ();              // Aggiunge cinture alla lista di consegna 
  void AddVestiario (char *capo);  // Aggiunge vestiario alla lista di consegna 
  void Inserisci ();
};

/* Menu: come al solito solo costruttore e 'action' */
/* Menu principale */
class MenuCorriere : public menu {
protected:
  virtual void action (void *par);
public:
  MenuCorriere (TPtr &base,char *n) : menu (base,n) {};
};

/* Menu' dei vari capi da aggiungere */
class MenuMaglione : public menu {
protected:
  virtual void action (void *par);
public:
  MenuMaglione (TPtr &base,char *n) : menu (base,n) {};
};

class MenuCamicia : public menu {
protected:
  virtual void action (void *par);
public:
  MenuCamicia (TPtr &base,char *n) : menu (base,n) {};
};

class MenuPantaloni : public menu {
protected:
  virtual void action (void *par);
public:
  MenuPantaloni (TPtr &base,char *n) : menu (base,n) {};
};

class MenuCintura : public menu {
protected:
  virtual void action (void *par);
public:
  MenuCintura (TPtr &base,char *n) : menu (base,n) {};
};

class MenuCravatta : public menu {
protected:
  virtual void action (void *par);
public:
  MenuCravatta (TPtr &base,char *n) : menu (base,n) {};
};

/* Inserimento capi in magazzino */
class MenuInserisci : public menu {
protected:
  virtual void action (void *par);
public:
  MenuInserisci (TPtr &base,char *n) : menu (base,n) {};
};

#endif