[omniORB] DII
Duncan Grisby
dgrisby@uk.research.att.com
Mon, 11 Feb 2002 14:56:11 +0000
On Wednesday 30 January, Anton Idukov wrote:
> CORBA Server & Client in the same process space.
> Client use DII for setting/getting idl attributes of server.( e.g.
> CORBA::Request_ptr::invoke() )
>
> 1. Can Anyone show me the chain of calls of pidl/omni objects down to
> servant::attribute( T t );
Look at the DII example in src/examples/dii. To deal with attributes,
you need to prefix the attribute name with "_get_" or "_set_".
i.e. with IDL
interface I {
attribute long foo;
};
you get the attribute through DII using the operation named "_get_foo"
and set it with "_set_foo".
> And If server haven't requested attribute -
>
> 2. Can Anyone show me the way of exception propagation up
> to CORBA::Request_ptr::invoke()
Look at the env() parameter of the request object. It returns an
Environment object. If the Environment's exception() function returns
non-zero, it's an exception that you can look at. You can try to
downcast the exception received to a system or user exception.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --