blob: 9283d6c56e6fb53fbe528da9614c6d0a79b23f4b (
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
|
// -*- C++ -*-
//
// $Id$
ACE_INLINE u_long
TAO_Servant_Hash::operator () (PortableServer::Servant servant) const
{
return static_cast<u_long> (reinterpret_cast<ptrdiff_t> (servant));
}
ACE_INLINE TAO_Stub *
TAO_Local_ServantBase::_create_stub (ACE_ENV_SINGLE_ARG_DECL)
{
#if 0
PortableServer::ObjectId_var invalid_oid =
PortableServer::string_to_ObjectId ("invalid");
TAO::ObjectKey tmp_key (invalid_oid->length (),
invalid_oid->length (),
invalid_oid->get_buffer (),
0);
// It is ok to use TAO_ORB_Core_instance here since the locality
// constrained servant does not really register with a POA or get
// exported remotely.
//
// The correct thing to do is to probably use ORB of the default
// POA. The unfortunate part is that calling default_POA() requires
// the creation of a local stub, hence causing a infinite loop.
return
TAO_ORB_Core_instance ()->orb ()->create_stub_object (
tmp_key,
this->_interface_repository_id ()
ACE_ENV_ARG_PARAMETER);
#else
return 0;
#endif
}
|