BUG-4083: Li: Enabling polling of statistics via config subsystem.
[openflowplugin.git] / openflowplugin-api / src / main / java / org / opendaylight / openflowplugin / api / openflow / OpenFlowPluginProvider.java
index 3368056332145ead91f940397ea35a495e334b15..8bd7877533a84fd3594154c011a3efbb84666da1 100644 (file)
@@ -8,33 +8,59 @@
 
 package org.opendaylight.openflowplugin.api.openflow;
 
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
+import java.util.Collection;
+import org.opendaylight.controller.md.sal.binding.api.BindingService;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.controller.md.sal.binding.api.NotificationService;
+import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
 import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.api.types.rev150327.OfpRole;
-import java.util.Collection;
 
 /**
- * Created by Martin Bobak <mbobak@cisco.com> on 27.3.2015.
+ * Created by Martin Bobak &lt;mbobak@cisco.com&gt; on 27.3.2015.
  */
-public interface OpenFlowPluginProvider extends AutoCloseable {
-
-
-    public void onSessionInitiated(BindingAwareBroker.ProviderContext session);
+public interface OpenFlowPluginProvider extends AutoCloseable, BindingService {
 
     /**
      * Method sets openflow java's connection providers.
      */
-    public void setSwitchConnectionProviders(Collection<SwitchConnectionProvider> switchConnectionProvider);
+    void setSwitchConnectionProviders(Collection<SwitchConnectionProvider> switchConnectionProvider);
+
+    /**
+     * setter
+     *
+     * @param dataBroker
+     */
+    void setDataBroker(DataBroker dataBroker);
+
+    void setRpcProviderRegistry(RpcProviderRegistry rpcProviderRegistry);
 
+    void setNotificationProviderService(NotificationService notificationProviderService);
+
+    void setNotificationPublishService(NotificationPublishService notificationPublishService);
 
     /**
      * Method sets role of this application in clustered environment.
      */
-    public void setRole(OfpRole role);
+    void setRole(OfpRole role);
 
     /**
      * Method initializes all DeviceManager, RpcManager and related contexts.
      */
-    public void initialize();
+    void initialize();
+
+    /**
+     * This parameter indicates whether it is mandatory for switch to support OF1.3 features : table, flow, meter,group.
+     * If this is set to true and switch doesn't support these features its connection will be denied.
+     * @param switchFeaturesMandatory
+     */
+    void setSwitchFeaturesMandatory(final boolean switchFeaturesMandatory);
+
+    boolean isSwitchFeaturesMandatory();
+
+    boolean isStatisticsPollingOff();
+
+    void setIsStatisticsPollingOff(final boolean isStatisticsPollingOff);
 
-}
+    }