Re: Glib: a Win32 discussion


For the record, except for GApplication, nothing cross-platoform in
GLib/GTK+ is using the GIO D-Bus routines (except for the GIO D-Bus
routines themselves). I do agree that we should try avoiding using
D-Bus except for Linux/Unix backends in the GLib/GTK+ stack itself.

Btw, I wrote about GDBus and Win32 a couple of months back, see

The take-away here is that D-Bus on Win32 can be made to work just fine.

On Wed, Apr 6, 2011 at 5:34 PM, Kean Johnston <kean johnston gmail com> wrote:
> One last thing, since it has proven to be a source of considerable
> incompatibility, and that's the reliance on D-Bus. I think it should remain
> possible to use dbus if you want it, if your application really needs it,
> but to have relatively (from my position of ignorance) unrelated things like
> gapplication absolutely rely on it is a mistake, as far as I can see. dbus
> is really not appropriate for, or required for, many applications that would
> otherwise want to use Glib/Gtk. Should my Windows MP3 editor really need
> dbus daemons running just because it uses GtkApplication (which in turn uses
> gio/glib and thus the dbus coupling)?

First of all, should your MP3 editor spawn dbus-daemon.exe _just_
because it is using GtkAppication? Absolutely not. But if your MP3
editor wants to provide an easy to use interface for automation,
remote control or whatever... then, yes, D-Bus is an excellent choice.
Even on Win32. So is COM, CORBA, Java Remoting etc. or any other
technology but these are not really as cross-platform as D-Bus is (or
can be)....

(Besides, dbus-daemon.exe is just one extra process which should be
nowhere as big as your gtk+-using application. Neither in file size or
memory/resource usage.)

> Seems like a good bit of gio could use
> some re-thinking and this again is maybe more appropriate for a 3.0 release
> where we may be able to get away with slightly more disruptive changes.

Well, GApplication should grow a Win32 backend. I don't quite think
that's "rethinking" or "a good bit" .. it's just filling in the
missing bits...


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