Add RemoteDeviceServices
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / api / RemoteDeviceHandler.java
index 699c39945bd2788eb3151af022b3d940d736bba2..9e3f24a5ff51d9cd117645fd2bf8c68b41d47185 100644 (file)
@@ -7,20 +7,30 @@
  */
 package org.opendaylight.netconf.sal.connect.api;
 
-import org.opendaylight.controller.md.sal.dom.api.DOMNotification;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.netconf.sal.connect.netconf.NetconfDeviceSchema;
+import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
 
-public interface RemoteDeviceHandler<PREF> extends AutoCloseable {
-
-    void onDeviceConnected(SchemaContext remoteSchemaContext,
-                           PREF netconfSessionPreferences, DOMRpcService deviceRpc);
+public interface RemoteDeviceHandler extends AutoCloseable {
+    /**
+     * When device connected, init new mount point with specific schema context and DOM services.
+     *
+     * @param deviceSchema {@link NetconfDeviceSchema} of connected device
+     * @param sessionPreferences session of device
+     * @param services {@link RemoteDeviceServices} available
+     */
+    void onDeviceConnected(NetconfDeviceSchema deviceSchema, NetconfSessionPreferences sessionPreferences,
+            RemoteDeviceServices services);
 
+    // FIXME: document this node
     void onDeviceDisconnected();
 
+    // FIXME: document this node
     void onDeviceFailed(Throwable throwable);
 
+    // FIXME: document this node
     void onNotification(DOMNotification domNotification);
 
+    @Override
     void close();
 }