Optimized imports
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / lifecycle / LifecycleConductor.java
index 63042e0b742f6a449634b1905a10eeb584fe66ff..fcddb2cd4bfff4d83388de0cd527e795463f1700 100644 (file)
@@ -10,13 +10,15 @@ package org.opendaylight.openflowplugin.api.openflow.lifecycle;
 
 import io.netty.util.Timeout;
 import io.netty.util.TimerTask;
+import java.util.concurrent.TimeUnit;
+import javax.annotation.Nonnull;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.openflowplugin.api.openflow.OFPManager;
+import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
-import org.opendaylight.openflowplugin.api.openflow.device.DeviceManager;
+import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
+import org.opendaylight.openflowplugin.api.openflow.statistics.StatisticsContext;
 import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageIntelligenceAgency;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-
-import javax.annotation.Nonnull;
-import java.util.concurrent.TimeUnit;
 
 /**
  * This class is a binder between all managers
@@ -26,24 +28,31 @@ public interface LifecycleConductor {
 
     /**
      * Returns device context from device manager device contexts maps
-     * @param nodeId node identification
-     * @return null if context doesn't exists
+     *
+     * @param deviceInfo@return null if context doesn't exists
      */
-    DeviceContext getDeviceContext(final NodeId nodeId);
+    DeviceContext getDeviceContext(DeviceInfo deviceInfo);
+
+
+    /**
+     * Setter for device manager once set it cant be unset or overwritten
+     * @param manager
+     */
+    void setSafelyManager(OFPManager manager);
 
     /**
      * Registers ont time listener for notify when services rpc, statistics are done stop or start
      * @param manager service change listener
-     * @param nodeId node identification
+     * @param deviceInfo node identification
      */
-    void addOneTimeListenerWhenServicesChangesDone(final ServiceChangeListener manager, final NodeId nodeId);
+    void addOneTimeListenerWhenServicesChangesDone(final ServiceChangeListener manager, final DeviceInfo deviceInfo);
 
     /**
-     * Returns device of version
-     * @param nodeId node identification
-     * @return null if device context doesn't exists
+     * Returns statistics context from statistics managers contexts maps
+     *
+     * @param deviceInfo@return null if context doesn't exists
      */
-    Short gainVersionSafely(final NodeId nodeId);
+    StatisticsContext getStatisticsContext(DeviceInfo deviceInfo);
 
     /**
      * Set new timeout for {@link io.netty.util.HashedWheelTimer}
@@ -62,20 +71,20 @@ public interface LifecycleConductor {
 
     /**
      * Interrupt connection for the node
-     * @param nodeId node identification
+     * @param deviceInfo node identification
      */
-    void closeConnection(final NodeId nodeId);
+    void closeConnection(final DeviceInfo deviceInfo);
 
-    /**
-     * Setter for device manager once set it cant be unset or overwritten
-     * @param deviceManager should be set in OpenFlowPluginProviderImpl
-     */
-    void setSafelyDeviceManager(final DeviceManager deviceManager);
+    ConnectionContext.CONNECTION_STATE gainConnectionStateSafely(DeviceInfo deviceInfo);
 
     /**
      * Xid from outboundqueue
-     * @param nodeId
+     * @param deviceInfo
      * @return
      */
-    Long reserveXidForDeviceMessage(final NodeId nodeId);
+    Long reserveXidForDeviceMessage(final DeviceInfo deviceInfo);
+
+    NotificationPublishService getNotificationPublishService();
+
+    void setNotificationPublishService(NotificationPublishService notificationPublishService);
 }