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

Reply via email to