diff options
author | bala <balanatarajan@users.noreply.github.com> | 2004-09-11 04:08:55 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2004-09-11 04:08:55 +0000 |
commit | 8554654d97f84ab1412d90c5f0e722f7cd8bf5d9 (patch) | |
tree | c5045ada21082e43a6a047185855bd59b873d89e | |
parent | 122412db9d2d4751fedacbc1617e59d1f8d282a3 (diff) | |
download | ATCD-8554654d97f84ab1412d90c5f0e722f7cd8bf5d9.tar.gz |
ChangeLogTag:Fri Sep 10 23:08:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r-- | TAO/CIAO/ChangeLog | 10 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/ciao/Container_Base.cpp | 26 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/ciao/Container_Base.h | 6 | ||||
-rw-r--r-- | TAO/CIAO/ciao/Container_Base.cpp | 30 | ||||
-rw-r--r-- | TAO/CIAO/ciao/Container_Base.h | 6 |
5 files changed, 78 insertions, 0 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog index 7f239e0bc19..0e2adf95535 100644 --- a/TAO/CIAO/ChangeLog +++ b/TAO/CIAO/ChangeLog @@ -1,3 +1,13 @@ +Fri Sep 10 23:08:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu> + + * DAnCE/ciao/Container_Base.cpp: + * DAnCE/ciao/Container_Base.h: + * ciao/Container_Base.cpp: + * ciao/Container_Base.h: + + Reverted this change "Sat Sep 11 03:35:24 2004 Balachandran + Natarajan <bala@dre.vanderbilt.edu>" + Fri Sep 10 22:53:58 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu> * DAnCE/ciao/CCM_Core.mpc: diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.cpp b/TAO/CIAO/DAnCE/ciao/Container_Base.cpp index 4513717c678..275d061d67d 100644 --- a/TAO/CIAO/DAnCE/ciao/Container_Base.cpp +++ b/TAO/CIAO/DAnCE/ciao/Container_Base.cpp @@ -175,6 +175,32 @@ namespace CIAO } CORBA::Object_ptr + Session_Container::install_servant (PortableServer::Servant p, + Container::OA_Type t + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + PortableServer::POA_ptr tmp = 0; + + if (t == Container::Component) + tmp = this->component_poa_.in (); + else + tmp = this->facet_cons_poa_.in (); + + PortableServer::ObjectId_var oid + = tmp->activate_object (p + ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + CORBA::Object_var objref + = tmp->id_to_reference (oid.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + return objref._retn (); + } + + CORBA::Object_ptr Session_Container::install_component (PortableServer::Servant p, PortableServer::ObjectId_out oid ACE_ENV_ARG_DECL) diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.h b/TAO/CIAO/DAnCE/ciao/Container_Base.h index b0178ef6dcf..770e222e3c9 100644 --- a/TAO/CIAO/DAnCE/ciao/Container_Base.h +++ b/TAO/CIAO/DAnCE/ciao/Container_Base.h @@ -191,6 +191,12 @@ namespace CIAO ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); + // Install a servant for component or home. + CORBA::Object_ptr install_servant (PortableServer::Servant p, + Container::OA_Type t + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + // Install a component servant. CORBA::Object_ptr install_component (PortableServer::Servant p, PortableServer::ObjectId_out oid diff --git a/TAO/CIAO/ciao/Container_Base.cpp b/TAO/CIAO/ciao/Container_Base.cpp index d308af8e6bb..d9ad8784527 100644 --- a/TAO/CIAO/ciao/Container_Base.cpp +++ b/TAO/CIAO/ciao/Container_Base.cpp @@ -174,6 +174,31 @@ namespace CIAO ACE_CHECK; } + CORBA::Object_ptr + Session_Container::install_servant (PortableServer::Servant p, + Container::OA_Type t + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + PortableServer::POA_ptr tmp = 0; + + if (t == Container::Component) + tmp = this->component_poa_.in (); + else + tmp = this->facet_cons_poa_.in (); + + PortableServer::ObjectId_var oid + = tmp->activate_object (p + ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + CORBA::Object_var objref + = tmp->id_to_reference (oid.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + return objref._retn (); + } CORBA::Object_ptr Session_Container::install_component (PortableServer::Servant p, @@ -197,6 +222,11 @@ namespace CIAO } + //@@ Apparently we need to be cautious when handling the exception + // thrown here. We should make sure that new DnC interfaces + // NodeApplication/NodeApplicationManager etc will cache the new + // exceptions--> rethrow of new exceptions is needed. + // --Tao Components::CCMHome_ptr Session_Container::ciao_install_home (const char *exe_dll_name, const char *exe_entrypt, diff --git a/TAO/CIAO/ciao/Container_Base.h b/TAO/CIAO/ciao/Container_Base.h index 17c89b96a7b..d4d5c0986b3 100644 --- a/TAO/CIAO/ciao/Container_Base.h +++ b/TAO/CIAO/ciao/Container_Base.h @@ -190,6 +190,12 @@ namespace CIAO ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); + // Install a servant for component or home. + CORBA::Object_ptr install_servant (PortableServer::Servant p, + Container::OA_Type t + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + // Install a component servant. CORBA::Object_ptr install_component (PortableServer::Servant p, PortableServer::ObjectId_out oid |