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