blob: 5d94f65c85e1e466c06f3d96e5795ad2066701cc [file] [log] [blame]
package net.onrc.onos.ofcontroller.networkgraph;
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();
}