Re: Interface Repository



Hi Frank,

On Wed, 25 Jul 2001, Frank Rehberger wrote:
> I would like to implement a language mapping ORBit->OZ and
> will ask some stupid question in future.
> (see http://www.mozart-oz.org)
 
        Sounds great.

> OZ is a very dynamic dataflow language. Therefor I would like to use the
> corba_object_get_interface method to read the interface,  generate an   
> OZ-class interface on the fly and link it to the system.
 
        Ok, I'd like you to consider targeting ORBit2 - since this is the
latest and greatest ORB that will soon be shipping with GNOME, and
available on many systems.

> My question: calling corba_object_get_interface does invoke the
> interface repository (IR)? And, does this IR know the interface of any
> object circulating.  Which interfaces does the IR contain?
  
        Ok - so in ORBit2 we have junked the IR with its baroque
interfaces for a somewhat cleaner solution [ to my mind ]. This solution  
is still being finished - but here is partly how it works:
  
        See ORBit2/src/orb/orb-core/orbit-small.c & orbit-interface.idl
 
        This provides a complete but compact description of an interface -
such that you can bind to it easily. There is also a nicer method         
invocation process [ implemented in orbit-small ] that does not necesitate
hand marshaling the arguments to a GIOP buffer for in-proc use - simply   
passing a list of pointers to them.
 
        Interfaces that are register are available, but for non registered
interfaces - a type library must be loaded - this is generated from
essentialy the '-common' type description and is installed in
${prefix}/lib/orbit, and can be loaded by name - these would typicaly
contain many interfaces eg. Bonobo_module.so - all the Bonobo interfaces.
  
        I'd be most interested in your feedback on this - since I'm
preparing a paper on the subject to encourage adoption of this new
approach.
  
        Regards,
  
                Michael.

-- 
 mmeeks@gnu.org  <><, Pseudo Engineer, itinerant idiot





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