LLDB mainline
|
#include <Process.h>
Public Member Functions | |
ProcessEventData () | |
ProcessEventData (const lldb::ProcessSP &process, lldb::StateType state) | |
~ProcessEventData () override | |
llvm::StringRef | GetFlavor () const override |
lldb::ProcessSP | GetProcessSP () const |
lldb::StateType | GetState () const |
bool | GetRestarted () const |
size_t | GetNumRestartedReasons () |
const char * | GetRestartedReasonAtIndex (size_t idx) |
bool | GetInterrupted () const |
void | Dump (Stream *s) const override |
virtual bool | ShouldStop (Event *event_ptr, bool &found_valid_stopinfo) |
void | DoOnRemoval (Event *event_ptr) override |
Public Member Functions inherited from lldb_private::EventData | |
EventData () | |
virtual | ~EventData () |
virtual Log * | GetLogChannel () |
Static Public Member Functions | |
static llvm::StringRef | GetFlavorString () |
static const Process::ProcessEventData * | GetEventDataFromEvent (const Event *event_ptr) |
static lldb::ProcessSP | GetProcessFromEvent (const Event *event_ptr) |
static lldb::StateType | GetStateFromEvent (const Event *event_ptr) |
static bool | GetRestartedFromEvent (const Event *event_ptr) |
static size_t | GetNumRestartedReasons (const Event *event_ptr) |
static const char * | GetRestartedReasonAtIndex (const Event *event_ptr, size_t idx) |
static void | AddRestartedReason (Event *event_ptr, const char *reason) |
static void | SetRestartedInEvent (Event *event_ptr, bool new_value) |
static bool | GetInterruptedFromEvent (const Event *event_ptr) |
static void | SetInterruptedInEvent (Event *event_ptr, bool new_value) |
static bool | SetUpdateStateOnRemoval (Event *event_ptr) |
Private Member Functions | |
bool | ForwardEventToPendingListeners (Event *event_ptr) override |
This will be queried for a Broadcaster with a primary and some secondary listeners after the primary listener pulled the event from the event queue and ran its DoOnRemoval, right before the event is delivered. | |
void | SetUpdateStateOnRemoval () |
void | SetRestarted (bool new_value) |
void | SetInterrupted (bool new_value) |
void | AddRestartedReason (const char *reason) |
ProcessEventData (const ProcessEventData &)=delete | |
const ProcessEventData & | operator= (const ProcessEventData &)=delete |
Private Attributes | |
lldb::ProcessWP | m_process_wp |
lldb::StateType | m_state = lldb::eStateInvalid |
std::vector< std::string > | m_restarted_reasons |
bool | m_restarted = false |
int | m_update_state = 0 |
bool | m_interrupted = false |
Friends | |
class | Process |
Process::ProcessEventData::ProcessEventData | ( | ) |
Definition at line 4174 of file Process.cpp.
References lldb_private::EventData::EventData(), and m_process_wp.
Referenced by AddRestartedReason(), GetEventDataFromEvent(), GetInterruptedFromEvent(), GetNumRestartedReasons(), GetProcessFromEvent(), GetRestartedFromEvent(), GetRestartedReasonAtIndex(), GetStateFromEvent(), operator=(), ProcessEventData(), SetInterruptedInEvent(), SetRestartedInEvent(), and SetUpdateStateOnRemoval().
Process::ProcessEventData::ProcessEventData | ( | const lldb::ProcessSP & | process, |
lldb::StateType | state ) |
Definition at line 4176 of file Process.cpp.
References lldb_private::EventData::EventData(), m_process_wp, and m_state.
|
overridedefault |
|
privatedelete |
References ProcessEventData().
|
inlineprivate |
Definition at line 492 of file Process.h.
References m_restarted_reasons.
|
static |
Definition at line 4457 of file Process.cpp.
References AddRestartedReason(), lldb_private::EventData::Event, GetEventDataFromEvent(), and ProcessEventData().
Referenced by AddRestartedReason(), and lldb_private::StopInfoUnixSignal::DoShouldNotify().
|
overridevirtual |
Reimplemented from lldb_private::EventData.
Definition at line 4308 of file Process.cpp.
References lldb_private::Process::eBroadcastBitStateChanged, lldb::eStateStopped, lldb_private::EventData::Event, GetRestarted(), GetRestartedFromEvent(), lldb_private::Event::GetType(), m_interrupted, m_process_wp, m_restarted, m_state, m_update_state, SetRestarted(), and ShouldStop().
|
overridevirtual |
Reimplemented from lldb_private::EventData.
Definition at line 4380 of file Process.cpp.
References lldb_private::Process::GetState(), m_process_wp, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), and lldb_private::StateAsCString().
|
overrideprivatevirtual |
This will be queried for a Broadcaster with a primary and some secondary listeners after the primary listener pulled the event from the event queue and ran its DoOnRemoval, right before the event is delivered.
If it returns true, the event will also be forwarded to the secondary listeners, and if false, event propagation stops at the primary listener. Some broadcasters (particularly the Process broadcaster) fetch events on a private Listener, and then forward the event to the Public Listeners after some processing. The Process broadcaster does not want to forward to the secondary listeners at the private processing stage.
Reimplemented from lldb_private::EventData.
Definition at line 4297 of file Process.cpp.
References lldb_private::Process::eBroadcastBitStateChanged, lldb_private::EventData::Event, lldb_private::Event::GetType(), and m_update_state.
|
static |
Definition at line 4393 of file Process.cpp.
References lldb_private::EventData::Event, lldb_private::EventData::EventData(), lldb_private::Event::GetData(), lldb_private::EventData::GetFlavor(), GetFlavorString(), and ProcessEventData().
Referenced by AddRestartedReason(), lldb::SBProcess::EventIsProcessEvent(), GetInterruptedFromEvent(), GetNumRestartedReasons(), GetProcessFromEvent(), GetRestartedFromEvent(), GetRestartedReasonAtIndex(), GetStateFromEvent(), lldb_private::Process::RunThreadPlan(), SetInterruptedInEvent(), SetRestartedInEvent(), and SetUpdateStateOnRemoval().
|
overridevirtual |
Implements lldb_private::EventData.
Definition at line 4189 of file Process.cpp.
References GetFlavorString().
|
static |
Definition at line 4185 of file Process.cpp.
Referenced by GetEventDataFromEvent(), and GetFlavor().
|
inline |
Definition at line 451 of file Process.h.
References m_interrupted.
Referenced by GetInterruptedFromEvent().
Definition at line 4465 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), GetInterrupted(), and ProcessEventData().
Referenced by lldb_private::ThreadPlanCallFunction::DoPlanExplainsStop(), lldb::SBProcess::GetInterruptedFromEvent(), HandleStoppedEvent(), lldb_private::Process::RunThreadPlan(), lldb_private::Process::ShouldBroadcastEvent(), and lldb_private::ThreadList::ShouldStop().
|
inline |
Definition at line 443 of file Process.h.
References m_restarted_reasons.
Referenced by GetNumRestartedReasons(), lldb::SBProcess::GetNumRestartedReasonsFromEvent(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
static |
Definition at line 4437 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), GetNumRestartedReasons(), and ProcessEventData().
Definition at line 4404 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), GetProcessSP(), and ProcessEventData().
Referenced by lldb::SBProcess::GetProcessFromEvent(), lldb_private::Debugger::HandleProcessEvent(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
inline |
Definition at line 438 of file Process.h.
References m_process_wp.
Referenced by GetProcessFromEvent(), and lldb_private::Process::RunThreadPlan().
|
inline |
Definition at line 441 of file Process.h.
References m_restarted.
Referenced by DoOnRemoval(), and GetRestartedFromEvent().
Definition at line 4420 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), GetRestarted(), and ProcessEventData().
Referenced by DoOnRemoval(), lldb::SBProcess::GetRestartedFromEvent(), lldb_private::ThreadPlanSingleThreadTimeout::HandleEvent(), lldb_private::Process::HandlePrivateEvent(), lldb_private::Process::HandleProcessStateChangedEvent(), lldb_private::Process::RunThreadPlan(), lldb_private::Process::ShouldBroadcastEvent(), lldb_private::Thread::ShouldStop(), and lldb_private::Process::WaitForProcessToStop().
|
static |
Definition at line 4447 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), GetRestartedReasonAtIndex(), and ProcessEventData().
|
inline |
Definition at line 445 of file Process.h.
References m_restarted_reasons.
Referenced by GetRestartedReasonAtIndex(), lldb::SBProcess::GetRestartedReasonAtIndexFromEvent(), and lldb_private::Process::HandleProcessStateChangedEvent().
|
inline |
Definition at line 4412 of file Process.cpp.
References lldb::eStateInvalid, lldb_private::EventData::Event, GetEventDataFromEvent(), GetState(), and ProcessEventData().
Referenced by lldb_private::Process::GetNextEvent(), lldb_private::Process::GetStateChangedEvents(), lldb_private::Process::GetStateChangedEventsPrivate(), lldb::SBProcess::GetStateFromEvent(), lldb_private::Process::HandlePrivateEvent(), lldb_private::Debugger::HandleProcessEvent(), lldb_private::Process::HandleProcessStateChangedEvent(), lldb_private::ThreadPlanSingleThreadTimeout::IsTimeoutAsyncInterrupt(), lldb_private::Process::PeekAtStateChangedEvents(), lldb_private::Process::AttachCompletionHandler::PerformAction(), lldb_private::Process::RunPrivateStateThread(), lldb_private::Process::RunThreadPlan(), and lldb_private::Process::ShouldBroadcastEvent().
|
privatedelete |
References ProcessEventData().
|
inlineprivate |
Definition at line 490 of file Process.h.
References m_interrupted.
Referenced by SetInterruptedInEvent().
Definition at line 4474 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), ProcessEventData(), and SetInterrupted().
Referenced by lldb_private::Process::RunPrivateStateThread().
|
inlineprivate |
Definition at line 488 of file Process.h.
References m_restarted.
Referenced by DoOnRemoval(), SetRestartedInEvent(), and ShouldStop().
Definition at line 4428 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), ProcessEventData(), and SetRestarted().
Referenced by lldb_private::Process::ShouldBroadcastEvent().
|
inlineprivate |
Definition at line 486 of file Process.h.
References m_update_state.
Referenced by lldb_private::Process::HandlePrivateEvent().
Definition at line 4482 of file Process.cpp.
References lldb_private::EventData::Event, GetEventDataFromEvent(), ProcessEventData(), and SetUpdateStateOnRemoval().
Referenced by SetUpdateStateOnRemoval().
|
virtual |
Definition at line 4193 of file Process.cpp.
References lldb::eStateSuspended, lldb_private::EventData::Event, lldb_private::GetLog(), lldb_private::ThreadList::GetSize(), lldb_private::ThreadList::GetThreadAtIndex(), LLDB_LOG, LLDB_LOGF, m_process_wp, lldb_private::Process, SetRestarted(), lldb_private::Step, and lldb_private::Process::ThreadList.
Referenced by DoOnRemoval().
|
friend |
|
private |
Definition at line 502 of file Process.h.
Referenced by DoOnRemoval(), GetInterrupted(), and SetInterrupted().
|
private |
Definition at line 496 of file Process.h.
Referenced by DoOnRemoval(), Dump(), GetProcessSP(), ProcessEventData(), ProcessEventData(), and ShouldStop().
|
private |
Definition at line 499 of file Process.h.
Referenced by DoOnRemoval(), GetRestarted(), and SetRestarted().
|
private |
Definition at line 498 of file Process.h.
Referenced by AddRestartedReason(), GetNumRestartedReasons(), and GetRestartedReasonAtIndex().
|
private |
Definition at line 497 of file Process.h.
Referenced by DoOnRemoval(), GetState(), and ProcessEventData().
|
private |
Definition at line 501 of file Process.h.
Referenced by DoOnRemoval(), ForwardEventToPendingListeners(), and SetUpdateStateOnRemoval().