Skip to content

SFME::Mediator

Sztergbaum Roman edited this page Feb 4, 2018 · 66 revisions

Welcome to the page of the SFME::Mediator module

Modules contents

A complete example can be found here

Class Diagram

EventManager

Content for EventManager.

Member function : emit

    template <typename TEvent, typename ... Args>
    void emit(Args &&... args) noexcept;
Template parameters
  • TEvent: The type of event you wish to broadcast.
  • Args: The arguments possibly necessary to the creation of the TEvent object.
Notes
  • TEvent must be a class derived from BaseEvent.

Who can i use it ?

#include <SFME/mediator/mediator.hpp>
#include "InputEvent.hpp"
#include "ShutdownEvent.hpp"

int main() 
{
    sfme::mediator::EventManager evtMgr;
    // InputEvent constructor take 1 arguments
    // constructor -> InputEvent(char keycode);
    evtMgr.emit<InputEvent>('a');
    // ShutdownEvent is default constructible
    evtMgr.emit<ShutdownEvent>();
    return 0;
}

Member function : subscribe

    template <typename TEvent, typename TReceiver>
    void subscribe(TReceiver &receiver) noexcept;
Template parameters
  • TEvent: Represents the type of event you want to subscribe.
  • Receiver: Represents the instance of the class that wishes to subscribe to this type of event.

BaseEvent

Content for BaseEvent.

Receiver

Content for Receiver.

Example

Content of the examples.

Clone this wiki locally