// -*- C++ -*-
/**
* \file forkedcontr.h
- * Copyright 2001 The LyX Team
- * Read COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
* \author Asger Alstrup Nielsen
* \author Angus Leeming
*
+ * Full author contact details are available in file CREDITS
+ *
* A class for the control of child processes launched using
* fork() and execvp().
*/
#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 ForkedProcess;
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 addCall(ForkedProcess const &);
/** This method is connected to the timer. Every XX ms it is called
* so that we can check on the status of the children. Those that
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 child processes
- typedef std::list<Forkedcall *> ListType;
+ typedef std::list<ForkedProcess *> ListType;
///
ListType forkedCalls;
/** 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