#ifndef FORKEDCONTR_H
#define FORKEDCONTR_H
-#include <list>
-#include <vector>
#include "LString.h"
-#include <sigc++/signal_system.h>
+
+#include <boost/signals/signal0.hpp>
+#include <boost/signals/trackable.hpp>
+
#include <sys/types.h> // needed for pid_t
+#include <list>
+#include <vector>
+
#ifdef __GNUG__
#pragma interface
#endif
class Forkedcall;
class Timeout;
-class ForkedcallsController : public SigC::Object {
+class ForkedcallsController : public boost::signals::trackable {
public:
+ /// We need this to avoid warnings.
+ ForkedcallsController();
/** This d-tor should really be private, but making it public
* allows egcs 1.1 to compile the class.
*/
~ForkedcallsController();
/// Get hold of the only controller that can exist inside the process.
- static ForkedcallsController & get();
+ static ForkedcallsController & get();
/// Add a new child process to the list of controlled processes.
void addCall(Forkedcall const & newcall);
void kill(pid_t, int tolerance = 5);
/// Signal emitted when the list of current child processes changes.
- SigC::Signal0<void> childrenChanged;
-
+ boost::signal0<void> childrenChanged;
+
private:
- /// Can't create multiple instances of ForkedcallsController.
- ForkedcallsController();
///
ForkedcallsController(ForkedcallsController const &);
/** The timer. Enables us to check the status of the children
* every XX ms and to invoke a callback on completion.
*/
- Timeout * timeout_;
+ Timeout * timeout_;
};
#endif // FORKEDCONTR_H