Hi Francesco,

The specification doesn't tell explicitly that the Base Driver has to
act as bridge
towards the Event Admin, but it simply states that UPnP events has to delivered 
to
the EA service.

I guess the information I'm looking for is: Who is doing the UPnP
event dispatching? Is this something that is part of the base driver?

Another question is about the the consumers of the UPnP Events, from the
point of view of OSGi-UPnP developers  the writing  of
UPnPEventListeners  or  EventHandler  is  equivalent, it doesn't
simplify the coding, but  the EA service is not always available ( not
being in the core specification)

As far as I know that is not the point. The idea about the event admin
is that bundles that are interested in all sorts of events (e.g.,
FrameworkEvent, ServiceEvent, LogServiceEvent, UPnPEvent) have a
central and unified way to subscribe to events of interest.

That means that in the future we will change the
communication mechanism? I have noticed that also the framework  topics
have been defined ...

Again, it probably is more interesting for bundles that need to know
about more than just one specific event type. In this case all they
need to do is register an event handler for the event admin events and
not N handlers for N different event systems. The only place where it
is more preferable to not use this approach is where they only need to
know about a single specific event.

Regarding the use of a separate bundle registering a generic
UPnPEventListener, I would be attempt to use this solution, putting all
in the Extra bundle, but it results in extra messages exchanged, while
doing that in the Base Driver we should only to modify the code to add
the posting of the messages....

Exactly, (due to the spec) I wouldn't expect to have to install a
separate bundle just to get this functionality. Furthermore, In the
version I've attached to the JIRA no hard dependency on the
org.osgi.service.event package or the EventAdmin service is created.
Combined with a dynamic import events will be delivered only in the
case that an event admin is present.

regards
francesco

In summary, I believe the best route would be to integrate the
UPnPEventToEventAdminBridge into the UPnP core - provided that this is
where the actual event dispatch is taking place. Otherwise, you'll
need to educate me further (or I have to go back and read the spec in
detail).

It boils down (unless I'm missing something) to a simple:

UPnPEventHandlerQueue.add(new UPnPEventToEventAdminBridge(context))

I just don't know where this needs to be done.

regards,

Karl

--
Karl Pauls
[EMAIL PROTECTED]

Reply via email to