LLDB mainline
Public Member Functions | Protected Attributes | List of all members
lldb_private::IOHandlerDelegateMultiline Class Reference

#include <IOHandler.h>

Inheritance diagram for lldb_private::IOHandlerDelegateMultiline:
Inheritance graph

Public Member Functions

 IOHandlerDelegateMultiline (const char *end_line, Completion completion=Completion::None)
 ~IOHandlerDelegateMultiline () override=default
ConstString IOHandlerGetControlSequence (char ch) override
bool IOHandlerIsInputComplete (IOHandler &io_handler, StringList &lines) override
 Called to determine whether typing enter after the last line in lines should end input.
- Public Member Functions inherited from lldb_private::IOHandlerDelegate
 IOHandlerDelegate (Completion completion=Completion::None)
virtual ~IOHandlerDelegate ()=default
virtual void IOHandlerActivated (IOHandler &io_handler, bool interactive)
virtual void IOHandlerDeactivated (IOHandler &io_handler)
virtual std::optional< std::string > IOHandlerSuggestion (IOHandler &io_handler, llvm::StringRef line)
virtual void IOHandlerComplete (IOHandler &io_handler, CompletionRequest &request)
virtual const char * IOHandlerGetFixIndentationCharacters ()
virtual int IOHandlerFixIndentation (IOHandler &io_handler, const StringList &lines, int cursor_position)
 Called when a new line is created or one of an identified set of indentation characters is typed.
virtual void IOHandlerInputComplete (IOHandler &io_handler, std::string &data)=0
 Called when a line or lines have been retrieved.
virtual void IOHandlerInputInterrupted (IOHandler &io_handler, std::string &data)
virtual bool IOHandlerIsInputComplete (IOHandler &io_handler, StringList &lines)
 Called to determine whether typing enter after the last line in lines should end input.
virtual ConstString IOHandlerGetControlSequence (char ch)
virtual const char * IOHandlerGetCommandPrefix ()
virtual const char * IOHandlerGetHelpPrologue ()
virtual bool IOHandlerInterrupt (IOHandler &io_handler)

Protected Attributes

const std::string m_end_line
- Protected Attributes inherited from lldb_private::IOHandlerDelegate
Completion m_completion

Additional Inherited Members

- Public Types inherited from lldb_private::IOHandlerDelegate
enum class  Completion { None , LLDBCommand , Expression }

Detailed Description

Definition at line 296 of file IOHandler.h.

Constructor & Destructor Documentation

◆ IOHandlerDelegateMultiline()

lldb_private::IOHandlerDelegateMultiline::IOHandlerDelegateMultiline ( const char *  end_line,
Completion  completion = Completion::None 

Definition at line 298 of file IOHandler.h.

◆ ~IOHandlerDelegateMultiline()

lldb_private::IOHandlerDelegateMultiline::~IOHandlerDelegateMultiline ( )

Member Function Documentation

◆ IOHandlerGetControlSequence()

ConstString lldb_private::IOHandlerDelegateMultiline::IOHandlerGetControlSequence ( char  ch)

Reimplemented from lldb_private::IOHandlerDelegate.

Definition at line 305 of file IOHandler.h.

References m_end_line.

◆ IOHandlerIsInputComplete()

bool lldb_private::IOHandlerDelegateMultiline::IOHandlerIsInputComplete ( IOHandler io_handler,
StringList lines 

Called to determine whether typing enter after the last line in lines should end input.

This function will not be called on IOHandler objects that are getting single lines.

[in]io_handlerThe IOHandler that responsible for updating the lines.
[in]linesThe current multi-line content. May be altered to provide alternative input when complete.
Return an boolean to indicate whether input is complete, true indicates that no additional input is necessary, while false indicates that more input is required.

Reimplemented from lldb_private::IOHandlerDelegate.

Definition at line 311 of file IOHandler.h.

References lldb_private::StringList::GetSize(), m_end_line, and lldb_private::StringList::PopBack().

Member Data Documentation

◆ m_end_line

const std::string lldb_private::IOHandlerDelegateMultiline::m_end_line

Definition at line 325 of file IOHandler.h.

Referenced by IOHandlerGetControlSequence(), and IOHandlerIsInputComplete().

The documentation for this class was generated from the following file: