Re: CORBA-equivalent of bonobo_ui_component_set_container()



On Mon, 2002-04-01 at 14:24, Michael Meeks wrote:
> Hi Murray,
> 
> 	Though you said to ignore this you make an important point :-)
> 
> On Thu, 2002-03-28 at 12:04, Murray Cumming wrote:
> > As part of the Bonobo In C++ effort, I'm taking the first few steps
> > towards converting the bonoboui_hello example to C++. I'm finding that
> > some of the C wrapper code is more than just syntatical sugar - it
> > messes around with the internal data structures of the stubs. That makes
> > it difficult to know how to do the same thing with only the CORBA
> > methods.
> 
> 	Right - so; the thing is that we provide a lot of interfaces, and we
> also provide a set of standard C implementations. However - it seems to
> me there are often two functions of the methods an object exposes -
> those that are intended as it's public interface, and those that are
> used to construct / manipulate it. The CORBA interface only provides
> those public methods. It would / might be possible to provide another
> 'protected' sort of interface to allow construction of remote abstract
> objects to do what you want - but really this is not desirable I think.
> 
> 	Thus to implement a BonoboUIComponent you can sub-class the Bonobo
> version [ which really just provides wrappers that allow NULL ev's [
> mostly ] - and hold the UI component name as a constant ].
> 
> 	Or ... you can implement a C++ version, that uses whatever slot /
> signal mechanism you like to handle verb / id callbacks, and has a
> thoroughly un-inhibited C++ implementation. Whether to re-implment or
> wrap is your decision. For the UIContainer side it's more tough -
> re-implementing that will be virtually impossible - but then as soon as
> we touch the Gtk+ side, it becomes a bit of a C-Gtk+ API vs. CORBA
> discontinuity which is hard to know how to handle.
> 
> 	Does that help ? good question thought,

Yes, when I eventually figured out what was going on, I decided to
implement the Bonobo::UIComponent interface in C++ without using the C
implementation. We will probably provide a helper class that improves on
the C++ mapping so that people find it even easier to implement a
UIComponent.

That wasn't an obvious solution at first, because the C wrappers don't
make it clear that a server is being implemented. 

For other interfaces helpers, we will probably try to reuse the C
wrapper implementations.

-- 
Murray Cumming
murrayc usa net
www.murrayc.com




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