LLDB  mainline
Public Member Functions | Protected Attributes | List of all members
IOHandlerProcessSTDIO Class Reference
Inheritance diagram for IOHandlerProcessSTDIO:
Inheritance graph
[legend]
Collaboration diagram for IOHandlerProcessSTDIO:
Collaboration graph
[legend]

Public Member Functions

 IOHandlerProcessSTDIO (Process *process, int write_fd)
 
 ~IOHandlerProcessSTDIO () 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::StreamFileSP &output_sp, const lldb::StreamFileSP &error_sp, uint32_t flags, repro::DataRecorder *data_recorder)
 
virtual ~IOHandler ()
 
bool IsActive ()
 
void SetIsDone (bool b)
 
bool GetIsDone ()
 
Type GetType () const
 
virtual void Activate ()
 
virtual void Deactivate ()
 
virtual void TerminalSizeChanged ()
 
virtual const char * GetPrompt ()
 
virtual bool SetPrompt (llvm::StringRef prompt)
 
bool SetPrompt (const char *)=delete
 
virtual ConstString GetControlSequence (char ch)
 
virtual const char * GetCommandPrefix ()
 
virtual const char * GetHelpPrologue ()
 
int GetInputFD ()
 
int GetOutputFD ()
 
int GetErrorFD ()
 
FILE * GetInputFILE ()
 
FILE * GetOutputFILE ()
 
FILE * GetErrorFILE ()
 
lldb::FileSP GetInputFileSP ()
 
lldb::StreamFileSP GetOutputStreamFileSP ()
 
lldb::StreamFileSP 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. More...
 
bool GetIsRealTerminal ()
 Check if the input is coming from a real terminal. More...
 
void SetPopped (bool b)
 
void WaitForPop ()
 
virtual void PrintAsync (const char *s, size_t len, bool is_stdout)
 
std::recursive_mutex & GetOutputMutex ()
 

Protected Attributes

Processm_process
 
NativeFile m_read_file
 
NativeFile m_write_file
 
Pipe m_pipe
 
std::mutex m_mutex
 
bool m_is_running = false
 
- Protected Attributes inherited from lldb_private::IOHandler
Debuggerm_debugger
 
lldb::FileSP m_input_sp
 
lldb::StreamFileSP m_output_sp
 
lldb::StreamFileSP m_error_sp
 
std::recursive_mutex m_output_mutex
 
repro::DataRecorderm_data_recorder
 
Predicate< bool > m_popped
 
Flags m_flags
 
Type m_type
 
void * m_user_data
 
bool m_done
 
bool m_active
 

Additional Inherited Members

- Public Types inherited from lldb_private::IOHandler
enum  Type {
  Type::CommandInterpreter, Type::CommandList, Type::Confirm, Type::Curses,
  Type::Expression, Type::REPL, Type::ProcessIO, Type::PythonInterpreter,
  Type::LuaInterpreter, Type::PythonCode, Type::Other
}
 

Detailed Description

Definition at line 4324 of file Process.cpp.

Constructor & Destructor Documentation

◆ IOHandlerProcessSTDIO()

IOHandlerProcessSTDIO::IOHandlerProcessSTDIO ( Process process,
int  write_fd 
)
inline

Definition at line 4326 of file Process.cpp.

◆ ~IOHandlerProcessSTDIO()

IOHandlerProcessSTDIO::~IOHandlerProcessSTDIO ( )
overridedefault

Member Function Documentation

◆ Cancel()

void IOHandlerProcessSTDIO::Cancel ( )
inlineoverridevirtual

Implements lldb_private::IOHandler.

Definition at line 4406 of file Process.cpp.

◆ GotEOF()

void IOHandlerProcessSTDIO::GotEOF ( )
inlineoverridevirtual

Implements lldb_private::IOHandler.

Definition at line 4456 of file Process.cpp.

◆ Interrupt()

bool IOHandlerProcessSTDIO::Interrupt ( )
inlineoverridevirtual

◆ Run()

void IOHandlerProcessSTDIO::Run ( )
inlineoverridevirtual

◆ SetIsRunning()

void IOHandlerProcessSTDIO::SetIsRunning ( bool  running)
inline

Definition at line 4337 of file Process.cpp.

Member Data Documentation

◆ m_is_running

bool IOHandlerProcessSTDIO::m_is_running = false
protected

Definition at line 4465 of file Process.cpp.

◆ m_mutex

std::mutex IOHandlerProcessSTDIO::m_mutex
protected

Definition at line 4464 of file Process.cpp.

◆ m_pipe

Pipe IOHandlerProcessSTDIO::m_pipe
protected

Definition at line 4463 of file Process.cpp.

◆ m_process

Process* IOHandlerProcessSTDIO::m_process
protected

Definition at line 4459 of file Process.cpp.

◆ m_read_file

NativeFile IOHandlerProcessSTDIO::m_read_file
protected

Definition at line 4460 of file Process.cpp.

◆ m_write_file

NativeFile IOHandlerProcessSTDIO::m_write_file
protected

Definition at line 4461 of file Process.cpp.


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