LLDB mainline
lldb_private::Process::ProcessEventData Class Reference

#include <Process.h>

Inheritance diagram for lldb_private::Process::ProcessEventData:
[legend]

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 LogGetLogChannel ()

Static Public Member Functions

static llvm::StringRef GetFlavorString ()
static const Process::ProcessEventDataGetEventDataFromEvent (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 ProcessEventDataoperator= (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

Detailed Description

Definition at line 425 of file Process.h.

Constructor & Destructor Documentation

◆ ProcessEventData() [1/3]

◆ ProcessEventData() [2/3]

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.

◆ ~ProcessEventData()

Process::ProcessEventData::~ProcessEventData ( )
overridedefault

◆ ProcessEventData() [3/3]

lldb_private::Process::ProcessEventData::ProcessEventData ( const ProcessEventData & )
privatedelete

References ProcessEventData().

Member Function Documentation

◆ AddRestartedReason() [1/2]

void lldb_private::Process::ProcessEventData::AddRestartedReason ( const char * reason)
inlineprivate

Definition at line 492 of file Process.h.

References m_restarted_reasons.

◆ AddRestartedReason() [2/2]

void Process::ProcessEventData::AddRestartedReason ( Event * event_ptr,
const char * reason )
static

◆ DoOnRemoval()

◆ Dump()

void Process::ProcessEventData::Dump ( Stream * s) const
overridevirtual

◆ ForwardEventToPendingListeners()

bool Process::ProcessEventData::ForwardEventToPendingListeners ( Event * event_ptr)
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.

◆ GetEventDataFromEvent()

◆ GetFlavor()

llvm::StringRef Process::ProcessEventData::GetFlavor ( ) const
overridevirtual

Implements lldb_private::EventData.

Definition at line 4189 of file Process.cpp.

References GetFlavorString().

◆ GetFlavorString()

llvm::StringRef Process::ProcessEventData::GetFlavorString ( )
static

Definition at line 4185 of file Process.cpp.

Referenced by GetEventDataFromEvent(), and GetFlavor().

◆ GetInterrupted()

bool lldb_private::Process::ProcessEventData::GetInterrupted ( ) const
inline

Definition at line 451 of file Process.h.

References m_interrupted.

Referenced by GetInterruptedFromEvent().

◆ GetInterruptedFromEvent()

◆ GetNumRestartedReasons() [1/2]

size_t lldb_private::Process::ProcessEventData::GetNumRestartedReasons ( )
inline

◆ GetNumRestartedReasons() [2/2]

size_t Process::ProcessEventData::GetNumRestartedReasons ( const Event * event_ptr)
static

◆ GetProcessFromEvent()

◆ GetProcessSP()

lldb::ProcessSP lldb_private::Process::ProcessEventData::GetProcessSP ( ) const
inline

Definition at line 438 of file Process.h.

References m_process_wp.

Referenced by GetProcessFromEvent(), and lldb_private::Process::RunThreadPlan().

◆ GetRestarted()

bool lldb_private::Process::ProcessEventData::GetRestarted ( ) const
inline

Definition at line 441 of file Process.h.

References m_restarted.

Referenced by DoOnRemoval(), and GetRestartedFromEvent().

◆ GetRestartedFromEvent()

◆ GetRestartedReasonAtIndex() [1/2]

const char * Process::ProcessEventData::GetRestartedReasonAtIndex ( const Event * event_ptr,
size_t idx )
static

◆ GetRestartedReasonAtIndex() [2/2]

const char * lldb_private::Process::ProcessEventData::GetRestartedReasonAtIndex ( size_t idx)
inline

◆ GetState()

lldb::StateType lldb_private::Process::ProcessEventData::GetState ( ) const
inline

Definition at line 440 of file Process.h.

References m_state.

Referenced by GetStateFromEvent().

◆ GetStateFromEvent()

◆ operator=()

const ProcessEventData & lldb_private::Process::ProcessEventData::operator= ( const ProcessEventData & )
privatedelete

References ProcessEventData().

◆ SetInterrupted()

void lldb_private::Process::ProcessEventData::SetInterrupted ( bool new_value)
inlineprivate

Definition at line 490 of file Process.h.

References m_interrupted.

Referenced by SetInterruptedInEvent().

◆ SetInterruptedInEvent()

void Process::ProcessEventData::SetInterruptedInEvent ( Event * event_ptr,
bool new_value )
static

◆ SetRestarted()

void lldb_private::Process::ProcessEventData::SetRestarted ( bool new_value)
inlineprivate

Definition at line 488 of file Process.h.

References m_restarted.

Referenced by DoOnRemoval(), SetRestartedInEvent(), and ShouldStop().

◆ SetRestartedInEvent()

void Process::ProcessEventData::SetRestartedInEvent ( Event * event_ptr,
bool new_value )
static

◆ SetUpdateStateOnRemoval() [1/2]

void lldb_private::Process::ProcessEventData::SetUpdateStateOnRemoval ( )
inlineprivate

Definition at line 486 of file Process.h.

References m_update_state.

Referenced by lldb_private::Process::HandlePrivateEvent().

◆ SetUpdateStateOnRemoval() [2/2]

bool Process::ProcessEventData::SetUpdateStateOnRemoval ( Event * event_ptr)
static

◆ ShouldStop()

◆ Process

friend class Process
friend

Definition at line 426 of file Process.h.

References Process.

Referenced by Process.

Member Data Documentation

◆ m_interrupted

bool lldb_private::Process::ProcessEventData::m_interrupted = false
private

Definition at line 502 of file Process.h.

Referenced by DoOnRemoval(), GetInterrupted(), and SetInterrupted().

◆ m_process_wp

lldb::ProcessWP lldb_private::Process::ProcessEventData::m_process_wp
private

◆ m_restarted

bool lldb_private::Process::ProcessEventData::m_restarted = false
private

Definition at line 499 of file Process.h.

Referenced by DoOnRemoval(), GetRestarted(), and SetRestarted().

◆ m_restarted_reasons

std::vector<std::string> lldb_private::Process::ProcessEventData::m_restarted_reasons
private

◆ m_state

lldb::StateType lldb_private::Process::ProcessEventData::m_state = lldb::eStateInvalid
private

Definition at line 497 of file Process.h.

Referenced by DoOnRemoval(), GetState(), and ProcessEventData().

◆ m_update_state

int lldb_private::Process::ProcessEventData::m_update_state = 0
private

Definition at line 501 of file Process.h.

Referenced by DoOnRemoval(), ForwardEventToPendingListeners(), and SetUpdateStateOnRemoval().


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