Discussion:
AW: [omniORB] Usage of _out objects
Fischer, Clemens
2007-08-13 13:48:37 UTC
Permalink
Hi,
you should use the out() method of type A_var like this:

A_var a;
server->f(a.out());

A_var does the memory management...

Clemens

-----Urspr?ngliche Nachricht-----
Von: omniorb-list-***@omniorb-support.com [mailto:omniorb-list-***@omniorb-support.com] Im Auftrag von Bj?rn Kristian Larsen
Gesendet: Sonntag, 12. August 2007 17:00
An: omniorb-***@omniorb-support.com
Betreff: [omniORB] Usage of _out objects

Say you are calling this function from the client (c++):

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...
Fischer, Clemens
2007-08-13 13:56:06 UTC
Permalink
Should have read your question completely.
On the server side you have to allocate memory for the out parameter:

void Server::f(A_out a){
...
a = new A();
...
}

Clemens

-----Urspr?ngliche Nachricht-----
Von: omniorb-list-***@omniorb-support.com [mailto:omniorb-list-***@omniorb-support.com] Im Auftrag von Bj?rn Kristian Larsen
Gesendet: Sonntag, 12. August 2007 17:00
An: omniorb-***@omniorb-support.com
Betreff: [omniORB] Usage of _out objects

Say you are calling this function from the client (c++):

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...
Bjørn Kristian Larsen
2007-08-13 14:00:50 UTC
Permalink
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?
Post by Fischer, Clemens
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...