diff options
author | bala <balanatarajan@users.noreply.github.com> | 2004-08-12 20:28:41 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2004-08-12 20:28:41 +0000 |
commit | daff54e87b9cfe36ad220969dead6327ebf53c63 (patch) | |
tree | b3af7fc4721b6e60ed0da2b4512edf10d3cf9650 | |
parent | be0f471bf31364c4e2994427a5e8febbd47345dc (diff) | |
download | ATCD-daff54e87b9cfe36ad220969dead6327ebf53c63.tar.gz |
ChangeLogTag:Thu Aug 12 15:25:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r-- | TAO/CIAO/ChangeLog | 8 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/NEWS | 32 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp | 48 | ||||
-rw-r--r-- | TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h | 7 |
4 files changed, 80 insertions, 15 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog index 3ac65160dab..d801dfebbc0 100644 --- a/TAO/CIAO/ChangeLog +++ b/TAO/CIAO/ChangeLog @@ -1,3 +1,11 @@ +Thu Aug 12 15:25:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu> + + * DAnCE/NEWS: + * DAnCE/ciao/Servant_Impl_T.cpp: + * DAnCE/ciao/Servant_Impl_T.h: + + Updates at this + Thu Aug 12 11:35:44 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu> * DAnCE/ciao/Servant_Impl_T.cpp: diff --git a/TAO/CIAO/DAnCE/NEWS b/TAO/CIAO/DAnCE/NEWS index bd76530ac4c..a901e6a5ac0 100644 --- a/TAO/CIAO/DAnCE/NEWS +++ b/TAO/CIAO/DAnCE/NEWS @@ -2,33 +2,37 @@ PLANNED MAJOR CHANGES TARGETED FOR DAnCE-0.4.3 ==================================================== . Convert C++ datastructures generated from XSC to IDL data types - defined in D+C. + defined in D+C. (Boris, Jules, Kitty) - . Change spec defined IDL's for adding policies + . Change spec defined IDL's for adding policies (Depends on last) - . Attribute configuration, atleast the basic types + . Attribute configuration, atleast the basic types. (Jules, Bala) - . Support homeless component deployment + . Support homeless component deployment (Low priority) - . Allow colocated and non-collocated decisions within the schema - - . Add binding to the NameService + . Allow colocated and non-colocated decisions within the schema + (Arvind) + + . Add binding to the NameService (Gan Deng) . Connections to supported interfaces. . Split the current NodeApplication entity into ComponentServer(still bearing the name "NodeApplication" though) - and Container. + and Container. (Tao) . NodeApplication will be responsible for creating Containers for an assembly. Atleast 1 per node application will be created to start - off. + off. (Tao) + + . Have more than one NodeApplicationManager within the NodeManager (Tao) + + . Event Channel Integration (Amogh Kavimandan) - . Have more than one NodeApplicationManager within the NodeManager + . Tools for dynamic replacement of components (Dr. Schmidt) - . Event Channel Integration + . Thread pools and the like. (Bala and Nanbor). - . Tools for dynamic replacement of components + . Dependencies during deployment. - . Thread pools and the like. -
\ No newline at end of file + . Static Configuration for DAnCE (??) diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp index 443aab29064..8c32faedf7f 100644 --- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp +++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp @@ -26,6 +26,25 @@ namespace CIAO typename CONTEXT> Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::~Servant_Impl (void) { + ACE_TRY_NEW_ENV + { + ::Components::SessionComponent_var scom = + ::Components::SessionComponent::_narrow ( + this->executor_.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + if (! ::CORBA::is_nil (scom.in ())) + { + scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER); + } + } + ACE_CATCHANY + { + } + ACE_ENDTRY; + + this->context_->_remove_ref (); } template <typename BASE_SKEL, @@ -89,6 +108,35 @@ namespace CIAO return retval._retn (); } + + template <typename BASE_SKEL, + typename EXEC, + typename EXEC_VAR, + typename CONTEXT> + CORBA::Boolean + Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::same_component ( + CORBA::Object_ptr object_ref + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + if (::CORBA::is_nil (object_ref)) + { + ACE_THROW_RETURN (::CORBA::BAD_PARAM (), 0); + } + + ::CORBA::Object_var the_other = + object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + ::CORBA::Object_var me = + this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK_RETURN (0); + + return me->_is_equivalent ( + the_other.in () + ACE_ENV_ARG_PARAMETER); + } } #endif /* CIAO_SERVANT_IMPL_T_C */ diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h index af8f19a0eb2..11e53b91985 100644 --- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h +++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h @@ -46,7 +46,7 @@ namespace CIAO public Servant_Impl_Base { public: - Servant_Impl (EXEC * exe, + Servant_Impl (EXEC * exe, Session_Container * c); virtual ~Servant_Impl (void); @@ -58,6 +58,11 @@ namespace CIAO get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((CORBA::SystemException)); + virtual CORBA::Boolean + same_component (CORBA::Object_ptr object_ref + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + protected: EXEC_VAR executor_; |