77
88namespace ECFMP ::EventBus {
99
10- template <typename EventType>
11- class EventStreamFactory ;
12-
1310 class EventBus
1411 {
1512 public:
@@ -18,15 +15,14 @@ namespace ECFMP::EventBus {
1815 * Subscribes the given listener to the event stream.
1916 */
2017 template <typename EventType>
21- void Subscribe (std::shared_ptr<NewEventListener <EventType>> listener)
18+ void Subscribe (std::shared_ptr<EventListener <EventType>> listener)
2219 {
2320 Subscribe<EventType>(listener, nullptr );
2421 };
2522
2623 template <typename EventType>
27- void Subscribe (
28- std::shared_ptr<NewEventListener<EventType>> listener, std::shared_ptr<NewEventFilter<EventType>> filter
29- )
24+ void
25+ Subscribe (std::shared_ptr<EventListener<EventType>> listener, std::shared_ptr<EventFilter<EventType>> filter)
3026 {
3127 GetStream<EventType>().Subscribe (listener, filter);
3228 };
@@ -35,19 +31,30 @@ namespace ECFMP::EventBus {
3531 * Subscribes the given listener to the event stream, but only for the next event.
3632 */
3733 template <typename EventType>
38- void SubscribeOnce (std::shared_ptr<NewEventListener <EventType>> listener)
34+ void SubscribeOnce (std::shared_ptr<EventListener <EventType>> listener)
3935 {
4036 SubscribeOnce<EventType>(listener, nullptr );
4137 }
4238
4339 template <typename EventType>
4440 void SubscribeOnce (
45- std::shared_ptr<NewEventListener <EventType>> listener, std::shared_ptr<NewEventFilter <EventType>> filter
41+ std::shared_ptr<EventListener <EventType>> listener, std::shared_ptr<EventFilter <EventType>> filter
4642 )
4743 {
4844 GetStream<EventType>().SubscribeOnce (listener, filter);
4945 };
5046
47+ /* *
48+ * Checks whether a specified type of listener is registered for a specified type of event.
49+ *
50+ * Can be used for test assertions.
51+ */
52+ template <typename ListenerType, typename EventType>
53+ [[nodiscard]] auto HasListenerOfType () -> bool
54+ {
55+ return GetStream<EventType>().template HasListenerOfType <ListenerType>();
56+ }
57+
5158 private:
5259 template <typename EventType>
5360 auto GetStream () -> InternalEventStream<EventType>&
0 commit comments