diff options
Diffstat (limited to 'TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp')
-rw-r--r-- | TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp b/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp index 2e143c1c045..3ee108c434a 100644 --- a/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp +++ b/TAO/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp @@ -699,8 +699,24 @@ get_outgoing_connections_i (const char * instname, retv.length (len+1); retv[len].instanceName = instname; retv[len].portName = endpoint.portName.in (); - retv[len].kind = endpoint.kind; + retv[len].kind = endpoint.kind; // either emitter/publisher or receptacle. retv[len].endpoint = CORBA::Object::_duplicate(curr_rev_conn.endpoint.in ()); + + // CIAO-specific fields below + // If the component port type needs to use CIAO specific publish/subscribe + // service, then we also need to set up the "consumer side component name" + // and "consumer side port name". + if (retv[len].kind == Deployment::rtecEventPublisher || + retv[len].kind == Deployment::rtecEventEmitter || + retv[len].kind == Deployment::cosEventPublisher || + retv[len].kind == Deployment::cosEventEmitter || + retv[len].kind == Deployment::nsEventPublisher || + retv[len].kind == Deployment::nsEventEmitter) + { + retv[len].consumerCompName = name.c_str (); + retv[len].consumerPortName = port_name.c_str (); + } + ++len; found = true; break; // Since we know there is only 2 endpoints in a connection. |