// $Source: /usr/local/SimSoft/Sfx3D/src/gsl/ftsladep.h,v $
// $Revision: 1.2 $
// $Author: baum $
// $Date: 2001/11/29 15:18:09 $
//
// Login name of the user who locked the revision
// $Locker:  $
// Tag name used to checkout the file
// $Name:  $
// State assigned to revision
// $State: Exp $
//
//
// $Log: ftsladep.h,v $
// Revision 1.2  2001/11/29 15:18:09  baum
// -Realzeitsteuerung eingebaut
// -Handsteuerung eingebaut
//

#ifndef _TANKVER_H
#define _TANKVER_H  1

#include "Token.h"
#include "DynArray.h"

#include "baustein.h"

#ifdef _TANKVER_CPP
#  undef _impexp
#  define _impexp __declspec(dllexport)
#elif defined BUILD_MAIN_DLL
#  undef _impexp
#  define _impexp
#else
#  undef _impexp
#  define _impexp __declspec(dllimport)
#endif

#if defined __GNUC__ || defined __hpux
#  undef _impexp
#  define _impexp
#endif

//---------------------------------------------------------
// Klasse typAvis
//---------------------------------------------------------
class typFtsWagen;


class _impexp typFtsLadePool : public typBaustein {
  public:
    typFtsLadePool (unsigned n, unsigned b);
    virtual ~typFtsLadePool ();
		double Laden (typFtsWagen* Kunde);

    virtual void 		 typTPVlesen (InputFile& file);
    virtual bool     hasKapazitaet (typTransportEinheit*) const;
	  virtual void     individuellAktivieren (typBaustein*);
		virtual void     typTTPlesen (InputFile& file);

		virtual typBaustein* gibLadeplatz(typFtsWagen* Kunde);		
		virtual typBaustein* gibParkplatz(typFtsWagen* Kunde);		


  private:

		DynArray<typBaustein> ObjLadeListe;
		DynArray<typBaustein> ObjParkListe;
    double MaxLadeZeit;
		double ObjLadeKapazitaet;
};


//---------------------------------------------------------
// Klasse typFtsLadePlatz
//---------------------------------------------------------

class _impexp typFtsLadePlatz : public typBaustein {
public:
	typFtsLadePlatz (unsigned n, unsigned b);	
	virtual bool hasKapazitaet(typTransportEinheit* zTE) const;
  virtual void individuellAktivieren (typBaustein* vonWem);

	void setBuchung();
	void loescheBuchung();
};

#endif
