diff options
author | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-22 20:53:09 +0000 |
---|---|---|
committer | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-22 20:53:09 +0000 |
commit | 44b81cd111b358fa4d8ee055f719d8824679efd1 (patch) | |
tree | b325bb726be5c711dfe09e642820f85ea7c01e02 /TAO/tao/Object.cpp | |
parent | cc6af3602c9ebafccde48c64ce53e26f19eb5e4c (diff) | |
download | ATCD-44b81cd111b358fa4d8ee055f719d8824679efd1.tar.gz |
ChangeLogTag:Tue Apr 22 14:58:33 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/tao/Object.cpp')
-rw-r--r-- | TAO/tao/Object.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp index 75d6092ed08..014b0120065 100644 --- a/TAO/tao/Object.cpp +++ b/TAO/tao/Object.cpp @@ -108,6 +108,34 @@ if (!this->is_evaluated_) \ CORBA::Object::tao_object_initialize (this); \ } +CORBA::Object_ptr +CORBA::Object::_unchecked_narrow (CORBA::Object_ptr obj + ACE_ENV_ARG_DECL_NOT_USED) +{ + if (CORBA::is_nil (obj)) + { + return CORBA::Object::_nil (); + } + + if (obj->is_local_) + { + return + ACE_reinterpret_cast ( + CORBA::Object_ptr, + obj->_tao_QueryInterface ( + ACE_reinterpret_cast ( + ptr_arith_t, + &CORBA::Object::_tao_class_id + ) + ) + ); + } + else + { + return CORBA::Object::_duplicate (obj); + } +} + void CORBA::Object::_add_ref (void) { @@ -950,9 +978,13 @@ TAO_Object_Proxy_Broker * (*_TAO_collocation_Object_Proxy_Broker_Factory_functio #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class TAO_Object_Manager<CORBA::Object, CORBA::Object_var>; +template class TAO_Pseudo_Var_T<CORBA::Object>; +template class TAO_Pseudo_Out_T<CORBA::Object, CORBA::Object_var>; #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) #pragma instantiate TAO_Object_Manager<CORBA::Object, CORBA::Object_var> +#pragma instantiate TAO_Pseudo_Var_T<CORBA::Object> +#pragma instantiate TAO_Pseudo_Out_T<CORBA::Object, CORBA::Object_var> #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |