LLDB mainline
lldb_private::Event Class Reference

#include <Event.h>

Inheritance diagram for lldb_private::Event:
[legend]

Public Member Functions

 Event (Broadcaster *broadcaster, uint32_t event_type, EventData *data=nullptr)
 Event (Broadcaster *broadcaster, uint32_t event_type, const lldb::EventDataSP &event_data_sp)
 Event (uint32_t event_type, EventData *data=nullptr)
 Event (uint32_t event_type, const lldb::EventDataSP &event_data_sp)
 ~Event ()
void Dump (Stream *s) const
EventDataGetData ()
const EventDataGetData () const
void SetData (EventData *new_data)
uint32_t GetType () const
void SetType (uint32_t new_type)
BroadcasterGetBroadcaster () const
bool BroadcasterIs (Broadcaster *broadcaster)
void Clear ()
void AddPendingListener (lldb::ListenerSP pending_listener_sp)
 This is used by Broadcasters with Primary Listeners to store the other Listeners till after the Event's DoOnRemoval has completed.

Private Member Functions

void DoOnRemoval ()
void SetBroadcaster (Broadcaster *broadcaster)
 Event (const Event &)=delete
const Eventoperator= (const Event &)=delete
 Event ()=delete

Private Attributes

Broadcaster::BroadcasterImplWP m_broadcaster_wp
uint32_t m_type
lldb::EventDataSP m_data_sp
std::vector< lldb::ListenerSPm_pending_listeners
std::mutex m_listeners_mutex

Friends

class Listener
class EventData
class Broadcaster::BroadcasterImpl

Detailed Description

Definition at line 179 of file Event.h.

Constructor & Destructor Documentation

◆ Event() [1/6]

Event::Event ( Broadcaster * broadcaster,
uint32_t event_type,
EventData * data = nullptr )

Definition at line 33 of file Event.cpp.

References EventData, m_broadcaster_wp, m_data_sp, and m_type.

Referenced by Event(), and operator=().

◆ Event() [2/6]

Event::Event ( Broadcaster * broadcaster,
uint32_t event_type,
const lldb::EventDataSP & event_data_sp )

Definition at line 37 of file Event.cpp.

References m_broadcaster_wp, m_data_sp, and m_type.

◆ Event() [3/6]

Event::Event ( uint32_t event_type,
EventData * data = nullptr )

Definition at line 42 of file Event.cpp.

References EventData, m_broadcaster_wp, m_data_sp, and m_type.

◆ Event() [4/6]

Event::Event ( uint32_t event_type,
const lldb::EventDataSP & event_data_sp )

Definition at line 45 of file Event.cpp.

References m_broadcaster_wp, m_data_sp, and m_type.

◆ ~Event()

Event::~Event ( )
default

◆ Event() [5/6]

lldb_private::Event::Event ( const Event & )
privatedelete

References Event().

◆ Event() [6/6]

lldb_private::Event::Event ( )
privatedelete

Member Function Documentation

◆ AddPendingListener()

void lldb_private::Event::AddPendingListener ( lldb::ListenerSP pending_listener_sp)
inline

This is used by Broadcasters with Primary Listeners to store the other Listeners till after the Event's DoOnRemoval has completed.

Definition at line 231 of file Event.h.

References m_pending_listeners.

◆ BroadcasterIs()

bool lldb_private::Event::BroadcasterIs ( Broadcaster * broadcaster)
inline

Definition at line 218 of file Event.h.

References m_broadcaster_wp.

Referenced by lldb::SBEvent::BroadcasterMatchesRef().

◆ Clear()

void lldb_private::Event::Clear ( )
inline

Definition at line 227 of file Event.h.

References m_data_sp.

Referenced by lldb::SBEvent::Clear().

◆ DoOnRemoval()

void Event::DoOnRemoval ( )
private

Definition at line 83 of file Event.cpp.

References m_data_sp, m_listeners_mutex, and m_pending_listeners.

◆ Dump()

◆ GetBroadcaster()

Broadcaster * lldb_private::Event::GetBroadcaster ( ) const
inline

Definition at line 209 of file Event.h.

References m_broadcaster_wp.

Referenced by lldb::SBEvent::GetBroadcaster(), and lldb::SBEvent::GetBroadcasterClass().

◆ GetData() [1/2]

◆ GetData() [2/2]

const EventData * lldb_private::Event::GetData ( ) const
inline

Definition at line 201 of file Event.h.

References EventData, and m_data_sp.

◆ GetType()

uint32_t lldb_private::Event::GetType ( ) const
inline

◆ operator=()

const Event & lldb_private::Event::operator= ( const Event & )
privatedelete

References Event().

◆ SetBroadcaster()

void lldb_private::Event::SetBroadcaster ( Broadcaster * broadcaster)
inlineprivate

Definition at line 245 of file Event.h.

References lldb_private::Broadcaster::GetBroadcasterImpl(), and m_broadcaster_wp.

◆ SetData()

void lldb_private::Event::SetData ( EventData * new_data)
inline

Definition at line 203 of file Event.h.

References EventData, and m_data_sp.

◆ SetType()

void lldb_private::Event::SetType ( uint32_t new_type)
inline

Definition at line 207 of file Event.h.

References m_type.

◆ Broadcaster::BroadcasterImpl

friend class Broadcaster::BroadcasterImpl
friend

Definition at line 182 of file Event.h.

References EventData.

◆ EventData

friend class EventData
friend

Definition at line 181 of file Event.h.

References EventData.

Referenced by Broadcaster::BroadcasterImpl, Event(), Event(), EventData, GetData(), GetData(), and SetData().

◆ Listener

friend class Listener
friend

Definition at line 180 of file Event.h.

References Listener.

Referenced by Listener.

Member Data Documentation

◆ m_broadcaster_wp

Broadcaster::BroadcasterImplWP lldb_private::Event::m_broadcaster_wp
private

Definition at line 250 of file Event.h.

Referenced by BroadcasterIs(), Dump(), Event(), Event(), Event(), Event(), GetBroadcaster(), and SetBroadcaster().

◆ m_data_sp

lldb::EventDataSP lldb_private::Event::m_data_sp
private

Definition at line 252 of file Event.h.

Referenced by Clear(), DoOnRemoval(), Dump(), Event(), Event(), Event(), Event(), GetData(), GetData(), and SetData().

◆ m_listeners_mutex

std::mutex lldb_private::Event::m_listeners_mutex
private

Definition at line 254 of file Event.h.

Referenced by DoOnRemoval().

◆ m_pending_listeners

std::vector<lldb::ListenerSP> lldb_private::Event::m_pending_listeners
private

Definition at line 253 of file Event.h.

Referenced by AddPendingListener(), and DoOnRemoval().

◆ m_type

uint32_t lldb_private::Event::m_type
private

Definition at line 251 of file Event.h.

Referenced by Dump(), Event(), Event(), Event(), Event(), GetType(), and SetType().


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