Bug 5596 Created lifecycle service
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / role / RoleManager.java
index 66d92d8806f46d6b9c7d49df854f770bf743308c..c1f73ed0e6b83159e847ea449338ad289a67f997 100644 (file)
@@ -7,15 +7,30 @@
  */
 package org.opendaylight.openflowplugin.api.openflow.role;
 
-import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceTerminationPhaseHandler;
+import org.opendaylight.openflowplugin.api.openflow.OFPManager;
+import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
 import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceInitializationPhaseHandler;
 import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceLifecycleSupervisor;
+import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceTerminationPhaseHandler;
+import org.opendaylight.openflowplugin.api.openflow.lifecycle.RoleChangeListener;
 
 /**
- * Created by kramesha on 8/31/15.
+ * Manager for role change on device
  */
-public interface RoleManager extends DeviceLifecycleSupervisor, DeviceInitializationPhaseHandler, AutoCloseable,
-        DeviceTerminationPhaseHandler {
-    public static final String ENTITY_TYPE = "openflow";
-    public static final String TX_ENTITY_TYPE = "ofTransaction";
+public interface RoleManager extends
+        DeviceLifecycleSupervisor,
+        DeviceInitializationPhaseHandler,
+        AutoCloseable,
+        DeviceTerminationPhaseHandler,
+        OFPManager {
+    String ENTITY_TYPE = "openflow";
+    String TX_ENTITY_TYPE = "ofTransaction";
+
+    /**
+     * Adding listener to by notified for role changes
+     * API for listener {@link RoleChangeListener}
+     * @param roleChangeListener
+     */
+    void addRoleChangeListener(RoleChangeListener roleChangeListener);
+
 }