Fun With DBus
07/14/2013 § Leave a comment
An example is worth a thousand words, that’s always been my motto, so when I needed to do some DBus digging I was stymied by the usual lack of examples. There is documentation, but like so much of it in the OSS world its pretty dry, obtuse, and difficult to follow. I looked at several examples around the web and most of them were non-working regurgitations of the examples in the sdk written for Qt. And of course the typical badly-written, broken english nonsense that pervades the web. The example I linked to just now is perported to have been written just 8 months ago! Also, what the hell is going on with Qt!?!?!?! I just installed Mint Linux in a new MacBook Pro Retina as described in my last article and one of the things I do is install my favorite IDEs; usually Qt Creator and Anjuta, but man, what the hell is going on? Anjuta works as it always did but there are these huge black spaces in the IDE as though some graphical component is missing, and moving from Qt 4 to 5 have been very painful. The cardinal rule in the development of user tools should be that certain files are sacrosanct and not to be messed with, or at least backwards-compatible. The Qt project file (*.pro) is one of these files. I spent hours last night and could not for the life of me get an older project up to v. 5 standards. I’m going to try to re-create the project from scratch and import the source files when I can but I shouldn’t have to do that.
So I took the echo example out of the DBus-c++ sdk and sort-of modified it for my own needs (all that means is I re-named some files and created my own Makefile.) Since I installed the sdk with Synaptic and I have no idea what I’m supposed to do with them since they are part of an automake package and I only want the one example I decided to extract them to my home directory, analyze their needs, and like Maslow or Freud, prescibe them long hours of therapy. The result is this archive that compiles on my Mint 15 (3.9 kernel) system and works, with a plain Makefile.
I’m really interested in exploring the DBus systems and probing its capabilities. Now that I have an example that I know works, at least in my context, I can do just that.