[Kde-hardware-devel] UPnP support in KDE

Armijn Hemel armijn at uulug.nl
Sat Aug 23 21:55:54 CEST 2008


On Sat, 2008-08-23 at 13:42 +0200, Kevin Ottens wrote:
> 
> 2) Whatever solution is used as backend (JOLIE, GUPnP or something
> else), 
> extending libsolid to also expose UPnP devices could be a good way to
> expose 
> that to the KDE stack. API wise the UPnP model would map just fine
> with the 
> current libsolid API. Internally it'd probably be some work, but API
> wise it'd 
> be only a matter of adding a few interfaces to get access to the
> features of 
> the UPnP profiles we want.

That is something I have been thinking about too. I have not found a
solution I would be happy with. Some explanation:

UPnP has profiles. Part of most profiles are actions. These actions can
be divided in three groups: required, optional, or non-standard. The XML
file that can be found in the LOCATION header of the SSDP messages
points to another file that describes which actions a device implements.
Of course, not all devices implement all required actions and sometimes
the XML files do not correspond with what a device really implements (we
should just call that 'tough luck').

There are two interesting things here:

1. Do we want to match the SCPD files (with the descriptions of what a
file can do) and export a subset of the API accordingly to programs, or
just export the full API and if a program invokes an action that is not
implemented just return an error? (I think so)
2. What do we do with non-standard vendor-specific extensions. An
example: I have a NETGEAR EVA700 here, which has some non-standard
extensions to interact with Rhapsody, RealNetworks' online music system.
Do we add functionality to whatever UPnP lib we make, do we let
applications decide (that might need to work on a more low level layer
then), or do we just ignore it?

I have absolutely no clue how (and if) we want to add support for that.
I have not seen a lot of devices that implement vendor specific
extensions. For now I think we can just ignore it, but it might be
something we need to keep in mind. I guess I will start making a list of
devices I encounter and document what extensions they have :-)

armijn

-- 
-------------------------------------------------------------------------
armijn at uulug.nl | http://www.uulug.nl/ | UULug: Utrecht Linux Users Group
-------------------------------------------------------------------------



More information about the Kde-hardware-devel mailing list