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/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java
index 455ed68..5a89ccb 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/config/NetworkConfigService.java
@@ -17,6 +17,7 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.annotations.Beta;
+import org.onosproject.event.ListenerService;
import java.util.Set;
@@ -26,7 +27,8 @@
* should act on or configure the network.
*/
@Beta
-public interface NetworkConfigService {
+public interface NetworkConfigService
+ extends ListenerService<NetworkConfigEvent, NetworkConfigListener> {
/**
* Returns the set of subject classes for which configuration may be
@@ -140,17 +142,4 @@
*/
<S, C extends Config<S>> void removeConfig(S subject, Class<C> configClass);
- /**
- * Adds the specified network config listener.
- *
- * @param listener network config listener
- */
- void addListener(NetworkConfigListener listener);
-
- /**
- * Removes the specified network config listener.
- *
- * @param listener network config listener
- */
- void removeListener(NetworkConfigListener listener);
}