diff options
Diffstat (limited to 'TAO/tao/ORBInitInfo.cpp')
-rw-r--r-- | TAO/tao/ORBInitInfo.cpp | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/TAO/tao/ORBInitInfo.cpp b/TAO/tao/ORBInitInfo.cpp index 326a5f1a90c..53986960f1d 100644 --- a/TAO/tao/ORBInitInfo.cpp +++ b/TAO/tao/ORBInitInfo.cpp @@ -5,8 +5,11 @@ #include "ORBInitInfo.h" #include "ORB_Core.h" #include "StringSeqC.h" +#include "CodecFactory.h" -ACE_RCSID(tao, ORBInitInfo, "$Id$") +ACE_RCSID (TAO, + ORBInitInfo, + "$Id$") TAO_ORBInitInfo::TAO_ORBInitInfo (TAO_ORB_Core *orb_core, @@ -14,7 +17,8 @@ TAO_ORBInitInfo::TAO_ORBInitInfo (TAO_ORB_Core *orb_core, char *argv[]) : orb_core_ (orb_core), argc_ (argc), - argv_ (argv) + argv_ (argv), + codec_factory_ () { } @@ -65,6 +69,16 @@ TAO_ORBInitInfo::orb_id (CORBA::Environment &ACE_TRY_ENV) return CORBA::string_dup (this->orb_core_->orbid ()); } +IOP::CodecFactory_ptr +TAO_ORBInitInfo::codec_factory (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + this->check_validity (ACE_TRY_ENV); + ACE_CHECK_RETURN (IOP::CodecFactory::_nil ()); + + return &(this->codec_factory_); +} + void TAO_ORBInitInfo::register_initial_reference ( const char * id, @@ -136,7 +150,11 @@ TAO_ORBInitInfo::add_client_request_interceptor ( ACE_TRY_ENV); #else ACE_UNUSED_ARG (interceptor); - ACE_THROW (CORBA::NO_IMPLEMENT ()); + ACE_THROW (CORBA::NO_IMPLEMENT ( + CORBA_SystemException::_tao_minor_code ( + TAO_DEFAULT_MINOR_CODE, + ENOTSUP), + CORBA::COMPLETED_NO)); #endif /* TAO_HAS_INTERCEPTORS == 1 */ } @@ -156,7 +174,11 @@ TAO_ORBInitInfo::add_server_request_interceptor ( #else ACE_UNUSED_ARG (interceptor); - ACE_THROW (CORBA::NO_IMPLEMENT ()); + ACE_THROW (CORBA::NO_IMPLEMENT ( + CORBA_SystemException::_tao_minor_code ( + TAO_DEFAULT_MINOR_CODE, + ENOTSUP), + CORBA::COMPLETED_NO)); #endif /* TAO_HAS_INTERCEPTORS == 1 */ } |