summaryrefslogtreecommitdiff
path: root/TAO/tao/ORBInitInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/ORBInitInfo.cpp')
-rw-r--r--TAO/tao/ORBInitInfo.cpp30
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 */
}