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/INetworkGraphListener.java b/src/main/java/net/onrc/onos/core/topology/INetworkGraphListener.java
new file mode 100644
index 0000000..c64b126
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/topology/INetworkGraphListener.java
@@ -0,0 +1,44 @@
+package net.onrc.onos.core.topology;
+
+import java.util.Collection;
+
+/**
+ * Interface which needs to be implemented to receive Topology events from
+ * the NetworkGraph.
+ */
+public interface INetworkGraphListener {
+    /**
+     * Network Graph events.
+     *
+     * The recommended ordering rules for applying/processing the events is:
+     *    (a) Process "added" events before "removed" events.
+     *    (b) The ordering of the "added" events should be:
+     *          addedSwitchEvents, addedPortEvents, addedLinkEvents,
+     *          addedDeviceEvents
+     *        The above ordering guarantees that adding a port for example
+     *        will be processed after the corresponding switch itself is added.
+     *    (c) The ordering of the "removed" events should be:
+     *          removedDeviceEvents, removedLinkEvents, removedPortEvents,
+     *          removedSwitchEvents
+     *      The above ordering guarantees that removing a port for example
+     *      will be processed before the corresponding switch itself is
+     *      removed.
+     *
+     * @param addedSwitchEvents the Added Switch Events.
+     * @param removedSwitchEvents the Removed Switch Events.
+     * @param addedPortEvents the Added Port Events.
+     * @param removedPortEvents the Removed Port Events.
+     * @param addedLinkEvents the Added Link Events.
+     * @param removedLinkEvents the Removed Link Events.
+     * @param addedDeviceEvents the Added Device Events.
+     * @param removedDeviceEvents the Removed Device Events.
+     */
+    public void networkGraphEvents(Collection<SwitchEvent> addedSwitchEvents,
+				   Collection<SwitchEvent> removedSwitchEvents,
+				   Collection<PortEvent> addedPortEvents,
+				   Collection<PortEvent> removedPortEvents,
+				   Collection<LinkEvent> addedLinkEvents,
+				   Collection<LinkEvent> removedLinkEvents,
+				   Collection<DeviceEvent> addedDeviceEvents,
+				   Collection<DeviceEvent> removedDeviceEvents);
+}