[gupnp] problem with GUPnPLastChangeParser
- From: Sven Neumann <s neumann raumfeld com>
- To: gupnp o-hand com
- Subject: [gupnp] problem with GUPnPLastChangeParser
- Date: Wed, 29 Apr 2009 17:52:33 +0200
Hi,
I figured that there's a problem with the GUPnPLastChangeParser API. A
LastChange notification usually contains only a few changed values,
quite often only a single one. The code that parses the LastChange event
does not know which values have changed and thus will usually parse for
all known state variables. Let's look at a simple example, the
LastChange event of a RenderingControl service:
GUPnPLastChangeParser *parser = gupnp_last_change_parser_new ();
guint volume = G_MAXUINT;
gboolean mute = -1;
gupnp_last_change_parser_parse_last_change (parser, 0, xml, NULL,
"Volume", G_TYPE_UINT, &volume,
"Mute", G_TYPE_BOOLEAN, &mute,
NULL);
Note how I initialized the volume and mute variables to special values
so that I can figure out later if they have been changed. That already
is pretty much a kludge, but I don't see what else I could do. However
not even that works, as the implementation of
gupnp_last_change_parser_parse_last_change() will always initialize each
of the passed values to a default value. Do I miss something obvious
here or is this a severe design flaw in the GUPnPLastChangeParser API?
Sven
--
To unsubscribe send a mail to gupnp+unsubscribe\@o-hand.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]