| //===-- SBInputReader.h -----------------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLDB_SBInputReader_h_ |
| #define LLDB_SBInputReader_h_ |
| |
| #include <LLDB/SBDefines.h> |
| |
| #include <termios.h> |
| |
| namespace lldb { |
| |
| class SBInputReader |
| { |
| public: |
| |
| typedef size_t (*Callback) (void *baton, |
| SBInputReader *reader, |
| InputReaderAction notification, |
| const char *bytes, |
| size_t bytes_len); |
| |
| SBInputReader (); |
| |
| SBInputReader (const lldb::InputReaderSP &reader_sp); |
| |
| SBInputReader (const lldb::SBInputReader &rhs); |
| |
| ~SBInputReader (); |
| |
| |
| SBError |
| Initialize (Callback callback, |
| void *callback_baton, |
| lldb::InputReaderGranularity granularity, |
| const char *end_token, |
| const char *prompt, |
| bool echo); |
| |
| bool |
| IsValid () const; |
| |
| #ifndef SWIG |
| const SBInputReader & |
| operator = (const lldb::SBInputReader &rhs); |
| #endif |
| |
| bool |
| IsActive () const; |
| |
| bool |
| IsDone () const; |
| |
| void |
| SetIsDone (bool value); |
| |
| InputReaderGranularity |
| GetGranularity (); |
| |
| protected: |
| friend class SBDebugger; |
| |
| #ifndef SWIG |
| |
| lldb_private::InputReader * |
| operator->() const; |
| |
| lldb::InputReaderSP & |
| operator *(); |
| |
| const lldb::InputReaderSP & |
| operator *() const; |
| #endif |
| |
| lldb_private::InputReader * |
| get() const; |
| |
| private: |
| |
| static size_t |
| PrivateCallback (void *baton, |
| lldb_private::InputReader *reader, |
| lldb::InputReaderAction notification, |
| const char *bytes, |
| size_t bytes_len); |
| |
| lldb::InputReaderSP m_reader_sp; |
| Callback m_callback_function; |
| void *m_callback_baton; |
| }; |
| |
| } // namespace lldb |
| |
| #endif // LLDB_SBInputReader_h_ |