1 //===-- InputReaderEZ.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 liblldb_InputReaderEZ_h_ 11 #define liblldb_InputReaderEZ_h_ 12 13 #include "lldb/Core/InputReader.h" 14 15 namespace lldb_private { 16 17 class InputReaderEZ : public InputReader 18 { 19 20 private: 21 22 static size_t Callback_Impl(void *baton, 23 InputReader &reader, 24 lldb::InputReaderAction notification, 25 const char *bytes, 26 size_t bytes_len); 27 public: 28 InputReaderEZ(Debugger & debugger)29 InputReaderEZ (Debugger &debugger) : 30 InputReader(debugger) 31 {} 32 33 virtual 34 ~InputReaderEZ (); 35 36 using InputReader::Initialize; 37 virtual Error 38 Initialize(void* baton, 39 lldb::InputReaderGranularity token_size = lldb::eInputReaderGranularityLine, 40 const char* end_token = "DONE", 41 const char *prompt = "> ", 42 bool echo = true); 43 44 virtual Error 45 Initialize(InitializationParameters& params); 46 47 virtual void ActivateHandler(HandlerData &)48 ActivateHandler(HandlerData&) {} 49 50 virtual void DeactivateHandler(HandlerData &)51 DeactivateHandler(HandlerData&) {} 52 53 virtual void ReactivateHandler(HandlerData &)54 ReactivateHandler(HandlerData&) {} 55 56 virtual void AsynchronousOutputWrittenHandler(HandlerData &)57 AsynchronousOutputWrittenHandler(HandlerData&) {} 58 59 virtual void GotTokenHandler(HandlerData &)60 GotTokenHandler(HandlerData&) {} 61 62 virtual void InterruptHandler(HandlerData &)63 InterruptHandler(HandlerData&) {} 64 65 virtual void EOFHandler(HandlerData &)66 EOFHandler(HandlerData&) {} 67 68 virtual void DoneHandler(HandlerData &)69 DoneHandler(HandlerData&) {} 70 71 virtual bool GetSaveUserInput()72 GetSaveUserInput() 73 { 74 return m_save_user_input; 75 } 76 77 protected: 78 friend class Debugger; 79 80 private: 81 DISALLOW_COPY_AND_ASSIGN (InputReaderEZ); 82 83 }; 84 85 } // namespace lldb_private 86 87 #endif // #ifndef liblldb_InputReaderEZ_h_ 88