yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::EventBus Class Reference

#include <event_bus.h>

Classes

struct  HandlerEntry
 

Public Types

using HandlerId = size_t
 

Public Member Functions

template<typename T >
HandlerId Subscribe (std::function< void(const T &)> handler)
 
template<typename T >
void Publish (const T &event)
 
void Unsubscribe (HandlerId id)
 

Private Attributes

std::unordered_map< std::type_index, std::vector< HandlerEntry > > handlers_
 
HandlerId next_id_ = 1
 

Detailed Description

Definition at line 17 of file event_bus.h.

Member Typedef Documentation

◆ HandlerId

using yaze::EventBus::HandlerId = size_t

Definition at line 19 of file event_bus.h.

Member Function Documentation

◆ Subscribe()

◆ Publish()

template<typename T >
void yaze::EventBus::Publish ( const T & event)
inline

Definition at line 35 of file event_bus.h.

References handlers_.

Referenced by yaze::editor::DungeonEditorV2::ContributeStatus(), yaze::editor::SessionCoordinator::NotifySessionClosed(), yaze::editor::SessionCoordinator::NotifySessionCreated(), yaze::editor::SessionCoordinator::NotifySessionRomLoaded(), yaze::editor::SessionCoordinator::NotifySessionSwitched(), yaze::editor::EditorManager::OpenEditorAndPanelsFromFlags(), yaze::editor::EditorManager::ProcessStartupActions(), yaze::test::CoreSystemsTestSuite::RunEventBusMultipleSubscribersTest(), yaze::test::CoreSystemsTestSuite::RunEventBusSubscribePublishTest(), yaze::test::CoreSystemsTestSuite::RunEventBusTypeSafetyTest(), yaze::test::CoreSystemsTestSuite::RunEventBusUnsubscribeTest(), yaze::editor::WorkspaceWindowManager::TriggerOpenRom(), yaze::editor::WorkspaceWindowManager::TriggerRedo(), yaze::editor::WorkspaceWindowManager::TriggerResetLayout(), yaze::editor::WorkspaceWindowManager::TriggerSaveRom(), yaze::editor::WorkspaceWindowManager::TriggerShowAgentChatSidebar(), yaze::editor::WorkspaceWindowManager::TriggerShowAgentProposalsSidebar(), yaze::editor::WorkspaceWindowManager::TriggerShowCommandPalette(), yaze::editor::WorkspaceWindowManager::TriggerShowEmulator(), yaze::editor::WorkspaceWindowManager::TriggerShowHelp(), yaze::editor::WorkspaceWindowManager::TriggerShowSearch(), yaze::editor::WorkspaceWindowManager::TriggerShowSettings(), yaze::editor::WorkspaceWindowManager::TriggerShowShortcuts(), yaze::editor::WorkspaceWindowManager::TriggerShowWindowBrowser(), and yaze::editor::WorkspaceWindowManager::TriggerUndo().

◆ Unsubscribe()

void yaze::EventBus::Unsubscribe ( HandlerId id)
inline

Definition at line 45 of file event_bus.h.

References handlers_.

Referenced by yaze::test::CoreSystemsTestSuite::RunEventBusUnsubscribeTest().

Member Data Documentation

◆ handlers_

std::unordered_map<std::type_index, std::vector<HandlerEntry> > yaze::EventBus::handlers_
private

Definition at line 63 of file event_bus.h.

Referenced by Publish(), Subscribe(), and Unsubscribe().

◆ next_id_

HandlerId yaze::EventBus::next_id_ = 1
private

Definition at line 64 of file event_bus.h.

Referenced by Subscribe().


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