Switchboard Extension SDK
Loading...
Searching...
No Matches
EventEmitter.hpp
1//
2// Created by Balazs Kiss on 2025. 02. 06..
3//
4
5#pragma once
6
7#include <any>
8#include <functional>
9#include <map>
10#include <memory>
11#include <string>
12
13namespace switchboard {
14
15using EventData = std::any;
16using EventCallback = std::function<void(const EventData&)>;
17
22public:
23
28
32 virtual ~EventEmitter();
33
42 unsigned int addEventListener(const std::string& eventName, EventCallback callback);
43
51 bool removeEventListener(unsigned int listenerID);
52
53protected:
60 void emitEvent(const std::string& eventName, const EventData& data);
61
62private:
63 class Impl;
64 std::unique_ptr<Impl> pImpl;
65};
66
67}
bool removeEventListener(unsigned int listenerID)
Removes an event listener from the object.
unsigned int addEventListener(const std::string &eventName, EventCallback callback)
Adds a new event listener to the object.
virtual ~EventEmitter()
Destructor for the EventEmitter class.
void emitEvent(const std::string &eventName, const EventData &data)
Emits an event.
EventEmitter()
Constructor for the EventEmitter class.