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 <mbobak@cisco.com> 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);
-}
+ }