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;
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;
* Object
*/
public Object[] getImplementations() {
- Object[] res = { SimpleForwardingImpl.class };
+ Object[] res = { SimpleForwardingImpl.class,
+ SimpleBroadcastHandlerImpl.class };
return res;
}
c.add(createContainerServiceDependency(containerName).setService(
IRouting.class).setCallbacks("setRouting", "unsetRouting")
.setRequired(false));
+ }else if (imp.equals(SimpleBroadcastHandlerImpl.class)) {
+ Dictionary<String, String> props = new Hashtable<String, String>();
+ 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));
}
}
}