summaryrefslogtreecommitdiff
path: root/src/com/benburwell/planes/sbs/AggregateDataSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/benburwell/planes/sbs/AggregateDataSource.java')
-rw-r--r--src/com/benburwell/planes/sbs/AggregateDataSource.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/benburwell/planes/sbs/AggregateDataSource.java b/src/com/benburwell/planes/sbs/AggregateDataSource.java
new file mode 100644
index 0000000..08b89ea
--- /dev/null
+++ b/src/com/benburwell/planes/sbs/AggregateDataSource.java
@@ -0,0 +1,23 @@
+package com.benburwell.planes.sbs;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by ben on 11/15/16.
+ */
+public class AggregateDataSource implements DataSource {
+ private List<DataListener> subscribers = new ArrayList<>();
+
+ public void addSource(DataSource source) {
+ source.subscribe((SBSPacket packet) -> {
+ for (DataListener listener : subscribers) {
+ listener.handleMessage(packet);
+ }
+ });
+ }
+
+ public void subscribe(DataListener listener) {
+ this.subscribers.add(listener);
+ }
+}