X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fapi%2Fmonitoring%2FNetconfMonitoringService.java;h=d22412c7cf11df2447d19a184c7c5966159a5f86;hp=3f0e1a1aa58b795ec501d1e0790da041306aa384;hb=b42eff1340aee9b4c29265de40296926d88b9525;hpb=45757bbd6c220f0f805715c84025c75a9388770a diff --git a/opendaylight/netconf/netconf-api/src/main/java/org/opendaylight/controller/netconf/api/monitoring/NetconfMonitoringService.java b/opendaylight/netconf/netconf-api/src/main/java/org/opendaylight/controller/netconf/api/monitoring/NetconfMonitoringService.java index 3f0e1a1aa5..d22412c7cf 100644 --- a/opendaylight/netconf/netconf-api/src/main/java/org/opendaylight/controller/netconf/api/monitoring/NetconfMonitoringService.java +++ b/opendaylight/netconf/netconf-api/src/main/java/org/opendaylight/controller/netconf/api/monitoring/NetconfMonitoringService.java @@ -8,7 +8,8 @@ package org.opendaylight.controller.netconf.api.monitoring; import com.google.common.base.Optional; -import java.util.Set; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.NetconfState; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Capabilities; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Schemas; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Sessions; @@ -20,6 +21,16 @@ public interface NetconfMonitoringService extends CapabilityListener, SessionLis String getSchemaForCapability(String moduleName, Optional revision); - Set getCapabilities(); + Capabilities getCapabilities(); + /** + * Allows push based state information transfer. After the listener is registered, current state is pushed to the listener. + */ + AutoCloseable registerListener(MonitoringListener listener); + + interface MonitoringListener { + + // TODO more granular updates would make sense + void onStateChanged(NetconfState state); + } }