]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/UpdateMessageBroker.java
Version 1, September 2006
[GpsPrune.git] / tim / prune / UpdateMessageBroker.java
1 package tim.prune;
2
3 /**
4  * Class responsible for distributing update information
5  * to all registered listeners
6  */
7 public class UpdateMessageBroker
8 {
9         private DataSubscriber[] _subscribers;
10         private int _subscriberNum = 0;
11         private static final int MAXIMUM_NUMBER_SUBSCRIBERS = 4;
12
13
14         /**
15          * Constructor
16          * @param inTrack Track object
17          */
18         public UpdateMessageBroker()
19         {
20                 _subscribers = new DataSubscriber[MAXIMUM_NUMBER_SUBSCRIBERS];
21         }
22
23
24         /**
25          * Add a data subscriber to the list
26          * @param inSub DataSubscriber to add
27          */
28         public void addSubscriber(DataSubscriber inSub)
29         {
30                 _subscribers[_subscriberNum] = inSub;
31                 _subscriberNum++;
32         }
33
34
35         /**
36          * Send a message to all subscribers that
37          * the data has been updated
38          */
39         public void informSubscribers()
40         {
41                 for (int i=0; i<_subscribers.length; i++)
42                 {
43                         if (_subscribers[i] != null)
44                         {
45                                 _subscribers[i].dataUpdated();
46                         }
47                 }
48         }
49 }