class utils::EventHandler

Overview

Provides an interface for registering and processing events for inherited classes. More…

#include <EventHandler.h>

class EventHandler {
public:
    // structs

    struct Event;

    // methods

    virtual void PollEvents();

protected:
    // typedefs

    typedef std::string EventId;

    // methods

    virtual void ProcessEvent(] const Event* e);

    template <typename T = Event, typename... Args>
    void RegisterEvent(Args... args);
};

Detailed Documentation

Provides an interface for registering and processing events for inherited classes.

Children of this class can register events at any time, but process them together when user requests to.

This class is thread safe and can be called from asynchronous processes.

Typedefs

typedef std::string EventId

Unique identifier of event.

Methods

virtual void PollEvents()

Request to process all registered events.

virtual void ProcessEvent(] const Event* e)

Process a single event during polling.

template <typename T = Event, typename... Args>
void RegisterEvent(Args... args)

Adds new event to the event queue.