Changed device listener to be a list instead of single listener

This commit is contained in:
Ziver Koc 2021-06-25 22:26:02 +02:00
parent 8d9896f8b4
commit 53d471c0aa
24 changed files with 120 additions and 97 deletions

View file

@ -59,9 +59,9 @@ public interface HalAbstractController {
int size();
/**
* Set a listener that will receive all reports from the the registered devices.
* Add a listener to the controller that will receive all device reports from registered devices.
*/
void setListener(HalDeviceReportListener listener);
void addListener(HalDeviceReportListener listener);
/**
* Close any resources associated with this controller.

View file

@ -19,7 +19,7 @@ public abstract class HalAbstractControllerManager<T extends HalAbstractControll
private static final Logger logger = LogUtil.getLogger();
/** A map of all instantiated controllers **/
protected static Map<Class, HalAbstractController> controllerMap;
protected static Map<Class, HalAbstractController> controllerMap = new ConcurrentHashMap<>();;
/** All available sensor plugins **/
protected List<Class<? extends C>> availableDeviceConfigs = new ArrayList<>();
@ -43,8 +43,6 @@ public abstract class HalAbstractControllerManager<T extends HalAbstractControll
synchronized (this) {
if (controllerMap == null) {
controllerMap = new ConcurrentHashMap<>();
for (Iterator<Class<? extends HalAutostartController>> it = pluginManager.getClassIterator(HalAutostartController.class); it.hasNext(); ) {
Class controller = it.next();
getControllerInstance(controller); // Instantiate controller
@ -152,7 +150,7 @@ public abstract class HalAbstractControllerManager<T extends HalAbstractControll
// Assign the manager as a listener
if (this instanceof HalDeviceReportListener)
controller.setListener((HalDeviceReportListener) this);
controller.addListener((HalDeviceReportListener) this);
return controller;
}

View file

@ -144,7 +144,7 @@ public class EventControllerManagerTest {
}
@Override
public void setListener(HalDeviceReportListener listener) { }
public void addListener(HalDeviceReportListener listener) { }
@Override
public void close() { }

View file

@ -160,7 +160,7 @@ public class SensorControllerManagerTest {
}
@Override
public void setListener(HalDeviceReportListener listener) { }
public void addListener(HalDeviceReportListener listener) { }
@Override
public void close() { }