+ if (imp.equals(PipelineOrchestratorImpl.class)) {
+ c.setInterface(PipelineOrchestrator.class.getName(), null);
+ c.add(createServiceDependency()
+ .setService(AbstractServiceInstance.class)
+ .setCallbacks("registerService", "unregisterService"));
+ }
+
+ if (AbstractServiceInstance.class.isAssignableFrom((Class)imp)) {
+ c.add(createServiceDependency()
+ .setService(PipelineOrchestrator.class)
+ .setRequired(true));
+ c.add(createServiceDependency().setService(MdsalConsumer.class).setRequired(true));
+ }
+
+ if (imp.equals(ClassifierService.class)) {
+ Properties properties = new Properties();
+ properties.put(AbstractServiceInstance.SERVICE_PROPERTY, Service.CLASSIFIER);
+ c.setInterface(AbstractServiceInstance.class.getName(), properties);
+ }
+
+ if (imp.equals(ArpResponderService.class)) {
+ Properties properties = new Properties();
+ properties.put(AbstractServiceInstance.SERVICE_PROPERTY, Service.ARP_RESPONDER);
+ c.setInterface(AbstractServiceInstance.class.getName(), properties);
+ }
+
+ if (imp.equals(InboundNatService.class)) {
+ Properties properties = new Properties();
+ properties.put(AbstractServiceInstance.SERVICE_PROPERTY, Service.INBOUND_NAT);
+ c.setInterface(AbstractServiceInstance.class.getName(), properties);
+ }
+
+ if (imp.equals(IngressAclService.class)) {
+ Properties properties = new Properties();
+ properties.put(AbstractServiceInstance.SERVICE_PROPERTY, Service.INGRESS_ACL);
+ c.setInterface(AbstractServiceInstance.class.getName(), properties);
+ }
+
+ if (imp.equals(LoadBalancerService.class)) {
+ Properties properties = new Properties();
+ properties.put(AbstractServiceInstance.SERVICE_PROPERTY, Service.LOAD_BALANCER);
+ c.setInterface(AbstractServiceInstance.class.getName(), properties);
+ }
+
+ if (imp.equals(RoutingService.class)) {
+ Properties properties = new Properties();
+ properties.put(AbstractServiceInstance.SERVICE_PROPERTY, Service.ROUTING);
+ c.setInterface(AbstractServiceInstance.class.getName(), properties);
+ }
+