#ifndef CPP_DOS_NOTIFY_H
#define CPP_DOS_NOTIFY_H

// Datei- und Verzeichnisnotifikation
//
// Autor: Jochen Becher
//
// Historie:
// Version 1.0 am 18. Februar 94

#ifndef DOS_NOTIFY_H
#include <dos/notify.h>
#endif

#ifndef EXEC_TASKS_H
#include <exec/tasks.h>
#endif

#ifndef CPP_EXEC_PORTS_H
#include <classes/exec/ports.h>
#endif

class NotifyC {
public:
	NotifyC();
	NotifyC(const NotifyC &);
	~NotifyC();
	NotifyC &operator= (const NotifyC &);
	BOOL isMonitoring() const { return outstanding; };
	BOOL start(STRPTR name, PortC &, APTR userData = NULL,
		BOOL wait = TRUE, BOOL initial = TRUE);
	BOOL start(STRPTR name, struct Task *, UBYTE signal,
		APTR userData = NULL, BOOL initial = TRUE);
	BOOL restart();
	VOID end();
private:
	struct NotifyRequest nreq;
	BOOL inited;
	BOOL outstanding;
};

#endif
