summaryrefslogtreecommitdiff
path: root/trunk/CIAO/ciao/Upgradeable_Context_Impl_T.cpp
blob: e2afdaeab8bfed58f032136dd538b5270ec7eaa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// $Id$

#ifndef CIAO_UPGRADEABLE_CONTEXT_IMPL_T_C
#define CIAO_UPGRADEABLE_CONTEXT_IMPL_T_C

#include "Upgradeable_Context_Impl_T.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 */