package at.medevit.ch.artikelstamm.ui.internal;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
import at.medevit.atc_codes.ATCCodeService;
public class ATCCodeServiceTracker implements ServiceTrackerCustomizer {
private final BundleContext ctx;
public ATCCodeServiceTracker(BundleContext ctx){
this.ctx = ctx;
}
@Override
public Object addingService(ServiceReference reference){
ATCCodeService service = (ATCCodeService) ctx.getService(reference);
new ATCCodeServiceConsumer().bind(service);
return service;
}
@Override
public void modifiedService(ServiceReference reference, Object service){}
@Override
public void removedService(ServiceReference reference, Object service){
new ATCCodeServiceConsumer().unbind((ATCCodeService) service);
ctx.ungetService(reference);
}
}