#ifndef Update_H
#define Update_H

#include <Fortschritt.h>
#include <TextFeld.h>

struct UpdateParams
{
	int dateiGruppe;
	bool *abbruch;
	Framework::TextFeld *zStatus;
	Framework::FBalken *zFortschritt;
};

class UpdaterV
{
public:
	// nicht constant
	virtual int getNextDateiGruppe( Framework::Text *zDgPfad ) = 0;
	virtual int update( UpdateParams *zParams ) = 0;
	// constant
	virtual char *getError() const = 0;
	virtual int getDownload() const = 0;
	// Reference Counting
	virtual UpdaterV *getThis() = 0;
	virtual UpdaterV *release() = 0;
};

#endif