Renamed networkgraph package to topology.
Moved NetworkGraphPublisher into new topology package.
net.onrc.onos.ofcontroller.networkgraph.* => net.onrc.onos.core.topology.*
net.onrc.onos.ofcontroller.floodlightlistener.NetworkGraphPublisher => net.onrc.onos.core.topology.NetworkGraphPublisher
Change-Id: I8b156d0fcbba520fee61e92ab659bb02cfa704ac
diff --git a/src/main/java/net/onrc/onos/core/topology/INetworkGraphService.java b/src/main/java/net/onrc/onos/core/topology/INetworkGraphService.java
new file mode 100644
index 0000000..9d4cb3a
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/topology/INetworkGraphService.java
@@ -0,0 +1,26 @@
+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();
+}