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

#ifndef DAEMON_H
#define DAEMON_H

#include <sys/types.h>
#include <signalhandler.h>

class daemon {
	public:
			virtual	~daemon();

			void	detach();
		static	void	waitOnChildren();
		static	void	handleShutDown(void *shutdownfunction);
			int	runAsUser(char *username);
			int	runAsGroup(char *groupname);
			int	runAsUserId(uid_t uid);
			int	runAsGroupId(gid_t gid);

	private:
		#include <private/daemon.h>

};

#endif