Base implementation #1

Merged
Dmitriy merged 9 commits from base-impl into master 2026-09-29 14:25:08 +00:00
2 changed files with 14 additions and 5 deletions
Showing only changes of commit 1978a24d1e - Show all commits
+12 -3
View File
@@ -18,10 +18,19 @@ public:
virtual std::string getName() const = 0; virtual std::string getName() const = 0;
Review

Берем по имени листенеры? очепятка и все пошло по пизде

Берем по имени листенеры? очепятка и все пошло по пизде
Review

В целом, не обязательно писать буквами каждый раз, потому что можно бахнуть enum, который будет хранить строчки и просто использовать варианты enum'а, чтобы подавать

В целом, не обязательно писать буквами каждый раз, потому что можно бахнуть enum, который будет хранить строчки и просто использовать варианты enum'а, чтобы подавать
/// @brief Is current event is canceled /// @brief Is current event is canceled
virtual bool isCanceled() const = 0; bool isCanceled() const
{
return canceled;
}
/// @brief Cancel current event /// @brief Cancel current event
virtual void cancel() = 0; void cancel()
{
canceled = true;
}
private:
bool canceled = false;
}; };
/// @brief Engine event bus /// @brief Engine event bus
@@ -47,7 +56,7 @@ public:
/// @brief Subscribe to specified event and execute once on publish /// @brief Subscribe to specified event and execute once on publish
/// @param name event name /// @param name event name
/// @param listener event handler /// @param listener event handler
void subscribeOnce(const std::string &name, Listener listener); SubscriptionId subscribeOnce(const std::string &name, Listener listener);
Review

воняет писями. где subcribe1 subcribe2 subcribe3 subcribeFinal subcribeFinalFinal??

воняет писями. где subcribe1 subcribe2 subcribe3 subcribeFinal subcribeFinalFinal??
Review

Так это частая модель у событийных шин: есть простая подписка на событие, а есть единоразовое выполнение, чтобы обработчику самому не нужно было отписываться

Так это частая модель у событийных шин: есть простая подписка на событие, а есть единоразовое выполнение, чтобы обработчику самому не нужно было отписываться
/// @brief Unsubscribe listener by its own id /// @brief Unsubscribe listener by its own id
/// @param id subscription id /// @param id subscription id
+2 -2
View File
@@ -48,9 +48,9 @@ MscEventBus::SubscriptionId MscEventBus::subscribe(const std::string &name, List
return _subscribe(name, std::move(listener), false); return _subscribe(name, std::move(listener), false);
} }
void MscEventBus::subscribeOnce(const std::string &name, Listener listener) MscEventBus::SubscriptionId MscEventBus::subscribeOnce(const std::string &name, Listener listener)
{ {
_subscribe(name, std::move(listener), true); return _subscribe(name, std::move(listener), true);
} }
bool MscEventBus::unsubscribe(SubscriptionId id) bool MscEventBus::unsubscribe(SubscriptionId id)