|
|
void | attach (std::shared_ptr< svcs::services::IObserver > observer) override |
|
void | detach (std::shared_ptr< svcs::services::IObserver > observer) override |
| void | notify (const svcs::services::Event &event) const override |
| | Уведомляет всех прикрепленных наблюдателей о событии.
|
|
void | clear () |
|
bool | containsError (const std::string &message) const |
|
bool | containsInfo (const std::string &message) const |
| virtual | ~ISubject ()=default |
| | Виртуальный деструктор.
|
| virtual void | attach (std::shared_ptr< IObserver > observer)=0 |
| | Прикрепляет наблюдателя к субъекту.
|
| virtual void | detach (std::shared_ptr< IObserver > observer)=0 |
| | Открепляет наблюдателя от субъекта.
|
|
|
std::vector< IObserver * > | observers |
| | Коллекция зарегистрированных наблюдателей.
|
◆ notify()
Уведомляет всех прикрепленных наблюдателей о событии.
Этот метод сделан публичным, чтобы классы компонентов (как ObjectStorage) могли публиковать события через внедренный указатель ISubject. Метод объявлен как const, потому что уведомление о событии является логически неизменяющим действием над состоянием Subject.
- Аргументы
-
| event | Константная ссылка на структуру события для отправки. |
Замещает svcs::services::ISubject.
Объявления и описания членов класса находятся в файле: