refactor event system

This commit is contained in:
2025-01-23 11:10:47 -06:00
parent 5064ec3f9a
commit 631a1bc914
2 changed files with 8 additions and 5 deletions

View File

@ -131,13 +131,13 @@ private: \
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
#name, [this](const i_event &evt) { callback(evt); }))
#define E_SUBSCRIBE_EXACT2(name, callback) \
#define E_SUBSCRIBE2_EXACT(name, callback) \
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
#name, [this](const i_event &evt) { \
callback(dynamic_cast<const name &>(evt)); \
}))
#define E_SUBSCRIBE_ALL2(callback) \
#define E_SUBSCRIBE2_ALL(callback) \
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
[this](const i_event &evt) { callback(evt); }))
} // namespace repertory

View File

@ -68,9 +68,12 @@ console_consumer::console_consumer(event_level level) {
[](auto &&evt) { set_level(evt.level); });
}
console_consumer::~console_consumer() { E_CONSUMER_RELEASE(); }
console_consumer::~console_consumer() {
E_CONSUMER_RELEASE();
E_CONSUMER2_RELEASE();
}
void console_consumer::process_event(const event &event) {
void console_consumer::process_event(const event &evt) {
switch (evt.get_event_level()) {
case event_level::critical:
spdlog::get("console")->critical(evt.get_single_line());
@ -94,7 +97,7 @@ void console_consumer::process_event(const event &event) {
}
}
void console_consumer::process_event(const i_event &evt) const {
void console_consumer::process_event2(const i_event &evt) {
switch (evt.get_event_level()) {
case event_level::critical:
spdlog::get("console")->critical(evt.get_single_line());