// Copyright (c) 1999-2000 David Muse
// See the COPYING file for more information.

#ifndef SIGNALHANDLER_H
#define SIGNALHANDLER_H

#include <signal.h>

class signalhandler {
	public:
			signalhandler();
		virtual	~signalhandler();

		void	setHandler(void *handler);

		void	noFlags();
		void	addFlag(int flag);
		int	noMasks();
		int	allMasks();
		int	addMask(int signum);
		int	removeMask(int signum);
		int	handlesMask(int signum);

		int	setSignal(int signum);
		int	setSignal(int signum, signalhandler *oldhandler);

		sigset_t	getMask();
		int		getFlags();

	private:
		#include <private/signalhandler.h>

};

#endif