Adding some base-classes to eliminate event and listener boiler-plate code throughout a number of subsystems.
Refactored all core components to take advantage of this; apps remain to be done.
Change-Id: Ib0935ba07ff81b0fa032534004ec9ac6187cbf22
diff --git a/core/api/src/main/java/org/onosproject/net/device/DeviceService.java b/core/api/src/main/java/org/onosproject/net/device/DeviceService.java
index ab6dba5..c59454d 100644
--- a/core/api/src/main/java/org/onosproject/net/device/DeviceService.java
+++ b/core/api/src/main/java/org/onosproject/net/device/DeviceService.java
@@ -15,6 +15,7 @@
*/
package org.onosproject.net.device;
+import org.onosproject.event.ListenerService;
import org.onosproject.net.Device;
import org.onosproject.net.DeviceId;
import org.onosproject.net.MastershipRole;
@@ -26,7 +27,8 @@
/**
* Service for interacting with the inventory of infrastructure devices.
*/
-public interface DeviceService {
+public interface DeviceService
+ extends ListenerService<DeviceEvent, DeviceListener> {
/**
* Returns the number of infrastructure devices known to the system.
@@ -119,18 +121,4 @@
*/
boolean isAvailable(DeviceId deviceId);
- /**
- * Adds the specified device listener.
- *
- * @param listener device listener
- */
- void addListener(DeviceListener listener);
-
- /**
- * Removes the specified device listener.
- *
- * @param listener device listener
- */
- void removeListener(DeviceListener listener);
-
}