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();
+}