Jonathan Hart | 4b5bbb5 | 2014-02-06 10:09:31 -0800 | [diff] [blame] | 1 | package net.onrc.onos.ofcontroller.networkgraph; |
| 2 | |
| 3 | import net.floodlightcontroller.core.module.IFloodlightService; |
| 4 | |
| 5 | /** |
| 6 | * Interface for providing the Network Graph Service to other modules. |
| 7 | */ |
| 8 | public interface INetworkGraphService extends IFloodlightService { |
| 9 | /** |
| 10 | * Allows a module to get a reference to the global network graph object. |
| 11 | * @return |
| 12 | */ |
| 13 | public NetworkGraph getNetworkGraph(); |
Yuta HIGUCHI | a536e76 | 2014-02-17 21:47:28 -0800 | [diff] [blame] | 14 | |
| 15 | public void registerNetworkGraphListener(INetworkGraphListener listener); |
| 16 | public void deregisterNetworkGraphListener(INetworkGraphListener listener); |
| 17 | |
Jonathan Hart | 4b5bbb5 | 2014-02-06 10:09:31 -0800 | [diff] [blame] | 18 | /** |
| 19 | * Allows a module to get a reference to the southbound interface to |
| 20 | * the network graph. |
Yuta HIGUCHI | a536e76 | 2014-02-17 21:47:28 -0800 | [diff] [blame] | 21 | * TODO Figure out how to hide the southbound interface from |
Jonathan Hart | 4b5bbb5 | 2014-02-06 10:09:31 -0800 | [diff] [blame] | 22 | * applications/modules that shouldn't touch it |
| 23 | * @return |
| 24 | */ |
Jonathan Hart | 22eb988 | 2014-02-11 15:52:59 -0800 | [diff] [blame] | 25 | public NetworkGraphDiscoveryInterface getNetworkGraphDiscoveryInterface(); |
Jonathan Hart | 4b5bbb5 | 2014-02-06 10:09:31 -0800 | [diff] [blame] | 26 | } |