summaryrefslogtreecommitdiff
path: root/CIAO/ciao/Upgradeable_Context_Impl_T.cpp
blob: 9431da4c67ab86d335bb5e620d915fe7fae65e45 (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// $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,
            typename COMP_VAR>
  Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP, COMP_VAR>::
      Upgradeable_Context_Impl (
              Components::CCMHome_ptr home,
              Session_Container *c,
              SVNT *sv)
    : session_context (home, c, sv),
      servant_ (sv)
  {
  }

  template <typename BASE_CTX,
            typename SVNT,
            typename COMP,
            typename COMP_VAR>
  Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP, COMP_VAR>::
       ~Upgradeable_Context_Impl (void)
  {
  }

  template <typename BASE_CTX,
            typename SVNT,
            typename COMP,
            typename COMP_VAR>
  void
  Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP, COMP_VAR>::deactivate_facet (
      const PortableServer::ObjectId &oid
    )
    ACE_THROW_SPEC ((CORBA::SystemException))
  {
    /*
    PortableServer::ObjectId_var oid =
        PortableServer::string_to_ObjectId (obj_id);
    */

    this->container_->deactivate_facet (oid);
  }

  template <typename BASE_CTX,
            typename SVNT,
            typename COMP,
            typename COMP_VAR>
  void
  Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP, COMP_VAR>::
     remove_facet (
           CORBA::Object_ptr reference)
    ACE_THROW_SPEC ((CORBA::SystemException))
  {
    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,
            typename COMP_VAR>
  void
  Upgradeable_Context_Impl<BASE_CTX, SVNT, COMP, COMP_VAR>::
     update_port_activator (
           const PortableServer::ObjectId &oid)
    ACE_THROW_SPEC ((CORBA::SystemException))
  {
    /*
    PortableServer::ObjectId_var oid =
        PortableServer::string_to_ObjectId (obj_id);
    */

    CIAO::Servant_Activator *sa =
        this->container_->ports_servant_activator ();
    sa->update_port_activator (oid);
  }

}

#endif /* CIAO_UPGRADEABLE_CONTEXT_IMPL_T_C */