blob: 9d4cb3a11d7890cc1d83ea23efcab76f9621d128 [file] [log] [blame]
package net.onrc.onos.core.topology;
import net.floodlightcontroller.core.module.IFloodlightService;
/**
* Interface for providing the Network Graph Service to other modules.
*/
public interface INetworkGraphService extends IFloodlightService {
/**
* Allows a module to get a reference to the global network graph object.
* @return
*/
public NetworkGraph getNetworkGraph();
public void registerNetworkGraphListener(INetworkGraphListener listener);
public void deregisterNetworkGraphListener(INetworkGraphListener listener);
/**
* Allows a module to get a reference to the southbound interface to
* the network graph.
* TODO Figure out how to hide the southbound interface from
* applications/modules that shouldn't touch it
* @return
*/
public NetworkGraphDiscoveryInterface getNetworkGraphDiscoveryInterface();
}