Skip to content
This repository was archived by the owner on Apr 17, 2023. It is now read-only.

myyhashstash/EventManager-Cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EventManager-Cpp

Description

A C++ based Event Manager

Sample Usage


#include "EventManager.h"
using namespace Mage;

class A {
public:
  A() {
  
    // Create a event that will be performed.. doesn't need to be in this class can be defined anywhere.
    EventManager *myEventManager = EventManager::Instance();
    myEventManager->createEvent("testEvent");
  }
  
  void fireEvent() {
    // Fire the event and all the subscribed class methods will get called.
    EventManager *myEventManager = EventManager::Instance();
    myEventManager->execute("testEvent");
  }
};

class B {
public:
  void listener() {
    printf("Listener of B called");
  }
  
  void attachToEvent() {
    // When testEvent is called the listener method of this class will get called.
    EventManager *myEventManager = EventManager::Instance();
    myEventManager->subscribe("testEvent", this, &B::listener);
  }
};

int main() {
  A *obj0 = new A;
  B *obj1 = new B;
  
  obj1->attachToEvent();
  obj0->fireEvent();
  
  return 0;
}

Output

Listener of B called

License

This code is licensed under
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE

About

A C++ based Event Manager

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages