public interface UsbinfoService {
List<String> getDeviceList();
String getDeviceStatus(String device);
// other methods...
}
public class UsbinfoServiceImpl implements UsbinfoService {
@Override
public List<String> getDeviceList() {
// implementation to get device list
}
@Override
public String getDeviceStatus(String device) {
// implementation to get device status
}
}
public class Activator implements BundleActivator {
public void start(BundleContext context) {
context.registerService(UsbinfoService.class.getName(), new UsbinfoServiceImpl(), null);
}
public void stop(BundleContext context) {
// unregister service
}
}
public class MainClass {
public static void main(String[] args) {
ServiceReference<UsbinfoService> serviceRef = context.getServiceReference(UsbinfoService.class);
UsbinfoService usbinfoService = context.getService(serviceRef);
List<String> devices = usbinfoService.getDeviceList();
for (String device : devices) {
String status = usbinfoService.getDeviceStatus(device);
System.out.println("Device: " + device + ", Status: " + status);
}
// release the service
context.ungetService(serviceRef);
}
}