D-BUS is an up-and-coming message bus and activation system that is set to achieve deep penetration in the Linux desktop. Learn why it was created, what it can be used for, and where it is going.
D-BUS is an up-and-coming message bus and activation system that is set to achieve deep penetration in the Linux desktop. Learn why it was created, what it can be used for, and where it is going.
this article is not much recent,infact
the examples provided don’t work
must be changed some things for example
DBusConnection is now DBusGConnection
GError is an enum
DBusProxy is a DBusGProxy ecc ecc
however Ross Burton has made a good work.
Maybe we could build a implementation that is portable to Windows also so more applications can be cross-platform.
XPcom, Kparts, Bonobo, D-bus… whats next???
Standarts are good, lets creat another one!
XPCom – specific to mozilla and based on xml with javascript and css
kparts – specific to kde with a com like architecure and it is network transparent
bonobo – based on corba and its is slowly depreciated
dbus – freedesktop light weight ipc mechanism which has a system wide and user specific parts and is more low level and not desktop specific like dcop.
dbus is not a competition to kparts and these are all different technlogies with various focuses. none of them are actually standards by any means thou dbus is about to be shared by both gnome and kde amoung others
Is IBM paying for these re-runs or are we emulating slashdot?
kparts – specific to kde with a com like architecure and it is network transparent
You are mixing the last part with KIO, KDE’s IO architecture. KParts is an in-process component architecture.
not desktop specific like dcop
DCOP is not desktop specific in the meaning that it depends on a desktop environment, but it is true that it is only use in KDE.
I don’t know the D-BUS internals, but I am pretty sure it can be ported to Windows.
You are mixing the last part with KIO, KDE’s IO architecture. KParts is an in-process component architecture.
—-
wrong. kparts is a ipc mechanism. kde io is a different thing.
both are kde specific.
DCOP is not desktop specific in the meaning that it depends on a desktop environment
—
wrong again. its has a qt and c++ dependancy
kparts is a ipc mechanism
No it is not, it is a way of loading adn embedding components implemented in dynamic libraries.
The IPC mechnism is DCOP.
wrong again. its has a qt and c++ dependancy
Maybe wrong for the current DCOP implementation.
The data format used by QDataStream is specified, one can implement it without Qt.
No it is not, it is a way of loading adn embedding components implemented in dynamic libraries.
The IPC mechnism is DCOP.
—-
which is told is same as DCOM is MS land
“No it is not, it is a way of loading adn embedding components implemented in dynamic libraries.
The IPC mechnism is DCOP. ”
maybe. but today is based on qt and at the X level so for components below that level its not usable unlike dbus which is more basic and is in pure c with glib,python,mono and qt bindings
can D-BUS be implemented by other *nix like the *BSDs or it is Linux specific?
From my perusal of the D-BUS papers, it appears that the specificiation is very generic and could be implemented on top of just about any operating sytem.
I compiled it on Darwin (MacOS X 10.3.5) with difficulty.
The pyrex source for the python module gave me problems. Generating that on an x86 computer and copying back the C file got me to compile it properly.
Only problem with dbus is when the daemon is ran (by Rox-Session) it will slow down the putting to sleep of the computer (about 5x longer at times).
which is told is same as DCOM is MS land
KParts+DCOP might be similar to DCOM, but you claimed that KParts itself is IPC and even network transparent, which is both false.
If I am not mistaken IPC means that there are at least two processes talking to each other, KParts loads a shared library and embeds the component into the loader process. Only one process involved.
…or, it can automatically download photos when a digital camera is plugged in.
Yes, well, hotplug does this…
XPCom – specific to mozilla and based on xml with javascript and css
You are talking about XUL, not XPCOM. Look <a href=”http://www.mozilla.org/projects/xpcom/“>here to find out about XPCOM. It is a framework to allow components written in different languages to interact.
dbus has nothing to do with “downloading photos”.
dbus+udev create the device and AFTER THAT the application level apps do their stuff (outomounting usb keys, auto-importing photos, and so on)
update-rc.d -f dbus-1 remove
It’s already been ported to FreeBSD :
http://www.freebsd.org/cgi/ports.cgi?query=^dbus-0.22&stype=name
This is a valid question by the way since more and more projects seem to be going the linux-only route, throwing away a major advantage of oss.
Heya ,
you could write udev scripts I think that do that same as hal+dbus does … I was trying to write an udev-script to generate mount-points and place them in /.etc/fstab, but hal does that now … which is very nice. I suppose you could write an udev-script that detects your camera and downloads your pictures …
I’m nto sure if udev uses dbus to signal new devices. I don’t think it is. Hal reports them using dbus I think. Not sure though.
Hal is just a new way of hardware-abstraction that can be used by applications … (just read the hal-page if you don’t know this).
I made a mistake maybe … You could write udev-scripts that mount stuff for you and do thinsg with it … It’s not the same as hal + dbus
Nobody seem to mention Zero-Install here, so am I 😉
Rox (http://rox.sf.net/) already uses it in combination with Zero-Install (http://zero-install.sf.net/) to see the the downloading progress (and maybe other things)
Give them a try, it worth it!
The upcoming Qt version 4.0 has got DBus components. It is a very, very nice C++ implementation and makes the use of DBus very easy.
Yes, this is an old article. I posted to my blog pointing it out as I realised I never did blog about it when it was first published online back in July (being on my honeymoon and all).
I expect with latest DBUS from CVS the examples won’t work, but I’m planning on writing a Part 2.