blob: 9d4cb3a11d7890cc1d83ea23efcab76f9621d128 [file] [log] [blame]
Jonathan Hart472062d2014-04-03 10:56:48 -07001package net.onrc.onos.core.topology;
Jonathan Hart4b5bbb52014-02-06 10:09:31 -08002
3import net.floodlightcontroller.core.module.IFloodlightService;
4
5/**
6 * Interface for providing the Network Graph Service to other modules.
7 */
8public 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 HIGUCHIa536e762014-02-17 21:47:28 -080014
15 public void registerNetworkGraphListener(INetworkGraphListener listener);
16 public void deregisterNetworkGraphListener(INetworkGraphListener listener);
17
Jonathan Hart4b5bbb52014-02-06 10:09:31 -080018 /**
19 * Allows a module to get a reference to the southbound interface to
20 * the network graph.
Yuta HIGUCHIa536e762014-02-17 21:47:28 -080021 * TODO Figure out how to hide the southbound interface from
Jonathan Hart4b5bbb52014-02-06 10:09:31 -080022 * applications/modules that shouldn't touch it
23 * @return
24 */
Jonathan Hart22eb9882014-02-11 15:52:59 -080025 public NetworkGraphDiscoveryInterface getNetworkGraphDiscoveryInterface();
Jonathan Hart4b5bbb52014-02-06 10:09:31 -080026}