summaryrefslogtreecommitdiff
path: root/TAO/tao/Dynamic_Adapter.cpp
blob: 768ab931e5ce0a84acaf9a44b61f514698c7ba86 (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
93
94
// @(#) $Id$

#include "tao/Dynamic_Adapter.h"
#include "tao/ORB_Core.h"
#include "ace/Dynamic_Service.h"

ACE_RCSID(tao, Dynamic_Adapter, "$Id$")

TAO_Dynamic_Adapter::~TAO_Dynamic_Adapter (void)
{
}

// ***********************************************************************

// Implementation of the CORBA::is_nil and CORBA::release methods for
// Context, Request, and ServerRequest.

CORBA::Boolean
CORBA::is_nil (CORBA::Context_ptr ctx)
{
  TAO_Dynamic_Adapter *dynamic_adapter =
    ACE_Dynamic_Service<TAO_Dynamic_Adapter>::instance (
              TAO_ORB_Core::dynamic_adapter_name ()
      );

  return dynamic_adapter->context_is_nil (ctx);
}

CORBA::Boolean
CORBA::is_nil (CORBA::Request_ptr req)
{
  TAO_Dynamic_Adapter *dynamic_adapter =
    ACE_Dynamic_Service<TAO_Dynamic_Adapter>::instance (
        TAO_ORB_Core::dynamic_adapter_name ()
      );

  return dynamic_adapter->request_is_nil (req);
}

CORBA::Boolean
CORBA::is_nil (CORBA::ServerRequest_ptr req)
{
  TAO_Dynamic_Adapter *dynamic_adapter =
    ACE_Dynamic_Service<TAO_Dynamic_Adapter>::instance (
        TAO_ORB_Core::dynamic_adapter_name ()
      );

  return dynamic_adapter->server_request_is_nil (req);
}

void
CORBA::release (CORBA::Context_ptr ctx)
{
  TAO_Dynamic_Adapter *dynamic_adapter =
    ACE_Dynamic_Service<TAO_Dynamic_Adapter>::instance (
        TAO_ORB_Core::dynamic_adapter_name ()
      );

  dynamic_adapter->context_release (ctx);
}

void
CORBA::release (CORBA::Request_ptr req)
{
  TAO_Dynamic_Adapter *dynamic_adapter =
    ACE_Dynamic_Service<TAO_Dynamic_Adapter>::instance (
        TAO_ORB_Core::dynamic_adapter_name ()
      );

  dynamic_adapter->request_release (req);
}

void
CORBA::release (CORBA::ServerRequest_ptr req)
{
  TAO_Dynamic_Adapter *dynamic_adapter =
    ACE_Dynamic_Service<TAO_Dynamic_Adapter>::instance (
        TAO_ORB_Core::dynamic_adapter_name ()
      );

  dynamic_adapter->server_request_release (req);
}

#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)

template class ACE_Dynamic_Service<TAO_Dynamic_Adapter>;

#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)

#pragma instantiate ACE_Dynamic_Service<TAO_Dynamic_Adapter>

#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */