Discussion:
AW: AW: [omniORB] Usage of _out objects
Fischer, Clemens
2007-08-13 14:06:25 UTC
Permalink
Exactly,
You have to care for incrementing the object reference count e.g.:

void Server::f(A_out a){
...
A_var myA = ... // got reference from somewhere
a = A::_duplicate(myA);
...
}

or if you don't need myA anymore:

void Server::f(A_out a){
...
A_var myA = ... // got reference from somewhere
a = myA._retn(); // now myA does no longer care for ref count
...
}

Clemens

-----Urspr?ngliche Nachricht-----
Von: Bj?rn Kristian Larsen [mailto:***@met.no]
Gesendet: Montag, 13. August 2007 10:01
An: Fischer, Clemens
Cc: omniorb-***@omniorb-support.com
Betreff: Re: AW: [omniORB] Usage of _out objects

That gives me
error: no match for 'operator=' in a ...

A is an interface in my idl.
Does that mean that I need to activate the object in the POA to get a
reference?
Should have read your question completely.
void Server::f(A_out a){
...
a = new A();
...
}
Clemens
-----Urspr?ngliche Nachricht-----
Gesendet: Sonntag, 12. August 2007 17:00
Betreff: [omniORB] Usage of _out objects
void Server::f(A_out a){
...
}
How do you set the A_out (variable length) object?
My book says it's a "reference to a pointer". I'm not sure what that is
and not how to handle them.
And if I understand my book correct, I don't need to free/release the
object on the server (callee) side. Is this correct?
Sorry for the stupid question, but I'm new to CORBA...
_______________________________________________
omniORB-list mailing list
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
Loading...