Re: ORBit2 and DSI



On Mon, Oct 06, 2003 at 02:06:32PM +0100, Michael Meeks wrote:
> 	It'd be great if you could come up with a compliant DSI implementation,
> that'd really rock. The asynchronous reply functionality would be by far
> the most useful facility though - I think; I can see an immediate
> usefulness for it in nautilus and a11y for improving performance.
> 
> 	What are you planning to do ? and/or do you have a Gnome CVS account ?
> 
Hi Michael,

	first i plan to clean up the code i posted (there are a few
huge bugs i noticed :>). i've also implemented a layer on top of the
code i posted to allow handling of "attributes": 

	(assume there is (something like a) g_object called "foo".)
	foo_impl = create_object("IDL:BLAH/FOO:1.0", ...)
	add_float_attr_handler(foo_impl, "size", &foo->size);
	....

which will have the effect of creating a corba object with an
interface containing void set_size(in float value), and float
get_size(). without having to write handlers for simple types and
simple type signatures.  

this is purely to make life easier for me on my own personal project,
so that i needn't expend a lot of effort to expose APIs via corba.

with regard to the larger issue of spec compliant DSI support, it's
interesting. first of all, "the spec" is pretty vague. the implementor
of the DSI handler (the user of the orb) has to create an NVList
corresponding to the values in the op signature it expects and the orb
implementors only have to fill it (and it appears the orb needn't be
smart about it...it can just blindly work from the information in the
NVList).

that said, my needs are fulfilled with the layer on top of the orbit
calls and an api for constructing the class/interface. 

the spec compliant DSI doesn't seem to require you to build the
interface before hand. instead you implement a function that returns
(the repos id of) the most derived interface that is implemented. i
assume either the client side or the orb implementation (or both) are
then supposed to find the definition from the interface repository.

can you explain more about what you mean wrt the async reply stuff?
(from what i understand, you basically make a non-blocking corba call
with a completion callback).

finally, i don't have cvs access.

	thanks, 
	rob

---
Robert Melby
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:     ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt4255a
Internet: async@cc.gatech.edu



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