Object-identity and lifecycle in the CORBA-UNO bridge
- From: Joerg Budischewski <joerg budischewski germany sun com>
- To: <gnome-components-list gnome org>
- Subject: Object-identity and lifecycle in the CORBA-UNO bridge
- Date: Fri, 02 Feb 2001 14:37:40 GMT
Hello,
as you may remember, I am working on a bridge between the ORBIT and UNO,
the OpenOffice component model. I have updated the earlier introduced
UNO-CORBA bridge document.
http://udk.openoffice.org/common/man/concept/uno_corba.html
(make sure to hit the reload once)
It now contains some thoughts about how to solve the following problems
- oneway calls
- object lifetime
- object identity
- thread identity
- connection managment
I would appreciate any comment on this. Please also tell me, if there
passages that are impossible to understand.
The possible solutions I have pointed out should work with a common CORBA
ORB. However, I am now interested in whether there can be found a better
solutions for the GNOME orbit, so I have some direct questions, which you
hopefully can answer easily.
A) COM::SUN::STAR::UNO::XINTERFACE <-> GNOME::UNKNOWN
- The semantic of the queryInterface() in UNO is very strong (almost
identical to the definition in COM). I would like to know, if the
semantics in BONOBO are the same so that we can map the
UNO-queryInterface to the GNOME query_interface.
1) If queryInterface on a specific object has once returned a valid
interface reference for a given type, it must return the valid reference
for any successive queryInterface call with the same type.
2) If queryInterface on a specific object has once returned a null
reference for a given type, it must always return a null reference for
the same type.
3)If queryInterface on a reference A returns reference B, queryInterface
on B for Type A must return interface reference A or calls made on the
returned reference must be equivalent to calls made on reference A.
B) ONEWAY CALLS
- Does ORBIT guarantee the sequence of oneway calls ( this meeans is it
guaranteed that successive oneway calls on an object reach the callee in
the order the caller sent them. The CORBA specification explicitly denies
this. ). If this is not the case, we have to make all oneways on UNO
interfaces synchron, because UNO interfaces rely on that.
C) OBJECT LIFETIME
- For the GNOME::Unknown interface, is there any special treatment in the
ORBIT runtime ?
- If not, what is your politic of calling ref() and unref(), taken the
example from my document (the sequence diagrams) ?
- Is there a different treatment for oneway calls, that pass on object
reference ?
Greetings, Joerg
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]