package com.dronecontrol.droneapi.components;
import com.google.common.collect.Sets;
import com.dronecontrol.droneapi.listeners.ReadyStateChangeListener;
import java.util.Set;
public class ReadyStateListenerComponent
{
private final Set<ReadyStateChangeListener> readyStateChangeListeners;
public ReadyStateListenerComponent()
{
readyStateChangeListeners = Sets.newHashSet();
}
public void addReadyStateChangeListener(ReadyStateChangeListener readyStateChangeListener)
{
if (!readyStateChangeListeners.contains(readyStateChangeListener))
{
readyStateChangeListeners.add(readyStateChangeListener);
}
}
public void removeReadyStateChangeListener(ReadyStateChangeListener readyStateChangeListener)
{
if (readyStateChangeListeners.contains(readyStateChangeListener))
{
readyStateChangeListeners.remove(readyStateChangeListener);
}
}
public void emitReadyStateChange(ReadyStateChangeListener.ReadyState readyState)
{
for (ReadyStateChangeListener listener : readyStateChangeListeners)
{
listener.onReadyStateChange(readyState);
}
}
}