--- /dev/null
+package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.applications.lldp.speaker.rev141023;
+
+import org.opendaylight.controller.config.api.DependencyResolver;
+import org.opendaylight.controller.config.api.ModuleIdentifier;
+import org.opendaylight.openflowplugin.applications.lldpspeaker.LLDPSpeaker;
+import org.opendaylight.openflowplugin.applications.lldpspeaker.NodeConnectorInventoryEventTranslator;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class LLDPSpeakerModule extends AbstractLLDPSpeakerModule {
+ private static final Logger LOG = LoggerFactory.getLogger(LLDPSpeakerModule.class);
+
+ public LLDPSpeakerModule(ModuleIdentifier identifier, DependencyResolver dependencyResolver) {
+ super(identifier, dependencyResolver);
+ }
+
+ public LLDPSpeakerModule(ModuleIdentifier identifier, DependencyResolver dependencyResolver,
+ LLDPSpeakerModule oldModule, AutoCloseable oldInstance) {
+ super(identifier, dependencyResolver, oldModule, oldInstance);
+ }
+
+ @Override
+ public void customValidation() {
+ // add custom validation form module attributes here.
+ }
+
+ @Override
+ public AutoCloseable createInstance() {
+ LOG.trace("Creating LLDP speaker.");
+
+ PacketProcessingService packetProcessingService =
+ getRpcRegistryDependency().getRpcService(PacketProcessingService.class);
+
+ final LLDPSpeaker lldpSpeaker = new LLDPSpeaker(packetProcessingService);
+ final NodeConnectorInventoryEventTranslator eventTranslator =
+ new NodeConnectorInventoryEventTranslator(getDataBrokerDependency(), lldpSpeaker);
+
+ return new AutoCloseable() {
+ @Override
+ public void close() {
+ LOG.trace("Closing LLDP speaker.");
+ eventTranslator.close();
+ lldpSpeaker.close();
+ }
+ };
+ }
+
+}