#ifndef AGENDA_H
#define AGENDA_H

#include "persona.h"
#include "date.h"

typedef struct _Agenda {
    Persona *chi;
    Data quando;
    struct _Agenda *next;
} Agenda;

Agenda *ins_agenda(Agenda *lista, Persona **persone, char *nome, char *cognome, Data data);

void print_agenda(Agenda *lista);

typedef struct _Vista {
    Agenda *elem;
    struct _Vista *next;
} Vista;

Vista *ins_vista(Vista *v, Agenda *e);

Vista *ins_vista_sort_by_data(Vista *v, Agenda *e);

void print_vista(Vista *v);

void free_vista(Vista *v);

Vista *select_persona(Agenda *lista, Persona *persone, char *nome, char *cognome);

Vista *select_giorno(Agenda *lista, Giorno g);

#endif /* AGENDA */
