diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-12-09 19:53:34 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-12-09 19:53:34 +0000 |
commit | 6eb790d7092526d5a8706b7480171674d4b401a8 (patch) | |
tree | cb813919da613e0901706c732693fdfffc9e577a | |
parent | 4dc6480347193231aa216a6704f0982131b2ee5b (diff) | |
download | ATCD-6eb790d7092526d5a8706b7480171674d4b401a8.tar.gz |
Wed Dec 9 19:52:16 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
* DAnCE/Deployment/Deployment_DeploymentPlan.idl
* DAnCE/NodeApplication/NodeApplication_Impl.cpp
* DAnCE/NodeApplication/NodeApplication_Impl.h
* docs/schema/Basic_Deployment_Data.xsd
* tools/Config_Handlers/Basic_Deployment_Data.cpp
* tools/Config_Handlers/Basic_Deployment_Data.hpp
* tools/Config_Handlers/CPD_Handler.cpp
* tools/Config_Handlers/DnC_Dump.cpp
* tools/Config_Handlers/PSPE_Handler.cpp
Merged changes from local_facets branch from Will Otte to svn head.
This is going to be used by at least ami4ccm. We are looking if there
is a different way to determine whether we need to connect a local
facet.
-rw-r--r-- | CIAO/ChangeLog | 16 | ||||
-rw-r--r-- | CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl | 1 | ||||
-rw-r--r-- | CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp | 188 | ||||
-rw-r--r-- | CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h | 8 | ||||
-rw-r--r-- | CIAO/docs/schema/Basic_Deployment_Data.xsd | 1 | ||||
-rw-r--r-- | CIAO/tools/Config_Handlers/Basic_Deployment_Data.cpp | 4 | ||||
-rw-r--r-- | CIAO/tools/Config_Handlers/Basic_Deployment_Data.hpp | 3 | ||||
-rw-r--r-- | CIAO/tools/Config_Handlers/CPD_Handler.cpp | 8 | ||||
-rw-r--r-- | CIAO/tools/Config_Handlers/DnC_Dump.cpp | 1 | ||||
-rw-r--r-- | CIAO/tools/Config_Handlers/PSPE_Handler.cpp | 8 |
10 files changed, 201 insertions, 37 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 5f7fc20ea06..fb21c970442 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,19 @@ +Wed Dec 9 19:52:16 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl> + + * DAnCE/Deployment/Deployment_DeploymentPlan.idl + * DAnCE/NodeApplication/NodeApplication_Impl.cpp + * DAnCE/NodeApplication/NodeApplication_Impl.h + * docs/schema/Basic_Deployment_Data.xsd + * tools/Config_Handlers/Basic_Deployment_Data.cpp + * tools/Config_Handlers/Basic_Deployment_Data.hpp + * tools/Config_Handlers/CPD_Handler.cpp + * tools/Config_Handlers/DnC_Dump.cpp + * tools/Config_Handlers/PSPE_Handler.cpp + Merged changes from local_facets branch from Will Otte to svn head. + This is going to be used by at least ami4ccm. We are looking if there + is a different way to determine whether we need to connect a local + facet. + Wed Dec 9 15:53:16 UTC 2009 Marcel Smit <msmit@remedy.nl> * examples/BasicSP/descriptors/run_test.pl: diff --git a/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl b/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl index 14aac0c6f77..e461db51f17 100644 --- a/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl +++ b/CIAO/DAnCE/Deployment/Deployment_DeploymentPlan.idl @@ -11,6 +11,7 @@ module Deployment { enum CCMComponentPortKind { Facet, + LocalFacet, SimplexReceptacle, MultiplexReceptacle, EventEmitter, diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp index 0e9a8475b7e..4cc59b43832 100644 --- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp +++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp @@ -1633,20 +1633,20 @@ NodeApplication_Impl::getAllConnections() DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ") ACE_TEXT("provide_facet for connection %C endpoint %C started\n"), this->plan_.connection[i].name.in(), - this->plan_.connection[i].internalEndpoint[j].portName.in())); + name.c_str ())); CORBA::String_var facet_name = CORBA::string_dup (name.c_str()); (*conn) [index].endpoint[0] = obj->provide_facet (facet_name.in()); DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ") ACE_TEXT("provide_facet for connection %C endpoint %C finished\n"), this->plan_.connection[i].name.in(), - this->plan_.connection[i].internalEndpoint[j].portName.in())); + name.c_str ())); } else { DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ") ACE_TEXT("provide_facet for connection %C endpoint %C started\n"), this->plan_.connection[i].name.in(), - this->plan_.connection[i].internalEndpoint[j].portName.in())); + name.c_str ())); (*conn) [index].endpoint[0] = CORBA::Object::_duplicate (obj.in()); } DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - provide_facet finished\n"))); @@ -1663,6 +1663,17 @@ NodeApplication_Impl::getAllConnections() } break; } + + case ::Deployment::LocalFacet: + { + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::getAllConnections - ") + ACE_TEXT("Providing local facet for connection %C endpoint %C started\n"), + this->plan_.connection[i].name.in(), + this->plan_.connection[i].internalEndpoint[j].portName.in())); + (*conn) [index].endpoint[0] = CORBA::Object::_duplicate (obj.in()); + break; + } + case ::Deployment::EventConsumer: { try @@ -1740,8 +1751,7 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe #endif /* GEN_OSTREAM_OPS */ Components::CCMObject_var obj = - Components::CCMObject:: - _narrow (this->instances_[inst]->ref.in ()); + Components::CCMObject::_narrow (this->instances_[inst]->ref.in ()); if (CORBA::is_nil (obj.in ())) { @@ -1767,7 +1777,7 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe case ::Deployment::Facet: { DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ") - ACE_TEXT("set for facet %C\n"), name.c_str ())); + ACE_TEXT("Set for facet %C\n"), name.c_str ())); Components::CCMObject_var ext_inst; try { @@ -1784,7 +1794,7 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe conn.internalEndpoint[1].portName.in(), providedReference[i].endpoint[0].in()); } - break; + break; } CORBA::Object_var tmp = this->orb_->string_to_object (conn.externalReference[0].location.in()); @@ -1812,6 +1822,59 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe break; } + + case ::Deployment::LocalFacet: + { + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - set for local facet\n"))); + + try + { + if (conn.internalEndpoint.length () == 2) + { + ::Components::CCMObject_var facet = + ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ()); + + ::Components::CCMObject_var recep = + ::Components::CCMObject::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ()); + + ::CIAO::Deployment::Container_var cont = + ::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ()); + + if (CORBA::is_nil (facet.in ()) || + CORBA::is_nil (recep.in ()) || + CORBA::is_nil (cont.in ())) + { + DANCE_ERROR ((LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch -") + ACE_TEXT ("Unable to narrow all participants for a local facet connection\n"))); + throw ::Deployment::InvalidConnection ("", ""); + } + + this->connect_local_receptacle (facet.in (), + conn.internalEndpoint[0].portName.in (), + recep.in (), + conn.internalEndpoint[1].portName.in (), + cont.in ()); + } + else + { + DANCE_ERROR ((LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch -") + ACE_TEXT ("Inappropriate endpoints for a local facet connection, expected 2 internalendpoints.\n"))); + throw ::Deployment::InvalidConnection(conn.name.in (), + "Expected 2 internalenpoints."); + } + } + catch (::Deployment::InvalidConnection &ex) + { + throw; + } + catch (...) + { + + } + + break; + } + case ::Deployment::EventConsumer: { DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - set for consumer\n"))); @@ -1863,9 +1926,37 @@ NodeApplication_Impl::finishLaunch (const ::Deployment::Connections & providedRe { // What we should do with Cookie, returned from connect call??? DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - set for receptacle\n"))); - this->connect_receptacle (obj.in(), - conn.internalEndpoint[0].portName.in(), - providedReference[i].endpoint[0].in()); + + if (conn.internalEndpoint.length () == 2 && + conn.internalEndpoint[1].kind == ::Deployment::LocalFacet) + { + ::Components::CCMObject_var facet = + ::Components::CCMObject::_narrow (providedReference[i].endpoint[0].in ()); + + ::CIAO::Deployment::Container_var cont = + ::CIAO::Deployment::Container::_narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->container->ref.in ()); + + if (CORBA::is_nil (facet.in ()) || + CORBA::is_nil (cont.in ())) + { + DANCE_ERROR ((LM_ERROR, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch -") + ACE_TEXT ("Unable to narrow all participants for a local facet connection\n"))); + throw ::Deployment::InvalidConnection ("", ""); + } + + this->connect_local_receptacle (facet.in (), + conn.internalEndpoint[1].portName.in (), + obj.in (), + conn.internalEndpoint[0].portName.in (), + cont.in ()); + } + else + { + this->connect_receptacle (obj.in(), + conn.internalEndpoint[0].portName.in(), + providedReference[i].endpoint[0].in()); + } + break; } case ::Deployment::EventEmitter: @@ -1936,35 +2027,35 @@ NodeApplication_Impl::connect_receptacle (Components::CCMObject_ptr inst, Components::Cookie* res = 0; try { - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ") + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - ") ACE_TEXT("connect SimplexReceptacle for %C started\n"), port_name.c_str())); res = inst->connect (port_name.c_str(), facet); - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - connect finished\n"))); + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle - connect finished\n"))); } catch (const ::Components::InvalidName& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidName exception\n"))); throw ::Deployment::StartError("", "Received InvalidName exception while connecting receptacle."); } catch (const ::Components::InvalidConnection& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidConnection exception\n"))); throw ::Deployment::InvalidConnection("", "InvalidConnection caught while connecting receptacle."); } catch (const ::Components::AlreadyConnected& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::AlreadyConnected exception\n"))); throw ::Deployment::InvalidConnection("", "Caught AlreadyConnected exception while connecting receptacle"); } catch (const ::Components::ExceededConnectionLimit& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::ExceededConnectionLimit exception\n"))); throw ::Deployment::InvalidConnection("", "Caught ExceededConnectionLimit exception while connecting receptacle."); @@ -1980,35 +2071,35 @@ NodeApplication_Impl::connect_receptacle_ext (Components::CCMObject_ptr inst, Components::Cookie* res = 0; try { - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ") + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle_ext - ") ACE_TEXT("connect SimplexReceptacle for %C started\n"), port_name.c_str())); res = inst->connect (port_name.c_str(), facet); - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - connect finished\n"))); + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_receptacle_ext - connect finished\n"))); } catch (const ::Components::InvalidName& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidName exception\n"))); throw ::Deployment::StartError("", "Caught InvalidName exception while connecting external receptacle."); } catch (const ::Components::InvalidConnection& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::InvalidConnection exception\n"))); throw ::Deployment::InvalidConnection("", "Caught InvalidConnection exception while connecting external receptacle."); } catch (const ::Components::AlreadyConnected& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::AlreadyConnected exception\n"))); throw ::Deployment::InvalidConnection("", "Caught AlreadyConnected exception while connecting external receptacle."); } catch (const ::Components::ExceededConnectionLimit& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_receptacle_ext - ") ACE_TEXT("Components::CCMObject_var::connect() returned ::Components::ExceededConnectionLimit exception\n"))); throw ::Deployment::InvalidConnection("", "Caught ExceededConnectionLimit while connecting external receptacle."); @@ -2017,6 +2108,33 @@ NodeApplication_Impl::connect_receptacle_ext (Components::CCMObject_ptr inst, } void +NodeApplication_Impl::connect_local_receptacle (Components::CCMObject_ptr facet, + const ACE_CString &facet_name, + Components::CCMObject_ptr receptacle, + const ACE_CString &recep_name, + CIAO::Deployment::Container_ptr cont) +{ + DANCE_TRACE ("NodeApplication_Impl::connect_local_receptacle"); + + try + { + DANCE_DEBUG ((LM_DEBUG, DLINFO ACE_TEXT ("NodeApplication_Impl::connect_local_receptacle - ") + ACE_TEXT ("Connecting local facet %C to receptacle %C\n"), + facet_name.c_str (), recep_name.c_str ())); + + cont->connect_local_facet (facet, facet_name.c_str (), receptacle, recep_name.c_str ()); + } + catch (CORBA::Exception &ex) + { // @@todo: need better exception handling. + DANCE_ERROR ((LM_ERROR, DLINFO ACE_TEXT ("NodeApplication_Impl::connect_local_receptacle - ") + ACE_TEXT ("Caught unexpected CORBA excption while connecting port %C ") + ACE_TEXT ("to port %C\n"), facet_name.c_str (), recep_name.c_str ())); + throw ::Deployment::InvalidConnection ("", + ""); + } +} + +void NodeApplication_Impl::connect_emitter (Components::CCMObject_ptr inst, const ACE_CString& port_name, CORBA::Object_ptr consumer) @@ -2024,29 +2142,29 @@ NodeApplication_Impl::connect_emitter (Components::CCMObject_ptr inst, Components::EventConsumerBase_var event = Components::EventConsumerBase::_unchecked_narrow (consumer); try { - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ") + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter - ") ACE_TEXT("connect_consumer for %C started\n"), port_name.c_str())); inst->connect_consumer (port_name.c_str(), event); - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ") + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter - ") ACE_TEXT("connect_consumer finished\n"))); } catch (const ::Components::InvalidName& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" ACE_TEXT(NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" ACE_TEXT(NodeApplication_Impl::connect_emitter - ") ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::InvalidName exception\n"))); throw ::Deployment::StartError("", "Caught InvalidName while connecting emitter."); } catch (const ::Components::AlreadyConnected& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_emitter - ") ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::AlreadyConnected exception\n"))); throw ::Deployment::InvalidConnection("", "Caught AlreadyConnected exception while connecting emitter"); } catch (const ::Components::InvalidConnection& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_emitter - ") ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::InvalidConnection exception\n"))); throw ::Deployment::InvalidConnection("", "Caught InvalidConnection while connecting emitter."); @@ -2061,21 +2179,21 @@ NodeApplication_Impl::connect_emitter_ext (Components::CCMObject_ptr inst, Components::EventConsumerBase_var event = Components::EventConsumerBase::_unchecked_narrow (consumer); try { - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - ") + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter_ext - ") ACE_TEXT("connect_emitter_ext for %C started\n"), port_name.c_str())); inst->connect_consumer (port_name.c_str(), event); - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - connect_emitter_ext finished\n"))); + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_emitter_ext - connect_emitter_ext finished\n"))); } catch (const ::Components::AlreadyConnected& ) { - DANCE_DEBUG ( (LM_WARNING, ACE_TEXT("NodeApplication_Impl::finishLaunch - ") + DANCE_DEBUG ( (LM_WARNING, ACE_TEXT("NodeApplication_Impl::connect_emitter_ext - ") ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::AlreadyConnected exception\n"))); throw ::Deployment::InvalidConnection("", "Caught AlreadyConnected exception while connecting external emitter."); } catch (const ::Components::InvalidConnection& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_emitter_ext - ") ACE_TEXT("Components::CCMObject_var::connect_consumer() returned ::Components::InvalidConnection exception\n"))); throw ::Deployment::InvalidConnection("", "Caught InvalidConnection exception while connecting external emitter."); @@ -2101,24 +2219,24 @@ NodeApplication_Impl::connect_publisher (Components::CCMObject_ptr inst, try { res = inst->subscribe (port_name.c_str(), event); - DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::finishLaunch - successfully subscribed %C\n"), + DANCE_DEBUG((LM_DEBUG, DLINFO ACE_TEXT("NodeApplication_Impl::connect_publisher - successfully subscribed %C\n"), port_name.c_str ())); } catch (const ::Components::InvalidName& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_publisher - ") ACE_TEXT("Components::CCMObject_var::subscribe() returned ::Components::InvalidName exception\n"))); throw ::Deployment::StartError("", "Caught InvalidName exception while connecting publisher"); } catch (const ::Components::InvalidConnection& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_publisher - ") ACE_TEXT("Components::CCMObject_var::subscribe() returned ::Components::InvalidConnection exception\n"))); throw ::Deployment::InvalidConnection("", "Caught InvalidConnection exception while connecting publisher."); } catch (const ::Components::ExceededConnectionLimit& ) { - DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::finishLaunch - ") + DANCE_ERROR((LM_ERROR, DLINFO ACE_TEXT(" NodeApplication_Impl::connect_publisher - ") ACE_TEXT("Components::CCMObject_var::subscribe() returned ::Components::ExceededCOnnectionLimit exception\n"))); throw ::Deployment::InvalidConnection("", "Caught ExceededConnectionLimit exception while connecting publisher."); } diff --git a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h index d511ca442d1..b46ddaa5566 100644 --- a/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h +++ b/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.h @@ -174,7 +174,13 @@ namespace DAnCE Components::Cookie* connect_receptacle_ext (Components::CCMObject_ptr inst, const ACE_CString& port_name, CORBA::Object_ptr facet); - + + void connect_local_receptacle (Components::CCMObject_ptr facet, + const ACE_CString &facet_name, + Components::CCMObject_ptr receptacle, + const ACE_CString &recep_name, + CIAO::Deployment::Container_ptr cont); + void connect_emitter (Components::CCMObject_ptr inst, const ACE_CString& port_name, CORBA::Object_ptr consumer); diff --git a/CIAO/docs/schema/Basic_Deployment_Data.xsd b/CIAO/docs/schema/Basic_Deployment_Data.xsd index ddcc349a42f..717f2a11f9f 100644 --- a/CIAO/docs/schema/Basic_Deployment_Data.xsd +++ b/CIAO/docs/schema/Basic_Deployment_Data.xsd @@ -291,6 +291,7 @@ <xsd:simpleType name="CCMComponentPortKind"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="Facet"/> + <xsd:enumeration value="LocalFacet"/> <xsd:enumeration value="SimplexReceptacle"/> <xsd:enumeration value="MultiplexReceptacle"/> <xsd:enumeration value="EventEmitter"/> diff --git a/CIAO/tools/Config_Handlers/Basic_Deployment_Data.cpp b/CIAO/tools/Config_Handlers/Basic_Deployment_Data.cpp index 1e07c6cbfa2..2114fc7d99a 100644 --- a/CIAO/tools/Config_Handlers/Basic_Deployment_Data.cpp +++ b/CIAO/tools/Config_Handlers/Basic_Deployment_Data.cpp @@ -6575,6 +6575,7 @@ namespace CIAO ::std::basic_string< ACE_TCHAR > v (e.value ()); if (v == ACE_TEXT ("Facet")) v_ = Facet_l; + else if (v == ACE_TEXT ("LocalFacet")) v_ = LocalFacet_l; else if (v == ACE_TEXT ("SimplexReceptacle")) v_ = SimplexReceptacle_l; else if (v == ACE_TEXT ("MultiplexReceptacle")) v_ = MultiplexReceptacle_l; else if (v == ACE_TEXT ("EventEmitter")) v_ = EventEmitter_l; @@ -6594,6 +6595,7 @@ namespace CIAO ::std::basic_string< ACE_TCHAR > v (a.value ()); if (v == ACE_TEXT ("Facet")) v_ = Facet_l; + else if (v == ACE_TEXT ("LocalFacet")) v_ = LocalFacet_l; else if (v == ACE_TEXT ("SimplexReceptacle")) v_ = SimplexReceptacle_l; else if (v == ACE_TEXT ("MultiplexReceptacle")) v_ = MultiplexReceptacle_l; else if (v == ACE_TEXT ("EventEmitter")) v_ = EventEmitter_l; @@ -6607,6 +6609,7 @@ namespace CIAO } CCMComponentPortKind const CCMComponentPortKind::Facet (CCMComponentPortKind::Facet_l); + CCMComponentPortKind const CCMComponentPortKind::LocalFacet (CCMComponentPortKind::LocalFacet_l); CCMComponentPortKind const CCMComponentPortKind::SimplexReceptacle (CCMComponentPortKind::SimplexReceptacle_l); CCMComponentPortKind const CCMComponentPortKind::MultiplexReceptacle (CCMComponentPortKind::MultiplexReceptacle_l); CCMComponentPortKind const CCMComponentPortKind::EventEmitter (CCMComponentPortKind::EventEmitter_l); @@ -16648,6 +16651,7 @@ namespace CIAO ::std::basic_string< ACE_TCHAR > s; if (o == ::CIAO::Config_Handlers::CCMComponentPortKind::Facet) s = ACE_TEXT ("Facet"); + else if (o == ::CIAO::Config_Handlers::CCMComponentPortKind::LocalFacet) s = ACE_TEXT ("LocalFacet"); else if (o == ::CIAO::Config_Handlers::CCMComponentPortKind::SimplexReceptacle) s = ACE_TEXT ("SimplexReceptacle"); else if (o == ::CIAO::Config_Handlers::CCMComponentPortKind::MultiplexReceptacle) s = ACE_TEXT ("MultiplexReceptacle"); else if (o == ::CIAO::Config_Handlers::CCMComponentPortKind::EventEmitter) s = ACE_TEXT ("EventEmitter"); diff --git a/CIAO/tools/Config_Handlers/Basic_Deployment_Data.hpp b/CIAO/tools/Config_Handlers/Basic_Deployment_Data.hpp index 50b1ec3283a..0500ea5d221 100644 --- a/CIAO/tools/Config_Handlers/Basic_Deployment_Data.hpp +++ b/CIAO/tools/Config_Handlers/Basic_Deployment_Data.hpp @@ -1774,6 +1774,7 @@ namespace CIAO CCMComponentPortKind (::XSCRT::XML::Attribute< ACE_TCHAR > const&); static CCMComponentPortKind const Facet; + static CCMComponentPortKind const LocalFacet; static CCMComponentPortKind const SimplexReceptacle; static CCMComponentPortKind const MultiplexReceptacle; static CCMComponentPortKind const EventEmitter; @@ -1784,7 +1785,7 @@ namespace CIAO enum Value { - Facet_l, SimplexReceptacle_l, MultiplexReceptacle_l, EventEmitter_l, EventPublisher_l, EventConsumer_l, ExtendedPort_l, MirrorPort_l + Facet_l, LocalFacet_l, SimplexReceptacle_l, MultiplexReceptacle_l, EventEmitter_l, EventPublisher_l, EventConsumer_l, ExtendedPort_l, MirrorPort_l }; diff --git a/CIAO/tools/Config_Handlers/CPD_Handler.cpp b/CIAO/tools/Config_Handlers/CPD_Handler.cpp index afad9712eed..3519a2fd41e 100644 --- a/CIAO/tools/Config_Handlers/CPD_Handler.cpp +++ b/CIAO/tools/Config_Handlers/CPD_Handler.cpp @@ -34,6 +34,10 @@ namespace CIAO toconfig.kind = Deployment::Facet; break; + case CCMComponentPortKind::LocalFacet_l: + toconfig.kind = Deployment::LocalFacet; + break; + case CCMComponentPortKind::SimplexReceptacle_l: toconfig.kind = Deployment::SimplexReceptacle; break; @@ -115,6 +119,10 @@ namespace CIAO cpd.kind (CCMComponentPortKind::Facet); break; + case ::Deployment::LocalFacet: + cpd.kind (CCMComponentPortKind::LocalFacet); + break; + case ::Deployment::SimplexReceptacle: cpd.kind (CCMComponentPortKind::SimplexReceptacle); break; diff --git a/CIAO/tools/Config_Handlers/DnC_Dump.cpp b/CIAO/tools/Config_Handlers/DnC_Dump.cpp index 3bee947afd3..3703761168d 100644 --- a/CIAO/tools/Config_Handlers/DnC_Dump.cpp +++ b/CIAO/tools/Config_Handlers/DnC_Dump.cpp @@ -209,6 +209,7 @@ namespace Deployment ACE_DEBUG ((LM_DEBUG, "%skind: ", Dump_Obj::indent())); switch (compportdesc.kind) { case Facet: ACE_DEBUG ((LM_DEBUG, "Facet\n")); break; + case LocalFacet: ACE_DEBUG ((LM_DEBUG, "LocalFacet\n")); break; case SimplexReceptacle: ACE_DEBUG ((LM_DEBUG, "SimplexReceptacle\n")); break; case MultiplexReceptacle: ACE_DEBUG ((LM_DEBUG, "MultiplexReceptacle\n")); break; case EventEmitter: ACE_DEBUG ((LM_DEBUG, "EventEmitter\n")); break; diff --git a/CIAO/tools/Config_Handlers/PSPE_Handler.cpp b/CIAO/tools/Config_Handlers/PSPE_Handler.cpp index 28d29bf8f34..9b070443749 100644 --- a/CIAO/tools/Config_Handlers/PSPE_Handler.cpp +++ b/CIAO/tools/Config_Handlers/PSPE_Handler.cpp @@ -62,6 +62,10 @@ namespace CIAO dest.kind = Deployment::Facet; break; + case CCMComponentPortKind::LocalFacet_l: + dest.kind = Deployment::LocalFacet; + break; + case CCMComponentPortKind::SimplexReceptacle_l: dest.kind = Deployment::SimplexReceptacle; break; @@ -117,6 +121,10 @@ namespace CIAO pspe.kind (CCMComponentPortKind::Facet); break; + case ::Deployment::LocalFacet: + pspe.kind (CCMComponentPortKind::LocalFacet); + break; + case ::Deployment::SimplexReceptacle: pspe.kind (CCMComponentPortKind::SimplexReceptacle); break; |