Hi Marcel
> > This patch corrects the interface so that the "net.connman.Clock"
> > interface accepts variant types as advertised in introspection.
> >
> > diff --git a/src/clock.c b/src/clock.c
> > index 0d7f870..30bcc0e 100644
> > --- a/src/clock.c
> > +++ b/src/clock.c
> > @@ -179,6 +179,11 @@ static DBusMessage *set_property(DBusConnection
> > *conn,
> >
> > struct timeval tv;
> > dbus_uint64_t newval;
> >
> > + if (type == DBUS_TYPE_VARIANT) {
> > + DBusMessageIter variant=value;
> > + dbus_message_iter_recurse(&variant,&value);
> > + type = dbus_message_iter_get_arg_type(&value);
> > + }
> >
> > if (type != DBUS_TYPE_UINT64)
> >
> > return __connman_error_invalid_arguments(msg);
>
> I prefer that we only accept variant encoded types. Everything else is
> actually a bug. The API should be clear and there should be only one way
> for the D-Bus wire protocol to encode this.
I think the linux kernel guys are pretty good at phasing out old interfaces.
So why not ease the pain with a warning and phase out the old (wrong)
interface in a later version. The code baggage is not that much and it really
eases the transition? The error message could just be placed in a new else
part of the new type == variant branch.
But its just a small patch from my side so i really don't care as long as i
can send the variants to the interface :-).
Also i think these patches are already applied to the repository by Daniel
Wagner (haven't had the time to check), so i am a little usure how to proceed?
Best regards
Tim
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman