/**
* \file ispell.C
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
* \author unknown
- * \author John Levon <levon@movementarian.org>
+ * \author Angus Leeming
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-#include "LString.h"
-#include "lyxrc.h"
-#include "language.h"
+#include "ispell.h"
+
+#include "bufferparams.h"
#include "debug.h"
#include "encoding.h"
-#include "ispell.h"
-#include "WordLangTuple.h"
#include "gettext.h"
-#include "bufferparams.h"
+#include "language.h"
+#include "lyxrc.h"
+#include "WordLangTuple.h"
#include "support/forkedcall.h"
-#include "support/lstrings.h"
// HP-UX 11.x doesn't have this header
#ifdef HAVE_SYS_SELECT_H
#endif
#include <sys/time.h>
-using namespace lyx::support;
+using boost::shared_ptr;
#ifndef CXX_GLOBAL_CSTD
using std::strcpy;
using std::strlen;
using std::strpbrk;
-using std::strstr;
#endif
using std::endl;
using std::max;
+using std::string;
+
namespace {
class LaunchIspell : public lyx::support::ForkedProcess {
+ typedef lyx::support::ForkedProcess ForkedProcess;
public:
///
LaunchIspell(BufferParams const & p, string const & l,
int * in, int * out, int * err)
: params(p), lang(l), pipein(in), pipeout(out), pipeerr(err) {}
///
- virtual lyx::support::ForkedProcess * clone() const {
- return new LaunchIspell(*this);
+ virtual shared_ptr<ForkedProcess> clone() const {
+ return shared_ptr<ForkedProcess>(new LaunchIspell(*this));
}
///
int start();
int LaunchIspell::start()
{
command_ = lyxrc.isp_command;
- return runNonBlocking();
+ return run(DontWait);
}