*/
package org.opendaylight.openflowplugin.api.openflow.role;
-import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceContextClosedHandler;
+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.DeviceInitializator;
+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 DeviceInitializator, DeviceInitializationPhaseHandler, AutoCloseable,
- DeviceContextClosedHandler {
- 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);
+
}