(This post was published on Friday, but I put in a wrong tag and I didn't get aggregated, so, republished)
Although I've been hacking on my GSoC project for quite a while, doing little experiments and getting my mind around various factors involved, this week was my first official coding period, since that was what I had in my timeline.
The first piece to implement is the kioslave to browse UPnP MediaServers. This involves writing a parser for the DIDL-Lite XML format used to describe directory structures. The parser I developed this week can now parse containers and items and their titles and pass them on to the slave. Meta-data and extra tag handling isn't done yet, but I have time :) The slave scheme is upnp-ms and right now you have to pass the UUID. But once the network:// slave is modified, it should be seamless for normal users
Their are a few issues I have to take care of in the slave. UPnP identifies all objects merely by a numeric ID. Now it wouldn't be fun to have the user deal with IDs. So the kioslave uses names just like normal file browsing. This involves reconversion back to the ID whenever I have to talk to the server. If the user manually types a URL to jump to some other point, I have no information about the IDs leading up to that location. So I've to implement some resolving. This is what I did this week. It is still a bit buggy, but I haven't figured out if the bug is in my code or HUpnp ( most likely my code ).