Eliminate network-pcep-topology-config
[bgpcep.git] / pcep / topology / topology-provider / src / main / java / org / opendaylight / bgpcep / pcep / topology / provider / PCEPTopologyProviderDependencies.java
1 /*
2  * Copyright (c) 2017 Pantheon Technologies s.r.o. 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.bgpcep.pcep.topology.provider;
9
10 import org.eclipse.jdt.annotation.NonNullByDefault;
11 import org.opendaylight.bgpcep.pcep.server.PceServerProvider;
12 import org.opendaylight.mdsal.binding.api.DataBroker;
13 import org.opendaylight.mdsal.binding.api.RpcProviderService;
14 import org.opendaylight.protocol.pcep.PCEPDispatcher;
15
16 /**
17  * Provides required dependencies for PCEPTopologyProviderProvider instantiation.
18  */
19 @NonNullByDefault
20 interface PCEPTopologyProviderDependencies {
21     /**
22      * PCEP Dispatcher.
23      *
24      * @return PCEPDispatcher
25      */
26     PCEPDispatcher getPCEPDispatcher();
27
28     /**
29      * Rpc Provider Registry.
30      *
31      * @return RpcProviderRegistry
32      */
33     RpcProviderService getRpcProviderRegistry();
34
35     /**
36      * DataBroker.
37      *
38      * @return DataBroker
39      */
40     DataBroker getDataBroker();
41
42     /**
43      * Topology Session State Registry.
44      *
45      * @return TopologySessionStateRegistry
46      */
47     TopologySessionStatsRegistry getStateRegistry();
48
49     /**
50      * PCE Server Provider.
51      *
52      * @return PceServerProvider
53      */
54     PceServerProvider getPceServerProvider();
55 }