]> git.lyx.org Git - lyx.git/blob - src/sp_base.h
#include "LString.h" in the right places. Must be doing something right
[lyx.git] / src / sp_base.h
1 #ifndef SP_BASE_H
2 #define SP_BASE_H
3
4 // needed for pid_t typedef
5 #include <sys/types.h>
6 #include "LString.h" // can't forward declare...
7
8 class BufferParams;
9
10 class SpellBase
11 {
12  public:
13
14    /// status
15    enum spellStatus  {
16         ISP_OK = 1,
17         ISP_ROOT,
18         ISP_COMPOUNDWORD,
19         ISP_UNKNOWN,
20         ISP_MISSED,
21         ISP_IGNORE
22    };
23    
24    virtual ~SpellBase() {}
25
26    virtual void initialize(BufferParams const & , string const & ) = 0;
27
28    virtual bool alive() = 0;
29    
30    virtual void cleanUp() = 0;
31
32    virtual enum spellStatus check(string const &) = 0;
33
34    virtual void close() = 0;
35
36    virtual void insert(string const & ) = 0;
37
38    virtual void accept(string const & ) = 0;
39
40    virtual void store(string const & , string const & ) = 0;
41
42    virtual char const * error() = 0;
43
44    virtual char const * nextMiss() = 0;
45      
46    virtual void sigchldhandler(pid_t pid, int *) = 0;
47
48 };
49
50 #endif
51