public interface UsbInfoService {
List<UsbDevice> getConnectedDevices();
}
public class UsbInfoServiceImpl implements UsbInfoService {
@Override
public List<UsbDevice> getConnectedDevices() {
// ...
}
}
public class Activator implements BundleActivator {
private ServiceRegistration<UsbInfoService> registration;
@Override
public void start(BundleContext bundleContext) throws Exception {
UsbInfoService usbInfoService = new UsbInfoServiceImpl();
registration = bundleContext.registerService(UsbInfoService.class, usbInfoService, null);
}
@Override
public void stop(BundleContext bundleContext) throws Exception {
registration.unregister();
}
}
public class Client {
private UsbInfoService usbInfoService;
public void setUsbInfoService(UsbInfoService usbInfoService) {
this.usbInfoService = usbInfoService;
}
public void printConnectedDevices() {
List<UsbDevice> devices = usbInfoService.getConnectedDevices();
for (UsbDevice device : devices) {
System.out.println(device.getName());
}
}
}