diff options
Diffstat (limited to 'TAO/tao/WrongTransactionC.cpp')
-rw-r--r-- | TAO/tao/WrongTransactionC.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/TAO/tao/WrongTransactionC.cpp b/TAO/tao/WrongTransactionC.cpp index f34fe86e722..3ca279cf001 100644 --- a/TAO/tao/WrongTransactionC.cpp +++ b/TAO/tao/WrongTransactionC.cpp @@ -33,6 +33,8 @@ #include "tao/CDR.h" #include "tao/SystemException.h" #include "ace/OS_NS_string.h" +#include "tao/AnyTypeCode_Adapter.h" +#include "ace/Dynamic_Service.h" #if defined (__BORLANDC__) #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig @@ -149,9 +151,20 @@ void CORBA::WrongTransaction::_tao_decode ( // TAO extension - the virtual _type method. CORBA::TypeCode_ptr CORBA::WrongTransaction::_tao_type (void) const { - // @todo - //return ::CORBA::_tc_WrongTransaction; - return 0; + TAO_AnyTypeCode_Adapter *adapter = + ACE_Dynamic_Service<TAO_AnyTypeCode_Adapter>::instance ( + "AnyTypeCode_Adapter" + ); + if (adapter != 0) + return adapter->_tao_type_WrongTransaction (); + else + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("(%P|%t) %p\n"), + ACE_TEXT ("Unable to find the ") + ACE_TEXT ("AnyTypeCode Adapter instance"))); + return 0; + } } // TAO_IDL - Generated from |