summaryrefslogtreecommitdiff
path: root/TAO/tao/GIOP_Server_Request.i
blob: c52b5d333a147bfbc1fc1c133a39baf3f99a9494 (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
// -*- C++ -*-
// $Id$

// @@ TODO TAO allocates its ServerRequest objects from the stack,
// using reference counting wouldn't help much.  Using a _clone()
// method would make the following methods really easy to implement,
// but that's hard to implement for the extremely optimized
// TAO_GIOP_ServerRequest.
// Another solution would be to modify the class hierarchy, make
// ServerRequest the "slow" version (with copies for each field) and
// TAO_GIOP_ServerRequest the "fast" version (with no copies at all). The
// first would be use for DII and the later for SII.

ACE_INLINE TAO_InputCDR &
TAO_GIOP_ServerRequest::incoming (void)
{
  return *this->incoming_;
}

ACE_INLINE TAO_OutputCDR &
TAO_GIOP_ServerRequest::outgoing (void)
{
  return *this->outgoing_;
}

// Invocation attributes.

ACE_INLINE const char *
TAO_GIOP_ServerRequest::operation (void) const
{
  return this->operation_.c_str ();
}

ACE_INLINE void
TAO_GIOP_ServerRequest::operation (ACE_CString &operation)
{
  this->operation_ = operation;
}
// get the length of the operation name.
ACE_INLINE unsigned int
TAO_GIOP_ServerRequest::operation_length (void) const
{
  return this->operation_.length ();
}

#if 0
//@@ (TAO) to do after Context is implemented
ACE_INLINE CORBA::Context_ptr
TAO_GIOP_ServerRequest::ctx (void)
{
  return 0;
}
#endif

ACE_INLINE CORBA::Boolean
TAO_GIOP_ServerRequest::response_expected (void) const
{
  return this->response_expected_;
}

ACE_INLINE void
TAO_GIOP_ServerRequest::
response_expected (CORBA::Boolean response)
{
  this->response_expected_ = response;
}

ACE_INLINE CORBA::Boolean
TAO_GIOP_ServerRequest::sync_with_server (void) const
{
  return this->sync_with_server_;
}

ACE_INLINE void
TAO_GIOP_ServerRequest::sync_with_server (CORBA::Boolean sync_flag)
{
  this->sync_with_server_ = sync_flag;
}

ACE_INLINE void
TAO_GIOP_ServerRequest::_tao_lazy_evaluation (int lazy_evaluation)
{
  this->lazy_evaluation_ = lazy_evaluation;
}

ACE_INLINE CORBA::Principal_ptr
TAO_GIOP_ServerRequest::principal (void) const
{
  return this->requesting_principal_.ptr ();
}

ACE_INLINE TAO_ObjectKey &
TAO_GIOP_ServerRequest::object_key (void)
{
  return this->object_key_;
}

ACE_INLINE CORBA::Object_ptr
TAO_GIOP_ServerRequest::objref (CORBA_Environment &ACE_TRY_ENV)
{
  return this->orb ()->key_to_object (this->object_key_,
                                      0,
                                      0,
                                      1,
                                      ACE_TRY_ENV);
}

ACE_INLINE IOP::ServiceContextList &
TAO_GIOP_ServerRequest::service_info (void)
{
  return this->service_info_;
}

ACE_INLINE void
TAO_GIOP_ServerRequest::
service_info (IOP::ServiceContextList &service_info)
{
  this->service_info_ = service_info;
}

ACE_INLINE CORBA::ULong
TAO_GIOP_ServerRequest::request_id (void)
{
  return this->request_id_;
}

ACE_INLINE void
TAO_GIOP_ServerRequest::request_id (CORBA::ULong req)
{
  this->request_id_ = req;
}

ACE_INLINE void
TAO_GIOP_ServerRequest::requesting_principal (CORBA_Principal_ptr
                                              principal)
{
  this->requesting_principal_ = principal;
}

//ACE_INLINE void
//TAO_GIOP_ServerRequest::header_length (size_t len)
//{
//  this->header_len_ = len;
//}
//
//ACE_INLINE void
//TAO_GIOP_ServerRequest::message_size_offset (size_t len)
//{
//  this->message_size_offset_ = len;
//}