[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
AW: [equinox-dev] regarding OSGI Device Access (Problem with Drivers)

Hmmm this behavior described below is only true if i start/stop the bridge driver (which exports the devices)

and the base driver already has some devices exported to the registry.



If the bridge driver is running and i start/stop the basedriver (which removes/registers the devices which should get exported)

everything works fine.


Kind regards,




Von: equinox-dev-bounces@xxxxxxxxxxx [mailto:equinox-dev-bounces@xxxxxxxxxxx] Im Auftrag von Daniel Felsing
Gesendet: Freitag, 27. Juni 2008 11:59
An: equinox-dev@xxxxxxxxxxx
Betreff: [equinox-dev] regarding OSGI Device Access (Problem with Drivers)


Dear All,


I really need help :-(

Let us say, I have a Base Driver, which creates Motion Sensor and Simple Light Devices (OSGI Devices).. and I have another bundle

which acts as a motion sensor/ simple light bridging driver. The driver will create new UPnP devices which use my motion sensor / simple light devices as model (e.g. creates a new upnplightdevice for each simple light found).


When the bridge driver bundle is installed/started in the framework, it registers itsself (OSGI Driver service).

The basedriver registering the motion sensor / simple light devices gets started and registers the found devices in the registry

Now the OSGI DeviceManager look for all "Drivers" and calls the  match method of my upnpbridge driver…

In best case my bundle is successful and registers the upnp device implementations to the registry which lets the upnp base driver (from niche) export them successfully.

Now my question….


I tried to test the behavior of my base and bridge driver by starting and stopping them in random order while the framework is running.

Most of the time all runs fine…and attach and match methods get called on my driver


so my bridge driver says:

-       Motionsensor1 successfully exported

-       Light1 successfully exported


BUT SOMETIMES SOMEHOW…(i cannot explain why…)


The bridgedrivers (which should export the devices) match method is only called for one of the devices (this behavior is random) and the other device’s „noDriverFound()“ method gets called immediately…?

Thats a strange behavior…since the match method of the driver should be called…..and sometimes it doesnt!


I use eclipse equinox version 3.2 and already tried the device bundle from 3.4 – but no success either.



Kind regards,