I played around with orbitcpp a bit, understanding how it writes appropriate C++ code when it encounters IDL. I mostly implemented the CORBA::Any stuff, and I’m confident that I can finish that off now. I’m pleased it’s no longer a mystery. I do need to get more people involved, particularly that whole group of orbitcpp-0.3 people. Unfortunately we can’t expect orbitcpp to be API stable for a while, and that prevents libgnomeuimm from being stable too.

Therefore, I have almost finished converting Bakery to depend only on the stable gtkmm, gconfmm, and libglademm libraries. This means that the Bakery-using applications can actually be distributed because they won’t have unstable dependencies. Well, that’s assuming that I can push libxml++ towards a stable API.

I’m really pleased with the result of this refactoring in Bakery. I have mostly separated the whole App/Document/View model implementation from the GUI presentation of those concepts. This means it will be easy to create a Bakery_GnomeUI extension library which uses Gnome::App and libgnomeui menus and toolbars instead of the gtkmm stuff. I’m confident that we could even create a Bakery_Qt version (I did a proprietary standalone Qt port of Bakery once). You’d never reach this level of abstraction and reuse in C.

Bakery has been getting more attention recently, of the “Thanks, that’s made my life easier” kind.