summaryrefslogtreecommitdiff
path: root/TAO/tao/Object.cpp
diff options
context:
space:
mode:
authorbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-22 20:53:09 +0000
committerbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-22 20:53:09 +0000
commit44b81cd111b358fa4d8ee055f719d8824679efd1 (patch)
treeb325bb726be5c711dfe09e642820f85ea7c01e02 /TAO/tao/Object.cpp
parentcc6af3602c9ebafccde48c64ce53e26f19eb5e4c (diff)
downloadATCD-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.cpp32
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 */