#include "Butikk_s.hh"
#include <fstream.h>

class ButikkImpl: public virtual POA_Butikk,
		  public virtual PortableServer::ServantBase {
public:
  ButikkImpl() { };
  KundeID regKunde(const char *navn) {
    KundeID len = kunder.length();
    kunder.length(len+1);
    kunder[len] = strdup(navn);
    return len;
  };
  char *getKunde(KundeID id) {
    return strdup(kunder[id]);
  };
  KundeListe *listKunder() {
    KundeListe *kundeliste = new KundeListe;
    CORBA::ULong j = 0;
    cout << endl;
    for (CORBA::ULong i = 0; i < kunder.length(); i++)
      if (strlen(kunder[i]) > 0) {
	kundeliste->length(++j);
	cout << "Kunde: " << kunder[i] << " (" << i << ")" << endl;
	(*kundeliste)[j-1] = strdup(kunder[i]);
      }
    return kundeliste;
  };
  void delKunde(KundeID id) {
    char *kunde = kunder[id];
    kunder[id] = "";
    delete kunde;
  };
private:
  KundeListe kunder;
};
