Description of OSGi device specification
This implementation contains 4 bundles, it relies on 1 bundles, and 2 optional bundles for http service.
Required external packages / bundles
- org.osgi.service.log / Log Service
Optional external packages / bundles
- javax.servlet / servlet (only for httpresource activation)
- org.osgi.service.http / HTTP Service (only for httpresource activation)
bundles
- devicemanager.jar: it provides the main implementation that listens to a registering device and tries to find a corresponding driver.
The device manager controls the device access. It is responsible for initiating all actions in response to the registration and unregistration of Device services and Driver services.
The device manager detects the registration of Device Services and coordinate their attachment with a suitable Driver service. Potential Driver services do not have to be activated in the framework to be eligible. The device manager must use Driver Locator services to find bundles that might be suitable for the detected Device service. Then it decides which of the eligible Driver services is the best match.
The device manager must install and start this bundle with the help of a Driver Locator service.
If a Driver service is unregistered due to an uninstallation or update, the device manager must try to reattach a Device service that is IDLE .
(See the specification for details).
- driverlocator.jar: it provides a simple driverlocator Service implementation. It can contact a web server at a specific url defined by the org.osgi.service.device.driverlocator.driverslocation System property (the default url is: http://localhost:8080/drivers/). In this repository it should find a file defining the corresponding match beetween a driver name and its corresponding jar file. This file is defined by the org.osgi.service.device.driverlocator.driverlistfile System Property (Default : drivers.txt).So you need to have an http serveur providing the drivers.txt file at the url defined by the two system properties.
- logger: is a bundle that displays log results
- httpresources: is a bundle that registers the url mapping of the http server (http://localhost:8080/drivers/ -->/opt/drivers/). It is the URL used by the driverlocator service.