1//===-- SWIG Interface for SBInputREader ------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10namespace lldb {
11
12class SBInputReader
13{
14public:
15
16    typedef size_t (*Callback) (void *baton,
17                                SBInputReader *reader,
18                                InputReaderAction notification,
19                                const char *bytes,
20                                size_t bytes_len);
21
22    SBInputReader ();
23
24    SBInputReader (const lldb::SBInputReader &rhs);
25
26    ~SBInputReader ();
27
28    SBError
29    Initialize (SBDebugger &debugger,
30                Callback callback,
31                void *callback_baton,
32                lldb::InputReaderGranularity granularity,
33                const char *end_token,
34                const char *prompt,
35                bool echo);
36
37    bool
38    IsValid () const;
39
40    bool
41    IsActive () const;
42
43    bool
44    IsDone () const;
45
46    void
47    SetIsDone (bool value);
48
49    InputReaderGranularity
50    GetGranularity ();
51};
52
53} // namespace lldb
54