On Wed, 06 Jul 2011 15:51:41 +0200 "Libor Zoubek" <lzou...@jezzovo.net> said:
> thanks for your reply, > > comments inline > On Tue, 05 Jul 2011 08:40:53 +0200, Carsten Haitzler > <ras...@rasterman.com> wrote: > > > On Wed, 29 Jun 2011 16:01:06 +0200 "Libor Zoubek" <lzou...@jezzovo.net> > > said: > > > >> Hi, devs > >> > >> I've reported a bug http://trac.enlightenment.org/e/ticket/775 > >> Please review/apply attached patch that fixes above bug. > >> > >> Thanks > >> > >> cheers, > >> > >> Libor Zoubek > >> > >> P.S. I am a happy e-user and this is my 1st attempt to contribute > > > > cool!... patch kind of good. it moves forward to a new version (1.2) > > BUT... > > your patch makes edbus daemon still say it does 0.9 but the spec you are > > making > > it move to is 1.2 (more strings). so E_NOTIFICATION_DAEMON_VERSION and > > E_NOTIFICATION_DAEMON_SUPPORTS_SPEC_VERSION should say "1.2"... > you are right, I wasn' sure. But as far as I am reading throught > differences between 0.9 and 1.2, it seems like only getServerInformation > signature changed. There are also defined new capabilities, that server > can support. > > also e_notify_unmarshal_get_server_information_return doesnt seem to be > > backwards compatible - ie it doesnt handle "sss" vs "ssss" signature > > (extra > > version string on the end). we'd be pretty bad breaking compat to 0.9. > > so we > > should do "if "sss" > handle 0.9, else if "ssss" > handle 1.2" like > > logic there. > > > > :) > > > I am not sure how to do this and it if is even possible. Scenario is: > client calls getServerInformation via dbus, server responses something > ("sss" or "ssss"), but client has not capability to say "I am able to talk > to server, which supports spec version X". thatswhy I don't know how > should server recognize if returns "sss" or "ssss" > > I've been digging into gnome-notification daemon implementation and did > not found anything that makes it compatible with < 0.9 spec, well you still #define 0.9 as version but do 1.2 - so thats kind of misleading. but the code in the client handler you changed SPECIFICALLY does: if (!dbus_message_has_signature(msg, "ssss")) return NULL; that means if server is the old 0.9 with "sss" it will fail as a client to get server info. why not just do (pseudo code) if (sss) { get name, vendor, version) } else if (ssss) { get name, vendor, version, spec_version } else return NULL; sure - u can merge sss and ssss case as there is just 1 added field. but why make it break with older servers? > see > http://git.gnome.org/browse/notification-daemon/tree/src/daemon/daemon.c?h=0.5 > > line 1731 > or http://git.gnome.org/browse/notification-daemon/tree/src/daemon.c line > 288 -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel