LLDB mainline
|
#include <Broadcaster.h>
Classes | |
class | BroadcasterClassMatches |
class | BroadcastEventSpecMatches |
class | ListenerMatches |
class | ListenerMatchesAndSharedBits |
class | ListenerMatchesPointer |
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 322 of file Broadcaster.cpp.
Referenced by MakeBroadcasterManager().
|
default |
void BroadcasterManager::Clear | ( | ) |
Definition at line 458 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 392 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 324 of file Broadcaster.cpp.
References BroadcasterManager().
uint32_t BroadcasterManager::RegisterListenerForEvents | ( | const lldb::ListenerSP & | listener_sp, |
const BroadcastEventSpec & | event_spec | ||
) |
Definition at line 328 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 425 of file Broadcaster.cpp.
References m_event_map, m_listeners, and m_manager_mutex.
void BroadcasterManager::RemoveListener | ( | Listener * | listener | ) |
Definition at line 405 of file Broadcaster.cpp.
References m_event_map, m_listeners, and m_manager_mutex.
void BroadcasterManager::SignUpListenersForBroadcaster | ( | Broadcaster & | broadcaster | ) |
Definition at line 442 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 353 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().