X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2FUpdateMessageBroker.java;h=0b21f52d0a381de1c6a293717393792fadc7ea62;hp=cac2a79dddc08e5a5d68ccc6f3dcca934c73a930;hb=ca9bdb3916f9c39adbbf95d06ac95c21dafbb4e6;hpb=63f178fd6c6b30b99a01f2a2d700963ea2dfef8b diff --git a/tim/prune/UpdateMessageBroker.java b/tim/prune/UpdateMessageBroker.java index cac2a79..0b21f52 100644 --- a/tim/prune/UpdateMessageBroker.java +++ b/tim/prune/UpdateMessageBroker.java @@ -4,28 +4,18 @@ package tim.prune; * Class responsible for distributing update information * to all registered listeners */ -public class UpdateMessageBroker +public abstract class UpdateMessageBroker { - private DataSubscriber[] _subscribers; - private int _subscriberNum = 0; - private static final int MAXIMUM_NUMBER_SUBSCRIBERS = 5; - - - /** - * Constructor - * @param inTrack Track object - */ - public UpdateMessageBroker() - { - _subscribers = new DataSubscriber[MAXIMUM_NUMBER_SUBSCRIBERS]; - } + private static final int MAXIMUM_NUMBER_SUBSCRIBERS = 6; + private static DataSubscriber[] _subscribers = new DataSubscriber[MAXIMUM_NUMBER_SUBSCRIBERS]; + private static int _subscriberNum = 0; /** * Add a data subscriber to the list * @param inSub DataSubscriber to add */ - public void addSubscriber(DataSubscriber inSub) + public static void addSubscriber(DataSubscriber inSub) { _subscribers[_subscriberNum] = inSub; _subscriberNum++; @@ -36,7 +26,7 @@ public class UpdateMessageBroker * Send a message to all subscribers that * the data has been updated */ - public void informSubscribers() + public static void informSubscribers() { informSubscribers(DataSubscriber.ALL); } @@ -46,7 +36,7 @@ public class UpdateMessageBroker * Send message to all subscribers * @param inChange Change that occurred */ - public void informSubscribers(byte inChange) + public static void informSubscribers(byte inChange) { for (int i=0; i<_subscribers.length; i++) { @@ -56,4 +46,19 @@ public class UpdateMessageBroker } } } + + /** + * Send message to all subscribers + * @param inMessage message to display informing of action completed + */ + public static void informSubscribers(String inMessage) + { + for (int i=0; i<_subscribers.length; i++) + { + if (_subscribers[i] != null) + { + _subscribers[i].actionCompleted(inMessage); + } + } + } }