LLDB mainline
|
#include <Broadcaster.h>
Public Member Functions | |
~BroadcasterManager ()=default | |
uint32_t | RegisterListenerForEvents (const lldb::ListenerSP &listener_sp, const BroadcastEventSpec &event_spec) |
bool | UnregisterListenerForEvents (const lldb::ListenerSP &listener_sp, const BroadcastEventSpec &event_spec) |
lldb::ListenerSP | GetListenerForEventSpec (const BroadcastEventSpec &event_spec) const |
void | SignUpListenersForBroadcaster (Broadcaster &broadcaster) |
void | RemoveListener (const lldb::ListenerSP &listener_sp) |
void | RemoveListener (Listener *listener) |
void | Clear () |
Static Public Member Functions | |
static lldb::BroadcasterManagerSP | MakeBroadcasterManager () |
Listeners hold onto weak pointers to their broadcaster managers. | |
Protected Member Functions | |
BroadcasterManager () | |
Private Types | |
typedef std::pair< BroadcastEventSpec, lldb::ListenerSP > | event_listener_key |
typedef std::map< BroadcastEventSpec, lldb::ListenerSP > | collection |
typedef std::set< lldb::ListenerSP > | listener_collection |
Private Attributes | |
collection | m_event_map |
listener_collection | m_listeners |
std::recursive_mutex | m_manager_mutex |
Friends | |
class | Listener |
Definition at line 74 of file Broadcaster.h.
|
private |
Definition at line 109 of file Broadcaster.h.
|
private |
Definition at line 108 of file Broadcaster.h.
|
private |
Definition at line 110 of file Broadcaster.h.
|
protected |
Definition at line 388 of file Broadcaster.cpp.
Referenced by MakeBroadcasterManager().
|
default |
void BroadcasterManager::Clear | ( | ) |
Definition at line 546 of file Broadcaster.cpp.
References m_event_map, m_listeners, and m_manager_mutex.
ListenerSP BroadcasterManager::GetListenerForEventSpec | ( | const BroadcastEventSpec & | event_spec | ) | const |
Definition at line 465 of file Broadcaster.cpp.
References m_event_map, and m_manager_mutex.
|
static |
Listeners hold onto weak pointers to their broadcaster managers.
So they must be made into shared pointers, which you do with MakeBroadcasterManager.
Definition at line 390 of file Broadcaster.cpp.
References BroadcasterManager().
uint32_t BroadcasterManager::RegisterListenerForEvents | ( | const lldb::ListenerSP & | listener_sp, |
const BroadcastEventSpec & | event_spec | ||
) |
Definition at line 394 of file Broadcaster.cpp.
References lldb_private::BroadcastEventSpec::GetBroadcasterClass(), lldb_private::BroadcastEventSpec::GetEventBits(), m_event_map, m_listeners, and m_manager_mutex.
void BroadcasterManager::RemoveListener | ( | const lldb::ListenerSP & | listener_sp | ) |
Definition at line 506 of file Broadcaster.cpp.
References m_event_map, m_listeners, and m_manager_mutex.
void BroadcasterManager::RemoveListener | ( | Listener * | listener | ) |
Definition at line 481 of file Broadcaster.cpp.
References m_event_map, m_listeners, and m_manager_mutex.
void BroadcasterManager::SignUpListenersForBroadcaster | ( | Broadcaster & | broadcaster | ) |
Definition at line 527 of file Broadcaster.cpp.
References lldb_private::Broadcaster::GetBroadcasterClass(), m_event_map, and m_manager_mutex.
bool BroadcasterManager::UnregisterListenerForEvents | ( | const lldb::ListenerSP & | listener_sp, |
const BroadcastEventSpec & | event_spec | ||
) |
Definition at line 422 of file Broadcaster.cpp.
References lldb_private::BroadcastEventSpec::GetBroadcasterClass(), lldb_private::BroadcastEventSpec::GetEventBits(), m_event_map, m_listeners, and m_manager_mutex.
|
friend |
Definition at line 77 of file Broadcaster.h.
|
private |
Definition at line 111 of file Broadcaster.h.
Referenced by Clear(), GetListenerForEventSpec(), RegisterListenerForEvents(), RemoveListener(), SignUpListenersForBroadcaster(), and UnregisterListenerForEvents().
|
private |
Definition at line 112 of file Broadcaster.h.
Referenced by Clear(), RegisterListenerForEvents(), RemoveListener(), and UnregisterListenerForEvents().
|
mutableprivate |
Definition at line 114 of file Broadcaster.h.
Referenced by Clear(), GetListenerForEventSpec(), RegisterListenerForEvents(), RemoveListener(), SignUpListenersForBroadcaster(), and UnregisterListenerForEvents().