Renamed *NetworkGraph* references to *Topology*.
Change-Id: Iec01c47086e1518592c0753e75395d3fe5abcde3
diff --git a/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java b/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java
new file mode 100644
index 0000000..889db03
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/topology/ITopologyListener.java
@@ -0,0 +1,46 @@
+package net.onrc.onos.core.topology;
+
+import java.util.Collection;
+
+/**
+ * Interface which needs to be implemented to receive Topology events from
+ * the Topology.
+ */
+public interface ITopologyListener {
+ /**
+ * Topology events.
+ * <p/>
+ * 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.
+ */
+ // CHECKSTYLE:OFF suppress warning about too many parameters
+ public void topologyEvents(Collection<SwitchEvent> addedSwitchEvents,
+ Collection<SwitchEvent> removedSwitchEvents,
+ Collection<PortEvent> addedPortEvents,
+ Collection<PortEvent> removedPortEvents,
+ Collection<LinkEvent> addedLinkEvents,
+ Collection<LinkEvent> removedLinkEvents,
+ Collection<DeviceEvent> addedDeviceEvents,
+ Collection<DeviceEvent> removedDeviceEvents);
+ // CHECKSTYLE:ON
+}