Moved pure ONOS code in net.floodlightcontroller.core to onos package namespace
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyService.java b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyService.java
new file mode 100644
index 0000000..b67ca95
--- /dev/null
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyService.java
@@ -0,0 +1,123 @@
+package net.onrc.onos.ofcontroller.core;
+
+import java.util.List;
+import java.util.Map;
+
+import net.floodlightcontroller.core.module.IFloodlightService;
+import net.floodlightcontroller.routing.Link;
+import net.floodlightcontroller.topology.NodePortTuple;
+import net.floodlightcontroller.util.DataPath;
+import net.floodlightcontroller.util.SwitchPort;
+import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
+import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
+import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
+
+public interface INetMapTopologyService extends INetMapService {
+
+	public interface ITopoSwitchService {
+		Iterable<ISwitchObject> getActiveSwitches();
+		Iterable<ISwitchObject> getAllSwitches();
+		Iterable<ISwitchObject> getInactiveSwitches();
+		Iterable<IPortObject> getPortsOnSwitch(String dpid);
+		IPortObject getPortOnSwitch(String dpid, short port_num);
+		void close();
+
+	}
+	
+	public interface ITopoLinkService {
+		List<Link> getActiveLinks();
+		List<Link> getLinksOnSwitch(String dpid);
+		void close();
+	}
+	public interface ITopoDeviceService {
+		Iterable<IDeviceObject> getActiveDevices();
+		Iterable<IDeviceObject> getDevicesOnSwitch(String dpid);
+		Iterable<IDeviceObject> getDevicesOnSwitch(String dpid, short port_num);
+	}
+	
+	public interface ITopoRouteService extends IFloodlightService {
+	    /**
+	     * Get the shortest path from a source to a destination.
+	     *
+	     * @param src the source in the shortest path computation.
+	     * @param dest the destination in the shortest path computation.
+	     * @return the data path with the computed shortest path if
+	     * found, otherwise null.
+	     */
+	    DataPath getShortestPath(SwitchPort src, SwitchPort dest);
+
+	    /**
+	     * Fetch the Switch and Ports info from the Titan Graph
+	     * and return it for fast access during the shortest path
+	     * computation.
+	     *
+	     * After fetching the state, method @ref getTopoShortestPath()
+	     * can be used for fast shortest path computation.
+	     *
+	     * Note: There is certain cost to fetch the state, hence it should
+	     * be used only when there is a large number of shortest path
+	     * computations that need to be done on the same topology.
+	     * Typically, a single call to @ref prepareShortestPathTopo()
+	     * should be followed by a large number of calls to
+	     * method @ref getTopoShortestPath().
+	     * After the last @ref getTopoShortestPath() call,
+	     * method @ref dropShortestPathTopo() should be used to release
+	     * the internal state that is not needed anymore:
+	     *
+	     *       Map<Long, ?> shortestPathTopo;
+	     *       shortestPathTopo = prepareShortestPathTopo();
+	     *       for (int i = 0; i < 10000; i++) {
+	     *           dataPath = getTopoShortestPath(shortestPathTopo, ...);
+	     *           ...
+	     *        }
+	     *        dropShortestPathTopo(shortestPathTopo);
+	     *
+	     * @return the Shortest Path info handler stored in a map.
+	     */
+	    Map<Long, ?> prepareShortestPathTopo();
+
+	    /**
+	     * Release the state that was populated by
+	     * method @ref prepareShortestPathTopo().
+	     *
+	     * See the documentation for method @ref prepareShortestPathTopo()
+	     * for additional information and usage.
+	     *
+	     * @shortestPathTopo the Shortest Path info handler to release.
+	     */
+	    void dropShortestPathTopo(Map<Long, ?> shortestPathTopo);
+
+	    /**
+	     * Get the shortest path from a source to a destination by
+	     * using the pre-populated local topology state prepared
+	     * by method @ref prepareShortestPathTopo().
+	     *
+	     * See the documentation for method @ref prepareShortestPathTopo()
+	     * for additional information and usage.
+	     *
+	     * @paran shortestPathTopoHandler the Shortest Path info handler
+	     * to use.
+	     * @param src the source in the shortest path computation.
+	     * @param dest the destination in the shortest path computation.
+	     * @return the data path with the computed shortest path if
+	     * found, otherwise null.
+	     */
+	    DataPath getTopoShortestPath(Map<Long, ?> shortestPathTopo,
+					 SwitchPort src, SwitchPort dest);
+
+	    /**
+	     * Test whether a route exists from a source to a destination.
+	     *
+	     * @param src the source node for the test.
+	     * @param dest the destination node for the test.
+	     * @return true if a route exists, otherwise false.
+	     */
+	    Boolean routeExists(SwitchPort src, SwitchPort dest);
+	}
+	
+	public interface ITopoFlowService {
+		Boolean flowExists(NodePortTuple src, NodePortTuple dest);
+		List<NodePortTuple> getShortestFlowPath(NodePortTuple src, NodePortTuple dest);
+		
+	}
+}