Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
ECS::Event::EventHandler Class Referencefinal

#include <EventHandler.h>

+ Inheritance diagram for ECS::Event::EventHandler:

Public Member Functions

 EventHandler ()
 
 ~EventHandler ()
 
void ClearEventBuffer ()
 
void ClearEventDispatcher ()
 
template<class E , class... ARGS>
void Send (ECSEngine *engine, ARGS &&... eventArgs)
 
template<class E , class... ARGS>
void SendAndDispatchEvent (ECSEngine *engine, ARGS &&... eventArgs)
 
void DispatchEvents ()
 

Private Types

using EventDispatcherMap = Divide::hashMap< EventTypeId, Internal::IEventDispatcher * >
 
using EventStorage = Divide::vector< IEvent * >
 
using EventMemoryAllocator = Memory::Allocator::LinearAllocator
 

Private Member Functions

DECLARE_LOGGER EventHandler (const EventHandler &)=delete
 
EventHandleroperator= (EventHandler &)=delete
 
template<class E >
void AddEventCallback (Internal::IEventDelegate *const eventDelegate)
 
void RemoveEventCallback (Internal::IEventDelegate *eventDelegate)
 
- Private Member Functions inherited from ECS::Memory::GlobalMemoryUser
 GlobalMemoryUser ()
 
virtual ~GlobalMemoryUser ()
 
const void * Allocate (size_t memSize, const char *user=nullptr)
 
void Free (void *pMem)
 

Private Attributes

EventDispatcherMap m_EventDispatcherMap
 
EventMemoryAllocatorm_EventMemoryAllocator
 
EventStorage m_EventStorage
 

Friends

class ECS::ECSEngine
 

Detailed Description

Definition at line 25 of file EventHandler.h.

Member Typedef Documentation

◆ EventDispatcherMap

◆ EventMemoryAllocator

◆ EventStorage

Definition at line 32 of file EventHandler.h.

Constructor & Destructor Documentation

◆ EventHandler() [1/2]

DECLARE_LOGGER ECS::Event::EventHandler::EventHandler ( const EventHandler )
privatedelete

◆ EventHandler() [2/2]

ECS::Event::EventHandler::EventHandler ( )

Definition at line 17 of file EventHandler.cpp.

◆ ~EventHandler()

ECS::Event::EventHandler::~EventHandler ( )

Definition at line 28 of file EventHandler.cpp.

Member Function Documentation

◆ AddEventCallback()

template<class E >
void ECS::Event::EventHandler::AddEventCallback ( Internal::IEventDelegate *const  eventDelegate)
inlineprivate

Definition at line 53 of file EventHandler.h.

◆ ClearEventBuffer()

void ECS::Event::EventHandler::ClearEventBuffer ( )
inline

Definition at line 92 of file EventHandler.h.

◆ ClearEventDispatcher()

void ECS::Event::EventHandler::ClearEventDispatcher ( )
inline

Definition at line 98 of file EventHandler.h.

◆ DispatchEvents()

void ECS::Event::EventHandler::DispatchEvents ( )
inline

Definition at line 138 of file EventHandler.h.

◆ operator=()

EventHandler & ECS::Event::EventHandler::operator= ( EventHandler )
privatedelete

◆ RemoveEventCallback()

void ECS::Event::EventHandler::RemoveEventCallback ( Internal::IEventDelegate eventDelegate)
inlineprivate

Definition at line 74 of file EventHandler.h.

◆ Send()

template<class E , class... ARGS>
void ECS::Event::EventHandler::Send ( ECSEngine engine,
ARGS &&...  eventArgs 
)
inline

Definition at line 104 of file EventHandler.h.

◆ SendAndDispatchEvent()

template<class E , class... ARGS>
void ECS::Event::EventHandler::SendAndDispatchEvent ( ECSEngine engine,
ARGS &&...  eventArgs 
)
inline

Definition at line 127 of file EventHandler.h.

Friends And Related Function Documentation

◆ ECS::ECSEngine

friend class ECS::ECSEngine
friend

Definition at line 28 of file EventHandler.h.

Member Data Documentation

◆ m_EventDispatcherMap

EventDispatcherMap ECS::Event::EventHandler::m_EventDispatcherMap
private

Definition at line 42 of file EventHandler.h.

◆ m_EventMemoryAllocator

EventMemoryAllocator* ECS::Event::EventHandler::m_EventMemoryAllocator
private

Definition at line 45 of file EventHandler.h.

◆ m_EventStorage

EventStorage ECS::Event::EventHandler::m_EventStorage
private

Definition at line 48 of file EventHandler.h.


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