| Line | Branch | Decision | Call | Exec | Source |
|---|---|---|---|---|---|
| 1 | #ifndef CHRYSALIS_BASEOBSERVER_H | ||||
| 2 | #define CHRYSALIS_BASEOBSERVER_H | ||||
| 3 | |||||
| 4 | #include "BaseObservable.h" | ||||
| 5 | |||||
| 6 | /** | ||||
| 7 | * @defgroup Observers Observers | ||||
| 8 | * @{ | ||||
| 9 | */ | ||||
| 10 | namespace Chrysalis { | ||||
| 11 | template <typename T> | ||||
| 12 | class BaseObserver { | ||||
| 13 | protected: | ||||
| 14 | ✗ | explicit BaseObserver() = default; | |||
| 15 | ✗ | virtual ~BaseObserver() = default; | |||
| 16 | |||||
| 17 | ✗ | void observe(const BaseObservable<T>* observable) { | |||
| 18 | ✗ | const_cast<BaseObservable<T>*>(observable)->addObserver(dynamic_cast<T*>(this)); | |||
| 19 | ✗ | } | |||
| 20 | }; | ||||
| 21 | } | ||||
| 22 | /**@}*/ | ||||
| 23 | |||||
| 24 | #endif //CHRYSALIS_BASEOBSERVER_H | ||||
| 25 |