X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsamples%2Fsimpleforwarding%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsamples%2Fsimpleforwarding%2Finternal%2FActivator.java;h=1a71511ef5bd0435fea671c08d10998dd9e18a00;hb=c0b2d7cf51443ec77bac12d4341249e99b44eb13;hp=f3a38ed98fdafddb6a9ecc53a75f9080859f1e70;hpb=5ea1d65aee8571ebaaff4f8b30065816873f018e;p=controller.git diff --git a/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java b/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java index f3a38ed98f..1a71511ef5 100644 --- a/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java +++ b/opendaylight/samples/simpleforwarding/src/main/java/org/opendaylight/controller/samples/simpleforwarding/internal/Activator.java @@ -9,6 +9,9 @@ package org.opendaylight.controller.samples.simpleforwarding.internal; +import java.util.Dictionary; +import java.util.Hashtable; + import org.apache.felix.dm.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,8 +21,12 @@ import org.opendaylight.controller.forwardingrulesmanager.IForwardingRulesManage import org.opendaylight.controller.hosttracker.IfIptoHost; import org.opendaylight.controller.hosttracker.IfNewHostNotify; import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase; +import org.opendaylight.controller.sal.packet.IDataPacketService; +import org.opendaylight.controller.sal.packet.IListenDataPacket; import org.opendaylight.controller.sal.routing.IListenRoutingUpdates; import org.opendaylight.controller.sal.routing.IRouting; +import org.opendaylight.controller.samples.simpleforwarding.IBroadcastHandler; +import org.opendaylight.controller.samples.simpleforwarding.IBroadcastPortSelector; import org.opendaylight.controller.switchmanager.IInventoryListener; import org.opendaylight.controller.switchmanager.ISwitchManager; import org.opendaylight.controller.topologymanager.ITopologyManager; @@ -39,7 +46,8 @@ public class Activator extends ComponentActivatorAbstractBase { * Object */ public Object[] getImplementations() { - Object[] res = { SimpleForwardingImpl.class }; + Object[] res = { SimpleForwardingImpl.class, + SimpleBroadcastHandlerImpl.class }; return res; } @@ -88,6 +96,29 @@ public class Activator extends ComponentActivatorAbstractBase { c.add(createContainerServiceDependency(containerName).setService( IRouting.class).setCallbacks("setRouting", "unsetRouting") .setRequired(false)); + }else if (imp.equals(SimpleBroadcastHandlerImpl.class)) { + Dictionary props = new Hashtable(); + props.put("salListenerName", "simplebroadcasthandler"); + + // export the service + c.setInterface(new String[] { IBroadcastHandler.class.getName(), + IListenDataPacket.class.getName() }, props); + + c.add(createContainerServiceDependency(containerName).setService( + IDataPacketService.class).setCallbacks("setDataPacketService", + "unsetDataPacketService").setRequired(false)); + + c.add(createContainerServiceDependency(containerName).setService( + ITopologyManager.class).setCallbacks("setTopologyManager", + "unsetTopologyManager").setRequired(true)); + + c.add(createContainerServiceDependency(containerName).setService( + IBroadcastPortSelector.class).setCallbacks("setBroadcastPortSelector", + "unsetBroadcastPortSelector").setRequired(false)); + + c.add(createContainerServiceDependency(containerName).setService( + ISwitchManager.class).setCallbacks("setSwitchManager", + "unsetSwitchManager").setRequired(false)); } } }