Add changed-leaf-nodes-only subscription extension
[netconf.git] / apps / netconf-topology / src / main / java / org / opendaylight / netconf / topology / api / NetconfConnectorFactory.java
1 /*
2  * Copyright (c) 2016 Inocybe Technologies 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.topology.api;
9
10 import org.opendaylight.mdsal.binding.api.DataBroker;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.NetconfNode;
12 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
13
14 /**
15  * Created by adetalhouet on 2016-11-03.
16  */
17 public interface NetconfConnectorFactory {
18
19     /**
20      * Create a new netconf connector with default values.
21      *
22      * <p>
23      * This method will create a {@link Node} and a {@link NetconfNode}
24      * that will be added as an augmentation to the {@link Node}.
25      * Afterward, that {@link Node} will be written in the MDSAL datastore under the {@link NetconfTopology}.
26      * Listeners of that subtree located within network-topology bundle will setup the session.
27      *
28      * @param dataBroker Instance of the {@link DataBroker}
29      * @param instanceName The name of the node
30      * @param address The address
31      * @param port The port
32      * @param username The username of the netconf session
33      * @param password The password of the netconf session
34      * @param tcpOnly Whether to create a TCP or SSH session
35      * @param reconnectOnSchemaChange Whether to enable ietf-netconf-monitoring and register the NETCONF stream.
36      * @return The created {@link Node}
37      */
38     Node newInstance(DataBroker dataBroker,
39                      String instanceName,
40                      String address,
41                      Integer port,
42                      String username,
43                      String password,
44                      Boolean tcpOnly,
45                      Boolean reconnectOnSchemaChange);
46 }