diff options
Diffstat (limited to 'TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl')
-rw-r--r-- | TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl b/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl index 64e5d908865..9c7373f92f8 100644 --- a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl +++ b/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl @@ -171,6 +171,26 @@ ACE_INLINE container_ (c) { this->context_ = new [ciao module name]::[component name]_Context (h, c, this); + + ACE_TRY_NEW_ENV + { + Components::SessionComponent_var scom = + Components::SessionComponent::_narrow (exe + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + if (! CORBA::is_nil (scom.in ())) + { + scom->set_session_context (this->context_ + ACE_ENV_ARG_PARAMETER); + } + } + ACE_CATCHANY + { + // @@ Ignore any exceptions? What happens if + // set_session_context throws an CCMException? + } + ACE_ENDTRY; } ACE_INLINE |