#ifndef __DirecTelefonico__
#define __DirecTelefonico__

#include "EstructuraABC.hpp"
#include "RegTelefonico.hpp"
#include <stdio.h>



/// Clase para manipular directorio telefonicos
/**
 * Clase para manipular registros telefonicos
 * @author Antonio Carrillo Ledesma
 * @date Verano 2011
 * @version 0.0.1
 * @bug No errors detected
 * @todo ...
 */
class DirecTelefonico : public EstructuraABC
{



public:

   /**
    * Constructor de la clase.
    *
    */
   DirecTelefonico(void)
   {

   }

   // Adiciona registro en la posicion indicada en la lista
   int adicionar(int pos)
   {
      if (pos >= 0 && pos <= lista.size())
      {
         It = lista.begin();
         advance (It, pos);
         RegTelefonico *a = new RegTelefonico();
         a->adicionaRegistro();
         lista.insert(It, a);
         return 0; // Ok
      }
      return 1; // Error
   }

   // Adiciona registro al final de la lista
   int adicionar(void)
   {
      RegTelefonico *a = new RegTelefonico();
      a->adicionaRegistro();
      lista.push_back(a);
      return 0; // Ok
   }

   // Adiciona registro leido al final de la lista
   int leerAdiciona(FILE *file)
   {
      RegTelefonico *a = new RegTelefonico();
      a->leerRegistro(file);
      if (!feof(file)) lista.push_back(a);
      return 0; // Ok
   }

};



#endif