/***************************************************************************
                            kde_KProcessController.h -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 2 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/

#ifndef KDE_KPROCESSCONTROLLER
#define KDE_KPROCESSCONTROLLER

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

/**


  A class for internal use by KProcess only. -- Exactly one instance
  of this class is generated by the first instance of KProcess that is
  created (a pointer to it gets stored in @ref theKProcessController ).

 This class takes care of the actual (UN*X) signal handling.

 @author Christian Czezakte <e9025461@student.tuwien.ac.at>

 @short Used internally by @ref KProcess.
*/
kde_KProcessController * kde_new_KProcessController();
void kde_del_KProcessController( kde_KProcessController* p );

/** 

  
*/
void kde_KProcessController_addKProcess(kde_KProcessController* instPointer,kde_KProcess* arg1);

/** 

  
*/
void kde_KProcessController_removeKProcess(kde_KProcessController* instPointer,kde_KProcess* arg1);

/** 

   
*/
void kde_KProcessController_slotDoHousekeeping(kde_KProcessController* instPointer,int socket);

/** 
 Automatically called upon SIGCHLD.

 Normally you do not need to do anything with this function but
 if your application needs to disable SIGCHLD for some time for
 reasons beyond your control, you should call this function afterwards
 to make sure that no SIGCHLDs where missed.
   
*/
void kde_KProcessController_theSigCHLDHandler( int signal);

/** 

  
*/
void kde_KProcessController_setupHandlers( );

/** 

  
*/
void kde_KProcessController_resetHandlers( );

#endif
