bonobo comments/questions



Hi,

some questions and comments about bonobo. I've mentioned some of
this on irc, but I thought it might be a good idea to write them
up here too.

Before I begin, I must say I've really enjoyed studying and
working with bonobo so far :)

1) When you have an object which supports interfaces A and B
   (both derived from GNOME::Unknown), and you are inside
   the implementation of a member function for A, there is no
   way to get the GnomeObject structure for B:

      impl_MODULE_Interface_function (PortableServer_Servant servant,
      CORBA_Environment *ev)
      {
        GNOME_Object MODULE_OtherInterface oi;
        ModuleOtherInterface *goi;
        GnomeObject *object = gnome_object_from_servant (servant);

        oi = gnome_object_query_interface (object,
		                                     "IDL:MODULE/OtherInterface");

        /* PROBLEM: how to get the goi with the instance-specific data */
      }

2) Wouldn't it be a good idea to hide all CORBA from the user?  So 
   there would be more -client.[ch] files which would encapsulate
   more CORBA details, like query_interface (maybe even caching
   results of previous query_interface calls in a list in
   GnomeObjectClient?)

3) There are several sources for the CORBA_Environment parameter
   you pass with each CORBA call.
     a) Create your own.
     b) use one from a GnomeObject structure you have available.
     c) in a impl_* call, use its ev parameter.
   I haven't been able to deduct from the bonobo sources when
   to use which. Could someone explain the advantages and
   disadvantages of each?

Martijn



-- 
Martijn van Beers  <martijn@earthling.net>

'Don't worry if it sounds odd. Believe me, you are talking to
someone who has seen a lot of stuff that is odd. And I don't
mean biscuits.' --- Arthur Dent



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