Murray's Blog

libbonoboui(mm)

I had to spend a few days reverting the ORBit2 cpp branch a bit until it could compile Bonobo.idl again, but now I’m
back on track with my C++ version of the bonoboui_hello
sample.

I am becoming increasingly enraged at the
libbonoboui C API. There is such a confusion between
IDL-generated types and wrapper code, and the wrapper code
totally obscures the separation between client and server
objects. The C++ version is already looking a lot clearer,
and hopefully it will show people just what all their
obscure Bonobo code actually does. And hopefully more people
will then realise that the C wrappers need to be seriously
reorganised. Then people could understand it and use it
instead of just hoping for the best.

It’s now clear that BonoboUI can’t be used just as a
client API – people have to implement their own servers to
dispatch callbacks because CORBA doesn’t seem to have a real
signalling mechanism. And of course every such server has to
implement even tedious methods such as ref() and
queryInterface(), so we probably will need some bonobomm
short-cut code to help people out. I think that’s OK as long
as it’s clearly distinct from the generated stubs/skels. I
see a precedent for this in ATL, MFC, and VB – without one
of these frameworks it’s very hard to use or implement COM
interfaces
using COM alone.

cactus seems to be
making good progress
in his own orbit-cpp-cactus branch, working on more
fundamental aspects of the C++ mapping. I feel like I should
help him more , but I’m better at solving problems when they
are an obstacle.

The trend of other people doing work that I’d rather
avoid continues with Daniel Elstner. In the past week he has
fearlessly solved most of the remaining hard problems in
gtkmm, fixing the signal proxies, the boxed types (a crowd
pleaser), and enums. He should join Advogato so that we can
all rate him as Master.

Another couple of long-term TODO items seem to have been
knocked off the list: <a
href=”http://www.advogato.org/person/kenelson/”>kenelson fixed a
linker problem when building libsigc++ with Sun’s compiler,
as found by sander, so we are
halfway to
gtkmm on Solaris/Forte. And Cedric Gustin
successfully compiled the latest gtkmm2 on Windows.

There are a few faint glimmerings of paying work but it’s
still bleak. It seems like everybody is leaving Munich and
that I’ll have to also.

Exit mobile version