blob: 18eb7854db1caba40da59e498443e8e2776984a5 [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();
}