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 <memory>
9#include <string>
10
11#include <switchboard/Event.hpp>
12
13namespace switchboard {
14
19public:
20
21 using Callback = std::function<void(const std::string&, const std::any&)>;
22
27
31 virtual ~EventEmitter();
32
41 unsigned int addEventListener(const std::string& eventName, Callback callback);
42
50 bool removeEventListener(unsigned int listenerID);
51
52protected:
59 void emitEvent(const std::string& eventName, const std::any& data);
60
61private:
62 class Impl;
63 std::unique_ptr<Impl> pImpl;
64};
65
66}
bool removeEventListener(unsigned int listenerID)
Removes an event listener from the object.
void emitEvent(const std::string &eventName, const std::any &data)
Emits an event.
virtual ~EventEmitter()
Destructor for the EventEmitter class.
unsigned int addEventListener(const std::string &eventName, Callback callback)
Adds a new event listener to the object.
EventEmitter()
Constructor for the EventEmitter class.