refactor event system
This commit is contained in:
@ -131,13 +131,13 @@ private: \
|
|||||||
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
|
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
|
||||||
#name, [this](const i_event &evt) { callback(evt); }))
|
#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>( \
|
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
|
||||||
#name, [this](const i_event &evt) { \
|
#name, [this](const i_event &evt) { \
|
||||||
callback(dynamic_cast<const name &>(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>( \
|
event_consumers2_.emplace_back(std::make_shared<repertory::event_consumer2>( \
|
||||||
[this](const i_event &evt) { callback(evt); }))
|
[this](const i_event &evt) { callback(evt); }))
|
||||||
} // namespace repertory
|
} // namespace repertory
|
||||||
|
@ -68,9 +68,12 @@ console_consumer::console_consumer(event_level level) {
|
|||||||
[](auto &&evt) { set_level(evt.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()) {
|
switch (evt.get_event_level()) {
|
||||||
case event_level::critical:
|
case event_level::critical:
|
||||||
spdlog::get("console")->critical(evt.get_single_line());
|
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()) {
|
switch (evt.get_event_level()) {
|
||||||
case event_level::critical:
|
case event_level::critical:
|
||||||
spdlog::get("console")->critical(evt.get_single_line());
|
spdlog::get("console")->critical(evt.get_single_line());
|
||||||
|
Reference in New Issue
Block a user