summaryrefslogtreecommitdiff
path: root/TAO/tao/ORB.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/ORB.cpp')
-rw-r--r--TAO/tao/ORB.cpp78
1 files changed, 78 insertions, 0 deletions
diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp
index 4a40e75a770..72e284e9cba 100644
--- a/TAO/tao/ORB.cpp
+++ b/TAO/tao/ORB.cpp
@@ -872,6 +872,84 @@ CORBA::ORB::create_local_interface_tc (
ACE_ENV_ARG_PARAMETER);
}
+CORBA::TypeCode_ptr
+CORBA::ORB::create_component_tc (
+ const char *id,
+ const char *name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_TypeCodeFactory_Adapter *adapter =
+ ACE_Dynamic_Service<TAO_TypeCodeFactory_Adapter>::instance (
+ TAO_ORB_Core::typecodefactory_adapter_name ()
+ );
+
+ if (adapter == 0)
+ {
+ ACE_THROW_RETURN (CORBA::INTERNAL (),
+ CORBA::TypeCode::_nil ());
+ }
+
+ return adapter->create_component_tc (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+CORBA::ORB::create_home_tc (
+ const char *id,
+ const char *name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_TypeCodeFactory_Adapter *adapter =
+ ACE_Dynamic_Service<TAO_TypeCodeFactory_Adapter>::instance (
+ TAO_ORB_Core::typecodefactory_adapter_name ()
+ );
+
+ if (adapter == 0)
+ {
+ ACE_THROW_RETURN (CORBA::INTERNAL (),
+ CORBA::TypeCode::_nil ());
+ }
+
+ return adapter->create_home_tc (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+CORBA::ORB::create_event_tc (
+ const char *id,
+ const char *name,
+ CORBA::ValueModifier type_modifier,
+ CORBA::TypeCode_ptr concrete_base,
+ const CORBA::ValueMemberSeq &members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_TypeCodeFactory_Adapter *adapter =
+ ACE_Dynamic_Service<TAO_TypeCodeFactory_Adapter>::instance (
+ TAO_ORB_Core::typecodefactory_adapter_name ()
+ );
+
+ if (adapter == 0)
+ {
+ ACE_THROW_RETURN (CORBA::INTERNAL (),
+ CORBA::TypeCode::_nil ());
+ }
+
+ return adapter->create_event_tc (id,
+ name,
+ type_modifier,
+ concrete_base,
+ members
+ ACE_ENV_ARG_PARAMETER);
+}
+
// ****************************************************************
#endif /* TAO_HAS_MINIMUM_CORBA */