*/
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();
}