Merge "BUG-614: migrate RuntimeGeneratedInvoker"
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / notify / NotificationService.java
index 3bf10546e50fc70331e943514defbad6999189a5..7a60f2d67783f0ac2690914325c1bd0e13b3539a 100644 (file)
@@ -11,16 +11,17 @@ import org.opendaylight.controller.sal.core.api.BrokerService;
 import org.opendaylight.controller.sal.core.api.Provider;
 import org.opendaylight.controller.sal.core.api.RpcImplementation;
 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.common.QName;
 
 
 /**
  * NotificationService provides access to the notification functionality of the
  * SAL.
- * 
+ *
  * NotificationService allows for consumption of notifications by registering
  * implementations of NotificationListener.
- * 
+ *
  * The registration of notification listeners could be done by:
  * <ul>
  * <li>returning an instance of implementation in the return value of
@@ -29,26 +30,17 @@ import org.opendaylight.yangtools.yang.common.QName;
  * arguments to the
  * {@link ProviderSession#addRpcImplementation(QName, RpcImplementation)}
  * </ul>
- * 
- * 
+ *
+ *
  */
 public interface NotificationService extends BrokerService {
 
     /**
      * Registers a notification listener for supplied notification type.
-     * 
-     * @param notification
-     * @param listener
-     */
-    void addNotificationListener(QName notification,
-            NotificationListener listener);
-
-    /**
-     * Removes a notification listener for supplied notification type.
-     * 
+     *
      * @param notification
      * @param listener
      */
-    void removeNotificationListener(QName notification,
+    Registration<NotificationListener> addNotificationListener(QName notification,
             NotificationListener listener);
 }