Move netconf-console to apps/
[netconf.git] / plugins / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / api / RemoteDeviceHandler.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.netconf.sal.connect.api;
9
10 import org.opendaylight.mdsal.dom.api.DOMNotification;
11 import org.opendaylight.netconf.sal.connect.netconf.NetconfDeviceSchema;
12 import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
13
14 public interface RemoteDeviceHandler extends AutoCloseable {
15     /**
16      * When device connected, init new mount point with specific schema context and DOM services.
17      *
18      * @param deviceSchema {@link NetconfDeviceSchema} of connected device
19      * @param sessionPreferences session of device
20      * @param services {@link RemoteDeviceServices} available
21      */
22     void onDeviceConnected(NetconfDeviceSchema deviceSchema, NetconfSessionPreferences sessionPreferences,
23             RemoteDeviceServices services);
24
25     // FIXME: document this node
26     void onDeviceDisconnected();
27
28     // FIXME: document this node
29     void onDeviceFailed(Throwable throwable);
30
31     // FIXME: document this node
32     void onNotification(DOMNotification domNotification);
33
34     @Override
35     void close();
36 }