LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

SBInputReader.h
Go to the documentation of this file.
1 //===-- SBInputReader.h -----------------------------------------*- 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
10 #ifndef LLDB_SBInputReader_h_
11 #define LLDB_SBInputReader_h_
12
13 #include "lldb/API/SBDefines.h"
14
15 namespace lldb {
16
17 class SBInputReader
18 {
19 public:
20
21 typedef size_t (*Callback) (void *baton,
22 SBInputReader *reader,
23 InputReaderAction notification,
24 const char *bytes,
25 size_t bytes_len);
26
27 SBInputReader ();
28
29 SBInputReader (const lldb::InputReaderSP &reader_sp);
30
31 SBInputReader (const lldb::SBInputReader &rhs);
32
33 ~SBInputReader ();
34
35
36 SBError
37 Initialize (SBDebugger &debugger,
38 Callback callback,
39 void *callback_baton,
40 lldb::InputReaderGranularity granularity,
41 const char *end_token,
42 const char *prompt,
43 bool echo);
44
45 bool
46 IsValid () const;
47
48 const lldb::SBInputReader &
49 operator = (const lldb::SBInputReader &rhs);
50
51 bool
52 IsActive () const;
53
54 bool
55 IsDone () const;
56
57 void
58 SetIsDone (bool value);
59
60 InputReaderGranularity
61 GetGranularity ();
62
63 protected:
64 friend class SBDebugger;
65
66 lldb_private::InputReader *
67 operator->() const;
68
69 lldb::InputReaderSP &
70 operator *();
71
72 const lldb::InputReaderSP &
73 operator *() const;
74
75 lldb_private::InputReader *
76 get() const;
77
78 lldb_private::InputReader &
79 ref() const;
80
81 private:
82
83 static size_t
84 PrivateCallback (void *baton,
85 lldb_private::InputReader &reader,
86 lldb::InputReaderAction notification,
87 const char *bytes,
88 size_t bytes_len);
89
90 lldb::InputReaderSP m_opaque_sp;
91 Callback m_callback_function;
92 void *m_callback_baton;
93 };
94
95 } // namespace lldb
96
97 #endif // LLDB_SBInputReader_h_