diff options
author | dengg <dengg@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-10-10 21:56:38 +0000 |
---|---|---|
committer | dengg <dengg@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-10-10 21:56:38 +0000 |
commit | 9203537910e39c33c84b23c74616438d28c306c0 (patch) | |
tree | c26d529ddb9334332e94e65e33e04ce5c127ad39 | |
parent | 78bb9e50660f118edbbf5b2050ef2666f4876b01 (diff) | |
download | ATCD-9203537910e39c33c84b23c74616438d28c306c0.tar.gz |
Checked in my recent changes and bug fixes for the RTEC and their filtering support, CIDL changes, and some IDL enhancements.
-rw-r--r-- | CIDLC/ServantHeaderGenerator.cpp | 11 | ||||
-rw-r--r-- | CIDLC/ServantSourceGenerator.cpp | 36 |
2 files changed, 45 insertions, 2 deletions
diff --git a/CIDLC/ServantHeaderGenerator.cpp b/CIDLC/ServantHeaderGenerator.cpp index 7f10994648d..2c115143fa9 100644 --- a/CIDLC/ServantHeaderGenerator.cpp +++ b/CIDLC/ServantHeaderGenerator.cpp @@ -722,6 +722,17 @@ namespace << STRS[EXCP_SYS] << "," << endl << STRS[EXCP_BET] << "));" << endl; + // @@ GD added below code. + + os << "// CIAO-specific in " << STRS[COMP_ECB] << "." << endl + << "virtual void" << endl + << "ciao_push_event ( ::Components::EventBase *ev," << endl + << "const char * source_id" << endl + << STRS[ENV_HDR] << ")" << endl + << STRS[EXCP_START] << " " + << STRS[EXCP_SYS] << "," << endl + << STRS[EXCP_BET] << "));" << endl; + os << "// CIAO-specific in " << STRS[COMP_ECB] << "." << endl << "virtual CORBA::Boolean" << endl << "ciao_is_substitutable (" << endl diff --git a/CIDLC/ServantSourceGenerator.cpp b/CIDLC/ServantSourceGenerator.cpp index 5c5c2af43a6..98d9626d11f 100644 --- a/CIDLC/ServantSourceGenerator.cpp +++ b/CIDLC/ServantSourceGenerator.cpp @@ -822,6 +822,13 @@ namespace << "ACE_CHECK;" << endl << "}"; + // @@ GD Modified Code Below + + os << endl; + os << "ACE_CString source_id = this->_ciao_instance_id ();"; + os << "source_id += \"_\";" << endl; + os << "source_id += \"" << p.name () << "\";//port name" << endl << endl; + os << "for (ACE_Active_Map_Manager< " << endl << " " << STRS[COMP_ECB] << "_var>::iterator giter =" << endl << " this->ciao_publishes_" << p.name () @@ -830,8 +837,9 @@ namespace << "_generic_map_.end ();" << endl << "++giter)" << endl << "{" - << "(*giter).int_id_->push_event" << " (" << endl - << "ev" << endl + << "(*giter).int_id_->ciao_push_event" << " (" << endl + << "ev," << endl + << "source_id.c_str ()" << endl << STRS[ENV_ARG] << ");" << "ACE_CHECK;" << endl << "}" @@ -2218,6 +2226,30 @@ namespace << "ACE_THROW ( " << STRS[EXCP_BET] << " ());" << endl << "}"; + // GD Added below code + // Begin + + os << "// Inherited from " << STRS[COMP_ECB] << "." << endl + << "void" << endl + << scope_.name () << "_Servant::"; + + Traversal::ConsumerData::belongs (c, simple_belongs_); + + os << "Consumer_" << c.name () + << "_Servant::ciao_push_event (" << endl + << "::Components::EventBase *ev," << endl + << "const char * source_id" << endl + << STRS[ENV_SRC] << ")" << endl + << STRS[EXCP_START] << " " + << STRS[EXCP_SYS] << "," << endl + << STRS[EXCP_BET] << "))" << endl + << "{" + << "ACE_UNUSED_ARG (source_id);" << endl + << "this->push_event (ev);" << endl + << "}"; + + // End + os << "CORBA::Boolean" << endl << scope_.name () << "_Servant::"; |