//===-- InputReaderEZ.cpp ---------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "lldb/Core/InputReaderEZ.h" using namespace lldb; using namespace lldb_private; size_t InputReaderEZ::Callback_Impl(void *baton, InputReader &reader, lldb::InputReaderAction notification, const char *bytes, size_t bytes_len) { HandlerData hand_data(reader, bytes, bytes_len, baton); switch (notification) { case eInputReaderActivate: reader.ActivateHandler(hand_data); break; case eInputReaderDeactivate: reader.DeactivateHandler(hand_data); break; case eInputReaderReactivate: reader.ReactivateHandler(hand_data); break; case eInputReaderAsynchronousOutputWritten: reader.AsynchronousOutputWrittenHandler(hand_data); break; case eInputReaderGotToken: { if (reader.GetSaveUserInput()) reader.GetUserInput().AppendString(bytes, bytes_len); reader.GotTokenHandler(hand_data); } break; case eInputReaderInterrupt: reader.InterruptHandler(hand_data); break; case eInputReaderEndOfFile: reader.EOFHandler(hand_data); break; case eInputReaderDone: reader.DoneHandler(hand_data); break; } return bytes_len; } Error InputReaderEZ::Initialize(void* baton, lldb::InputReaderGranularity token_size, const char* end_token, const char *prompt, bool echo) { return InputReader::Initialize(Callback_Impl, baton, token_size, end_token, prompt, echo); } Error InputReaderEZ::Initialize(InitializationParameters& params) { Error ret = Initialize(params.m_baton, params.m_token_size, params.m_end_token, params.m_prompt, params.m_echo); m_save_user_input = params.m_save_user_input; return ret; } InputReaderEZ::~InputReaderEZ () { }