Hard to distinguish between not present and FALSE/0
@jensgeorg
Submitted by Jens Georg Link to original bug (#677380)
Description
This is both in the _end_action call and the LastChange parser.
Consider the following LastChange parsing:
gboolean mute = FALSE; guint volume = 0; if (gupnp_last_change_parser_parse_last_change(renderer->m_lastChangeParser, 0, g_value_get_string(value), &error, "Mute", G_TYPE_BOOLEAN, &mute, "Volume", G_TYPE_UINT, &volume, NULL)) { g_debug ("%d %d", mute, volume); }
On the initial even, that prints something like 0 100
But if only the mute value changes from Mute to Unmute, you might get 0 0
while in reality the volume might be 75.
The only way to check for presence currently is to always "request" a string and check that for NULL and that's a bit inconvenient IMHO.
The situation is the same for _end_action