4 * Class responsible for distributing update information
5 * to all registered listeners
7 public abstract class UpdateMessageBroker
9 private static final int MAXIMUM_NUMBER_SUBSCRIBERS = 6;
10 private static DataSubscriber[] _subscribers = new DataSubscriber[MAXIMUM_NUMBER_SUBSCRIBERS];
11 private static int _subscriberNum = 0;
15 * Add a data subscriber to the list
16 * @param inSub DataSubscriber to add
18 public static void addSubscriber(DataSubscriber inSub)
20 _subscribers[_subscriberNum] = inSub;
26 * Send a message to all subscribers that
27 * the data has been updated
29 public static void informSubscribers()
31 informSubscribers(DataSubscriber.ALL);
36 * Send message to all subscribers
37 * @param inChange Change that occurred
39 public static void informSubscribers(byte inChange)
41 // TODO: Launch separate thread so that whatever caused the inform can finish
42 for (int i=0; i<_subscribers.length; i++)
44 if (_subscribers[i] != null)
46 _subscribers[i].dataUpdated(inChange);
52 * Send message to all subscribers
53 * @param inMessage message to display informing of action completed
55 public static void informSubscribers(String inMessage)
57 for (int i=0; i<_subscribers.length; i++)
59 if (_subscribers[i] != null)
61 _subscribers[i].actionCompleted(inMessage);