/**
*
*/
package org.foo.http.tracker;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.service.http.HttpService;
import org.osgi.util.tracker.ServiceTracker;
class HttpServiceTracker extends ServiceTracker {
private final BundleContext context;
public HttpServiceTracker(BundleContext context) {
super(context, HttpService.class.getName(), null);
this.context = context;
}
@Override
public Object addingService(ServiceReference reference) {
HttpService http = (HttpService) super.addingService(reference);
HttpResourceTracker tracker = new HttpResourceTracker(context, http);
tracker.open();
return tracker;
}
@Override
public void removedService(ServiceReference reference, Object service) {
HttpResourceTracker tracker = (HttpResourceTracker) service;
tracker.close();
super.removedService(reference, tracker.getHttp());
}
}