Graph: add Multi-Topology support
[bgpcep.git] / pcep / server / server-api / src / main / java / org / opendaylight / bgpcep / pcep / server / PceServerProvider.java
1 /*
2  * Copyright (c) 2020 Orange. 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
9 package org.opendaylight.bgpcep.pcep.server;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.graph.rev220720.graph.topology.GraphKey;
12 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
13 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
14 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
15
16 public interface PceServerProvider {
17
18     /**
19      * Return the instance of the Path Computation server.
20      *
21      * @return  Path Computation Object
22      */
23     PathComputation getPathComputation();
24
25     /**
26      * Register PCEP Topology into PCE Server to manage LSP.
27      *
28      * @param topology  Configured PCEP Topology
29      * @param graphKey  Configured Connected Graph Topology as GraphKey
30      */
31     void registerPcepTopology(KeyedInstanceIdentifier<Topology, TopologyKey> topology, GraphKey graphKey);
32
33     /**
34      * Un Register current PCEP Topology into PCE Server.
35      *
36      * @param topology    Configured PCEP Topology
37      */
38     void unRegisterPcepTopology(KeyedInstanceIdentifier<Topology, TopologyKey> topology);
39 }