Enhanced layout service and hooked-in the ui topo session.
Change-Id: I357143766deb3f0d697a3e7963a53968ccdf3bc8
diff --git a/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java b/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
index 989c807..0f2c273 100644
--- a/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
+++ b/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
@@ -26,6 +26,14 @@
public interface UiTopoLayoutService {
/**
+ * Returns the top-level root layout, which always exists and cannot
+ * be removed or associated directly with a region.
+ *
+ * @return root topology layout
+ */
+ UiTopoLayout getRootLayout();
+
+ /**
* Returns the set of available layouts.
*
* @return set of available layouts
@@ -40,15 +48,23 @@
*/
boolean addLayout(UiTopoLayout layout);
-
/**
* Returns the layout with the specified identifier.
+ *
* @param layoutId layout identifier
* @return layout or null if no such layout is found
*/
UiTopoLayout getLayout(UiTopoLayoutId layoutId);
/**
+ * Returns the set of the child layouts of the specified layout.
+ *
+ * @param layoutId layout identifier
+ * @return set of child layouts; empty set if layout has no children
+ */
+ Set<UiTopoLayout> getChildren(UiTopoLayoutId layoutId);
+
+ /**
* Removes a layout from the system.
*
* @param layout the layout to remove