Skip to content

Commit 71f3957

Browse files
author
Andy Ford
authored
Merge pull request #9 from ECFMP/api-data-download-refactor
Api data download refactor
2 parents 941cb71 + 39a9f41 commit 71f3957

48 files changed

Lines changed: 570 additions & 582 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

include/ECFMP/ECFMP.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
#include "ECFMP/api/EventCollection.h"
55
#include "ECFMP/event/Event.h"
66
#include "ECFMP/event/EventParticipant.h"
7+
#include "ECFMP/eventbus/EventBus.h"
8+
#include "ECFMP/eventbus/EventFilter.h"
9+
#include "ECFMP/eventbus/EventListener.h"
710
#include "ECFMP/flightinformationregion/FlightInformationRegion.h"
811
#include "ECFMP/flowmeasure/AirportFilter.h"
912
#include "ECFMP/flowmeasure/EventFilter.h"
@@ -15,8 +18,5 @@
1518
#include "ECFMP/flowmeasure/RouteFilter.h"
1619
#include "ECFMP/http/HttpClient.h"
1720
#include "ECFMP/log/Logger.h"
18-
#include "EventListener.h"
19-
#include "EventListenerFilter.h"
20-
#include "EventListeners.h"
2121
#include "Sdk.h"
2222
#include "SdkEvents.h"

include/ECFMP/EventListener.h

Lines changed: 0 additions & 14 deletions
This file was deleted.

include/ECFMP/EventListenerFilter.h

Lines changed: 0 additions & 15 deletions
This file was deleted.

include/ECFMP/EventListeners.h

Lines changed: 0 additions & 36 deletions
This file was deleted.

include/ECFMP/event/Event.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,7 @@ namespace ECFMP::Event {
4747
* Compares events.
4848
*/
4949
[[nodiscard]] auto operator==(const class Event& event) const -> bool;
50+
51+
// TODO: Event participants
5052
};
5153
}// namespace ECFMP::Event

include/ECFMP/eventbus/EventBus.h

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77

88
namespace 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>&
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
namespace ECFMP::EventBus {
44

55
template<typename EventType>
6-
class NewEventFilter
6+
class EventFilter
77
{
88
public:
9-
virtual ~NewEventFilter() = default;
9+
virtual ~EventFilter() = default;
1010
virtual bool ShouldProcess(const EventType&) = 0;
1111
};
1212
}// namespace ECFMP::EventBus
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
namespace ECFMP::EventBus {
44
template<typename EventType>
5-
class NewEventListener
5+
class EventListener
66
{
77
public:
8-
virtual ~NewEventListener() = default;
8+
virtual ~EventListener() = default;
99
virtual void OnEvent(const EventType&) = 0;
1010
};
1111
}// namespace ECFMP::EventBus

include/ECFMP/eventbus/EventStream.h

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
namespace ECFMP::EventBus {
77

88
template<typename EventType>
9-
class NewEventListener;
9+
class EventListener;
1010
template<typename EventType>
11-
class NewEventFilter;
11+
class EventFilter;
1212

1313
template<typename EventType>
1414
struct EventSubscription {
15-
std::shared_ptr<NewEventListener<EventType>> listener;
16-
std::shared_ptr<NewEventFilter<EventType>> filter;
15+
std::shared_ptr<EventListener<EventType>> listener;
16+
std::shared_ptr<EventFilter<EventType>> filter;
1717
bool once;
1818
};
1919

@@ -26,14 +26,13 @@ namespace ECFMP::EventBus {
2626
/**
2727
* Subscribes the given listener to the event stream.
2828
*/
29-
void Subscribe(std::shared_ptr<NewEventListener<EventType>> listener)
29+
void Subscribe(std::shared_ptr<EventListener<EventType>> listener)
3030
{
3131
Subscribe(listener, nullptr);
3232
};
3333

34-
virtual void Subscribe(
35-
std::shared_ptr<NewEventListener<EventType>> listener, std::shared_ptr<NewEventFilter<EventType>> filter
36-
)
34+
virtual void
35+
Subscribe(std::shared_ptr<EventListener<EventType>> listener, std::shared_ptr<EventFilter<EventType>> filter)
3736
{
3837
if (listener == nullptr) {
3938
throw std::invalid_argument("listener cannot be null");
@@ -46,13 +45,13 @@ namespace ECFMP::EventBus {
4645
/**
4746
* Subscribes the given listener to the event stream, but only for the next event.
4847
*/
49-
virtual void SubscribeOnce(std::shared_ptr<NewEventListener<EventType>> listener)
48+
virtual void SubscribeOnce(std::shared_ptr<EventListener<EventType>> listener)
5049
{
5150
SubscribeOnce(listener, nullptr);
5251
}
5352

5453
virtual void SubscribeOnce(
55-
std::shared_ptr<NewEventListener<EventType>> listener, std::shared_ptr<NewEventFilter<EventType>> filter
54+
std::shared_ptr<EventListener<EventType>> listener, std::shared_ptr<EventFilter<EventType>> filter
5655
)
5756
{
5857
if (listener == nullptr) {

include/mock/MultipleLevelFilterMock.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace ECFMP::Mock::FlowMeasure {
66

7-
class LevelRangeFilterMock : public ECFMP::FlowMeasure::MultipleLevelFilter
7+
class MultipleLevelFilterMock : public ECFMP::FlowMeasure::MultipleLevelFilter
88
{
99
public:
1010
MOCK_METHOD(std::vector<int>, Levels, (), (const, noexcept, override));

0 commit comments

Comments
 (0)