summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/ciao
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-07 20:51:23 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-07 20:51:23 +0000
commit53280168a13101094bf3b7f408d7510a9fa660b5 (patch)
tree39e28f5a676688e0b21b9ab5fe8fd2dbfeb8fc0e /TAO/CIAO/DAnCE/ciao
parent1eca5fc1f4aab3aac2c49dc1a647efd52d85fc99 (diff)
downloadATCD-53280168a13101094bf3b7f408d7510a9fa660b5.tar.gz
ChangeLogTag: Tue Sep 7 15:48:19 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/CIAO/DAnCE/ciao')
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp1
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp231
-rw-r--r--TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h36
3 files changed, 253 insertions, 15 deletions
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp
index 2a3d7b234da..3271512621a 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_Base.cpp
@@ -86,5 +86,4 @@ namespace CIAO
return
PortableServer::POA::_duplicate (container_->_ciao_the_POA ());
}
-
}
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp
index 8c32faedf7f..f33f04afdf3 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.cpp
@@ -29,15 +29,16 @@ namespace CIAO
ACE_TRY_NEW_ENV
{
::Components::SessionComponent_var scom =
- ::Components::SessionComponent::_narrow (
- this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
+ ::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);
- }
+ {
+ scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
}
ACE_CATCHANY
{
@@ -121,21 +122,223 @@ namespace CIAO
ACE_THROW_SPEC ((CORBA::SystemException))
{
if (::CORBA::is_nil (object_ref))
- {
- ACE_THROW_RETURN (::CORBA::BAD_PARAM (), 0);
- }
+ {
+ ACE_THROW_RETURN (::CORBA::BAD_PARAM (), 0);
+ }
::CORBA::Object_var the_other =
- object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
+ 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);
+ 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);
+ return me->_is_equivalent (the_other.in ()
+ ACE_ENV_ARG_PARAMETER);
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ ::Components::CCMHome_ptr
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_ccm_home (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ ::Components::PrimaryKeyBase *
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_primary_key (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Components::NoKeyAvailable))
+ {
+ ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ ::Components::ComponentPortDescription *
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::get_all_ports (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ OBV_Components::ComponentPortDescription *cps = 0;
+ ACE_NEW_RETURN (cps,
+ OBV_Components::ComponentPortDescription,
+ 0);
+ ::Components::ComponentPortDescription_var retv = cps;
+
+ ::Components::FacetDescriptions_var facets_desc =
+ this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ::Components::ReceptacleDescriptions_var receptacle_desc =
+ this->get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ::Components::ConsumerDescriptions_var consumer_desc =
+ this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ::Components::EmitterDescriptions_var emitter_desc =
+ this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ::Components::PublisherDescriptions_var publisher_desc =
+ this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retv->facets (facets_desc.in ());
+ retv->receptacles (receptacle_desc.in ());
+ retv->consumers (consumer_desc.in ());
+ retv->emitters (emitter_desc.in ());
+ retv->publishers (publisher_desc.in ());
+
+ return retv._retn ();
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ CORBA::Object_ptr
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::_get_component (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ ::Components::SessionContext_var sc =
+ ::Components::SessionContext::_narrow (
+ this->context_
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (::CORBA::Object::_nil ());
+
+ if (! ::CORBA::is_nil (sc.in ()))
+ {
+ return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ ::Components::EntityContext_var ec =
+ ::Components::EntityContext::_narrow (
+ this->context_
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (::CORBA::Object::_nil ());
+
+ if (! ::CORBA::is_nil (ec.in ()))
+ {
+ return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+
+ ACE_THROW_RETURN (CORBA::INTERNAL (),
+ ::CORBA::Object::_nil ());
+ }
+
+ // CIAO-specific operations.
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ void
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_preactivate (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ ::Components::SessionComponent_var temp =
+ ::Components::SessionComponent::_narrow (
+ this->executor_.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+
+ if (! ::CORBA::is_nil (temp.in ()))
+ {
+ temp->ciao_preactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ void
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_activate (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ ::Components::SessionComponent_var temp =
+ ::Components::SessionComponent::_narrow (
+ this->executor_.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+
+ if (! ::CORBA::is_nil (temp.in ()))
+ {
+ temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ void
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::ciao_postactivate (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ ::Components::SessionComponent_var temp =
+ ::Components::SessionComponent::_narrow (
+ this->executor_.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+
+ if (! ::CORBA::is_nil (temp.in ()))
+ {
+ temp->ciao_postactivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+ }
+
+ template <typename BASE_SKEL,
+ typename EXEC,
+ typename EXEC_VAR,
+ typename CONTEXT>
+ void
+ Servant_Impl<BASE_SKEL, EXEC, EXEC_VAR, CONTEXT>::_ciao_passivate (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ ::Components::SessionComponent_var temp =
+ ::Components::SessionComponent::_narrow (
+ this->executor_.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+
+ if (! ::CORBA::is_nil (temp.in ()))
+ {
+ temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
}
}
diff --git a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h
index 11e53b91985..48af7435c3c 100644
--- a/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h
+++ b/TAO/CIAO/DAnCE/ciao/Servant_Impl_T.h
@@ -63,6 +63,42 @@ namespace CIAO
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual ::Components::CCMHome_ptr
+ get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual ::Components::PrimaryKeyBase *
+ get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ::Components::NoKeyAvailable));
+
+ virtual ::Components::ComponentPortDescription *
+ get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Object_ptr
+ _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // CIAO-specific operations.
+
+ void
+ ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void
+ ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void
+ ciao_postactivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// @@NOTE: The busted operation.
+ void
+ _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
protected:
EXEC_VAR executor_;