diff options
Diffstat (limited to 'modules/CIAO/ciao/Contexts/Swapping/Upgradeable_Context_Impl_T.cpp')
-rw-r--r-- | modules/CIAO/ciao/Contexts/Swapping/Upgradeable_Context_Impl_T.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/Contexts/Swapping/Upgradeable_Context_Impl_T.cpp b/modules/CIAO/ciao/Contexts/Swapping/Upgradeable_Context_Impl_T.cpp new file mode 100644 index 00000000000..839700d77c3 --- /dev/null +++ b/modules/CIAO/ciao/Contexts/Swapping/Upgradeable_Context_Impl_T.cpp @@ -0,0 +1,69 @@ +// $Id$ + +#ifndef CIAO_UPGRADEABLE_CONTEXT_IMPL_T_C +#define CIAO_UPGRADEABLE_CONTEXT_IMPL_T_C + +#include "Upgradeable_Context_Impl_T.h" + +#include "ciao/Servant_Activator.h" + +namespace CIAO +{ + template <typename BASE_CTX, + typename SVNT, + typename COMP> + Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP>::Upgradeable_Context_Impl ( + Components::CCMHome_ptr the_home, + Session_Container *c, + SVNT *sv) + : Context_Impl<BASE_CTX, SVNT, COMP> (the_home, c, sv) + { + } + + template <typename BASE_CTX, + typename SVNT, + typename COMP> + Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP>::~Upgradeable_Context_Impl (void) + { + } + + template <typename BASE_CTX, + typename SVNT, + typename COMP> + void + Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP>::deactivate_facet ( + const PortableServer::ObjectId &oid) + { + this->container_->deactivate_facet (oid); + } + + template <typename BASE_CTX, + typename SVNT, + typename COMP> + void + Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP>::remove_facet ( + CORBA::Object_ptr reference) + { + PortableServer::ObjectId_var oid = + this->container_->the_facet_cons_POA ()->reference_to_id (reference); + + this->update_port_activator (oid.in ()); + + this->deactivate_facet (oid.in ()); + } + + template <typename BASE_CTX, + typename SVNT, + typename COMP> + void + Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP>::update_port_activator ( + const PortableServer::ObjectId &oid) + { + CIAO::Servant_Activator *sa = + this->container_->ports_servant_activator (); + sa->update_port_activator (oid); + } + +} + +#endif /* CIAO_UPGRADEABLE_CONTEXT_IMPL_T_C */ |