LLDB mainline
lldb_private::IOHandlerProcessSTDIOWindows Class Reference
Inheritance diagram for lldb_private::IOHandlerProcessSTDIOWindows:
[legend]

Public Member Functions

 IOHandlerProcessSTDIOWindows (Process *process, HANDLE conpty_input)
 ~IOHandlerProcessSTDIOWindows () override=default
void SetIsRunning (bool running)
void Run () override
void Cancel () override
bool Interrupt () override
void GotEOF () override
Public Member Functions inherited from lldb_private::IOHandler
 IOHandler (Debugger &debugger, IOHandler::Type type)
 IOHandler (Debugger &debugger, IOHandler::Type type, const lldb::FileSP &input_sp, const lldb::LockableStreamFileSP &output_sp, const lldb::LockableStreamFileSP &error_sp, uint32_t flags)
virtual ~IOHandler ()
bool IsActive ()
void SetIsDone (bool b)
bool GetIsDone ()
Type GetType () const
virtual void Activate ()
virtual void Deactivate ()
virtual void TerminalSizeChanged ()
virtual void Refresh ()
virtual const char * GetPrompt ()
virtual bool SetPrompt (llvm::StringRef prompt)
virtual bool SetUseColor (bool use_color)
bool SetPrompt (const char *)=delete
virtual llvm::StringRef GetControlSequence (char ch)
virtual const char * GetCommandPrefix ()
virtual const char * GetHelpPrologue ()
int GetInputFD ()
int GetOutputFD ()
int GetErrorFD ()
lldb::FileSP GetInputFileSP ()
lldb::LockableStreamFileSP GetOutputStreamFileSP ()
lldb::LockableStreamFileSP GetErrorStreamFileSP ()
DebuggerGetDebugger ()
void * GetUserData ()
void SetUserData (void *user_data)
FlagsGetFlags ()
const FlagsGetFlags () const
bool GetIsInteractive ()
 Check if the input is being supplied interactively by a user.
bool GetIsRealTerminal ()
 Check if the input is coming from a real terminal.
void SetPopped (bool b)
void WaitForPop ()
virtual void PrintAsync (const char *s, size_t len, bool is_stdout)

Private Types

enum  ControlOp : char { eControlOpQuit = 'q' , eControlOpInterrupt = 'i' }

Private Attributes

Processm_process
NativeFile m_read_file
HANDLE m_write_file
Pipe m_pipe
std::mutex m_mutex
bool m_is_running = false

Additional Inherited Members

Public Types inherited from lldb_private::IOHandler
enum class  Type {
  CommandInterpreter , CommandList , Confirm , Curses ,
  Expression , REPL , ProcessIO , PythonInterpreter ,
  LuaInterpreter , PythonCode , Other
}
Protected Attributes inherited from lldb_private::IOHandler
Debuggerm_debugger
lldb::FileSP m_input_sp
lldb::LockableStreamFileSP m_output_sp
lldb::LockableStreamFileSP m_error_sp
Predicate< boolm_popped
Flags m_flags
Type m_type
void * m_user_data
bool m_done
bool m_active

Detailed Description

Definition at line 951 of file ProcessWindows.cpp.

Member Enumeration Documentation

◆ ControlOp

Enumerator
eControlOpQuit 
eControlOpInterrupt 

Definition at line 1064 of file ProcessWindows.cpp.

Constructor & Destructor Documentation

◆ IOHandlerProcessSTDIOWindows()

lldb_private::IOHandlerProcessSTDIOWindows::IOHandlerProcessSTDIOWindows ( Process * process,
HANDLE conpty_input )
inline

◆ ~IOHandlerProcessSTDIOWindows()

lldb_private::IOHandlerProcessSTDIOWindows::~IOHandlerProcessSTDIOWindows ( )
overridedefault

Member Function Documentation

◆ Cancel()

void lldb_private::IOHandlerProcessSTDIOWindows::Cancel ( )
inlineoverridevirtual

◆ GotEOF()

void lldb_private::IOHandlerProcessSTDIOWindows::GotEOF ( )
inlineoverridevirtual

Implements lldb_private::IOHandler.

Definition at line 1052 of file ProcessWindows.cpp.

◆ Interrupt()

bool lldb_private::IOHandlerProcessSTDIOWindows::Interrupt ( )
inlineoverridevirtual

◆ Run()

◆ SetIsRunning()

void lldb_private::IOHandlerProcessSTDIOWindows::SetIsRunning ( bool running)
inline

Definition at line 964 of file ProcessWindows.cpp.

References m_is_running, m_mutex, and lldb_private::IOHandler::SetIsDone().

Referenced by Run().

Member Data Documentation

◆ m_is_running

bool lldb_private::IOHandlerProcessSTDIOWindows::m_is_running = false
private

Definition at line 1062 of file ProcessWindows.cpp.

Referenced by Cancel(), and SetIsRunning().

◆ m_mutex

std::mutex lldb_private::IOHandlerProcessSTDIOWindows::m_mutex
private

Definition at line 1061 of file ProcessWindows.cpp.

Referenced by Cancel(), Run(), and SetIsRunning().

◆ m_pipe

Pipe lldb_private::IOHandlerProcessSTDIOWindows::m_pipe
private

Definition at line 1060 of file ProcessWindows.cpp.

Referenced by Cancel(), Interrupt(), IOHandlerProcessSTDIOWindows(), and Run().

◆ m_process

Process* lldb_private::IOHandlerProcessSTDIOWindows::m_process
private

Definition at line 1055 of file ProcessWindows.cpp.

Referenced by Interrupt(), IOHandlerProcessSTDIOWindows(), and Run().

◆ m_read_file

NativeFile lldb_private::IOHandlerProcessSTDIOWindows::m_read_file
private

Definition at line 1056 of file ProcessWindows.cpp.

Referenced by IOHandlerProcessSTDIOWindows(), and Run().

◆ m_write_file

HANDLE lldb_private::IOHandlerProcessSTDIOWindows::m_write_file
private
Initial value:
=
INVALID_HANDLE_VALUE

Definition at line 1057 of file ProcessWindows.cpp.

Referenced by IOHandlerProcessSTDIOWindows(), and Run().


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