* Licence details can be found in the file COPYING.
*
* \author Alfredo Braunstein (based on an idea from Angus Leeming)
- *
- * Full author contact details are available in file CREDITS
- *
- * This class implements a queue of forked processes. In order not to
- * hose the system with multiple processes running simultaneously, you can
- * request the addition of your process to this queue and it will be
+ *
+ * Full author contact details are available in file CREDITS.
+ *
+ * This class implements a queue of forked processes. In order not to
+ * hose the system with multiple processes running simultaneously, you can
+ * request the addition of your process to this queue and it will be
* executed when its turn comes.
- *
+ *
*/
#ifndef FORKEDCALLQUEUE_H
#define FORKEDCALLQUEUE_H
-#include "forkedcall.h"
+#include "support/forkedcall.h"
#include <queue>
#include <utility>
-#include "LString.h"
+
+
+namespace lyx {
+namespace support {
class ForkedCallQueue {
public:
/// A process in the queue
- typedef std::pair<string, Forkedcall::SignalTypePtr> Process;
- /** Add a process to the queue. Processes are forked sequentially
- * only one is running at a time.
- * Connect to the returned signal and you'll be informed when
- * the process has ended.
- */
- Forkedcall::SignalTypePtr add(string const & process);
- /// Query whether the queue is running a forked process now.
+ typedef std::pair<std::string, Forkedcall::SignalTypePtr> Process;
+ /** Add a process to the queue. Processes are forked sequentially
+ * only one is running at a time.
+ * Connect to the returned signal and you'll be informed when
+ * the process has ended.
+ */
+ Forkedcall::SignalTypePtr add(std::string const & process);
+ /// Query whether the queue is running a forked process now.
bool running() const;
/// Get the and only instance of the class
static ForkedCallQueue & get();
private:
- /** this class is a singleton class... use
+ /** this class is a singleton class... use
* ForkedCallQueue::get() instead
*/
ForkedCallQueue();
- /// in-progress queue
+ /// in-progress queue
std::queue<Process> callQueue_;
///
bool running_;
void callback(pid_t, int);
};
+} // namespace support
+} // namespace lyx
+
#endif // FORKEDCALLQUEUE_H