Re: [Evolution-hackers] Future of eds bindings



On Sat, Aug 16, 2008 at 1:32 PM, Ross Burton <ross burtonini com> wrote:
>
> This is current desktop e-d-s:
>
>
> backends <-> e-d-s <== orbit ==> libebook <-> Evolution
>
> Where <-> is C method calls.
>
> This is DBus e-d-s:
>
> backends <-> e-d-s <== dbus ==> libebook <-> Evolution
>
> Ross
> --
> Ross Burton                                 mail: ross burtonini com
>                                          jabber: ross burtonini com
>                                           www: http://burtonini.com
>


Hi Ross,
 Sorry for bugging you again but there is some stuff I would like to
know. Is the e-d-s <--> libebook DBus interface good enough for
scripting purposes (or is it documented somewhere so I can see it)? If
so then I could try to model the DBus proxy to mimic your
client/server interface so when the port is finally merged we would
get a painless transition for the programs using the DBus proxy. I
would also like to know if your port of libecal also uses DBus and
whether the interfaces are somewhat documented.
 I know you favor the use of ordinary language bindings so I while
like to expand on why I think a DBus service is a better approach.
While I did the Swing bindings I realized that there were some
limitations and surprises derived from the way e-d-s works (as a
service) that were hard (at least for me :) ) to overcome (for
instance, doing something like "event.dt_start += 1000" would not work
but "event.dt_start = event.dt_start + 1000" did work). I think it's
better for people to see e-d-s like a desktop service accessible via
DBus as it will avoid surprises like the previous one since we already
know what to expect from DBus services and how they work. There are
other issue like signals (diffcult to do without pulling in
ruby-gnome2 which is beast of it's own) memory management and code
maintenance that make language bindings a real PITA even when
generated by SWIG which does most of the hard work. DBus services and
it's implementation exist for many languages, are already done and
have a well defined/documented  way of working, and while it adds
another layer of indirection, I think its worth it.


Cheers (and thanks for your help and patience),
  V. Segui


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]