summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/IFR_Service
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-06 17:42:57 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-06 17:42:57 +0000
commit6c11f7ee1807e220d118b6e29b4acfffbec968f7 (patch)
treee7c027a1d0a638b28c8410a7c2512d492e2f2036 /TAO/orbsvcs/IFR_Service
parent0be890ba2ed7e6ff03b993012dea234b5494ad7b (diff)
downloadATCD-6c11f7ee1807e220d118b6e29b4acfffbec968f7.tar.gz
New IFR implementation files.
Diffstat (limited to 'TAO/orbsvcs/IFR_Service')
-rw-r--r--TAO/orbsvcs/IFR_Service/AliasDef_i.cpp122
-rw-r--r--TAO/orbsvcs/IFR_Service/AliasDef_i.h86
-rw-r--r--TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp216
-rw-r--r--TAO/orbsvcs/IFR_Service/ArrayDef_i.h118
-rw-r--r--TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp488
-rw-r--r--TAO/orbsvcs/IFR_Service/AttributeDef_i.h126
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp189
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentDef_i.h193
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp53
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentRepository_i.h83
-rw-r--r--TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp235
-rw-r--r--TAO/orbsvcs/IFR_Service/ConstantDef_i.h104
-rw-r--r--TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp44
-rw-r--r--TAO/orbsvcs/IFR_Service/ConsumesDef_i.h81
-rw-r--r--TAO/orbsvcs/IFR_Service/Contained_i.cpp1089
-rw-r--r--TAO/orbsvcs/IFR_Service/Contained_i.h191
-rw-r--r--TAO/orbsvcs/IFR_Service/Container_i.cpp2275
-rw-r--r--TAO/orbsvcs/IFR_Service/Container_i.h307
-rw-r--r--TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp42
-rw-r--r--TAO/orbsvcs/IFR_Service/EmitsDef_i.h81
-rw-r--r--TAO/orbsvcs/IFR_Service/EnumDef_i.cpp119
-rw-r--r--TAO/orbsvcs/IFR_Service/EnumDef_i.h86
-rw-r--r--TAO/orbsvcs/IFR_Service/EventDef_i.cpp51
-rw-r--r--TAO/orbsvcs/IFR_Service/EventDef_i.h87
-rw-r--r--TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp271
-rw-r--r--TAO/orbsvcs/IFR_Service/ExceptionDef_i.h99
-rw-r--r--TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp44
-rw-r--r--TAO/orbsvcs/IFR_Service/FactoryDef_i.h81
-rw-r--r--TAO/orbsvcs/IFR_Service/FinderDef_i.cpp42
-rw-r--r--TAO/orbsvcs/IFR_Service/FinderDef_i.h81
-rw-r--r--TAO/orbsvcs/IFR_Service/FixedDef_i.cpp73
-rw-r--r--TAO/orbsvcs/IFR_Service/FixedDef_i.h105
-rw-r--r--TAO/orbsvcs/IFR_Service/HomeDef_i.cpp137
-rw-r--r--TAO/orbsvcs/IFR_Service/HomeDef_i.h156
-rw-r--r--TAO/orbsvcs/IFR_Service/IDLType_i.cpp17
-rw-r--r--TAO/orbsvcs/IFR_Service/IDLType_i.h69
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR.dsw15
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_Server.cpp42
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_Service.cpp471
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_Service.dsp466
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_Service.h106
-rw-r--r--TAO/orbsvcs/IFR_Service/IRObject_i.cpp29
-rw-r--r--TAO/orbsvcs/IFR_Service/IRObject_i.h84
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp909
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceDef_i.h182
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceS.cpp33738
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceS.h20461
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceS.i8725
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceS_T.cpp23
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceS_T.h40
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceS_T.i14617
-rw-r--r--TAO/orbsvcs/IFR_Service/Makefile152
-rw-r--r--TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp79
-rw-r--r--TAO/orbsvcs/IFR_Service/ModuleDef_i.h80
-rw-r--r--TAO/orbsvcs/IFR_Service/NativeDef_i.cpp47
-rw-r--r--TAO/orbsvcs/IFR_Service/NativeDef_i.h73
-rw-r--r--TAO/orbsvcs/IFR_Service/OperationDef_i.cpp664
-rw-r--r--TAO/orbsvcs/IFR_Service/OperationDef_i.h154
-rw-r--r--TAO/orbsvcs/IFR_Service/Options.cpp109
-rw-r--r--TAO/orbsvcs/IFR_Service/Options.h75
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp60
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h94
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp107
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h84
-rw-r--r--TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp51
-rw-r--r--TAO/orbsvcs/IFR_Service/ProvidesDef_i.h85
-rw-r--r--TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp44
-rw-r--r--TAO/orbsvcs/IFR_Service/PublishesDef_i.h81
-rw-r--r--TAO/orbsvcs/IFR_Service/README50
-rw-r--r--TAO/orbsvcs/IFR_Service/Repository_i.cpp751
-rw-r--r--TAO/orbsvcs/IFR_Service/Repository_i.h247
-rw-r--r--TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp222
-rw-r--r--TAO/orbsvcs/IFR_Service/SequenceDef_i.h119
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Factory.cpp1365
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Factory.h79
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Locator.cpp65
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Locator.h69
-rw-r--r--TAO/orbsvcs/IFR_Service/StringDef_i.cpp75
-rw-r--r--TAO/orbsvcs/IFR_Service/StringDef_i.h92
-rw-r--r--TAO/orbsvcs/IFR_Service/StructDef_i.cpp227
-rw-r--r--TAO/orbsvcs/IFR_Service/StructDef_i.h94
-rw-r--r--TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp64
-rw-r--r--TAO/orbsvcs/IFR_Service/TypedefDef_i.h68
-rw-r--r--TAO/orbsvcs/IFR_Service/UnionDef_i.cpp394
-rw-r--r--TAO/orbsvcs/IFR_Service/UnionDef_i.h124
-rw-r--r--TAO/orbsvcs/IFR_Service/UsesDef_i.cpp57
-rw-r--r--TAO/orbsvcs/IFR_Service/UsesDef_i.h91
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp124
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h86
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueDef_i.cpp220
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueDef_i.h226
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp83
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h111
-rw-r--r--TAO/orbsvcs/IFR_Service/WstringDef_i.cpp75
-rw-r--r--TAO/orbsvcs/IFR_Service/WstringDef_i.h92
-rw-r--r--TAO/orbsvcs/IFR_Service/concrete_classes.h52
-rw-r--r--TAO/orbsvcs/IFR_Service/tmplinst.cpp159
97 files changed, 95057 insertions, 12 deletions
diff --git a/TAO/orbsvcs/IFR_Service/AliasDef_i.cpp b/TAO/orbsvcs/IFR_Service/AliasDef_i.cpp
new file mode 100644
index 00000000000..d49854d407c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AliasDef_i.cpp
@@ -0,0 +1,122 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "AliasDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, AliasDef_i, "$Id$")
+
+TAO_AliasDef_i::TAO_AliasDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_AliasDef_i::~TAO_AliasDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_AliasDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Alias;
+}
+
+CORBA::TypeCode_ptr
+TAO_AliasDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ ACE_TString original_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "original_type",
+ original_type);
+
+ ACE_Configuration_Section_Key ot_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ original_type,
+ ot_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (ot_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ CORBA::TypeCode_var tc = impl->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_alias_tc (id.c_str (),
+ name.c_str (),
+ tc.in (),
+ ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_AliasDef_i::original_type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString original_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "original_type",
+ original_type);
+
+ ACE_Configuration_Section_Key ot_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ original_type,
+ ot_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (ot_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ original_type.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_AliasDef_i::original_type_def (IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var original_type =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "original_type",
+ original_type.in ());
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/AliasDef_i.h b/TAO/orbsvcs/IFR_Service/AliasDef_i.h
new file mode 100644
index 00000000000..c1167da3afd
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AliasDef_i.h
@@ -0,0 +1,86 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// AliasDef_i.h
+//
+// = DESCRIPTION
+// IR::AliasDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ALIASDEF_I_H
+#define TAO_ALIASDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_AliasDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_AliasDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL typedef that aliases another definition.
+ //
+public:
+ TAO_AliasDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_AliasDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ALIASDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp b/TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp
new file mode 100644
index 00000000000..d30f5b4a1b6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp
@@ -0,0 +1,216 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ArrayDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ArrayDef_i, "$Id$")
+
+TAO_ArrayDef_i::TAO_ArrayDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_ArrayDef_i::~TAO_ArrayDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ArrayDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Array;
+}
+
+void
+TAO_ArrayDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Only if it is (w)string, fixed, array or sequence.
+ this->destroy_element_type (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->arrays_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_ArrayDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var element_typecode =
+ this->element_type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::ULong length = this->length (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_array_tc (
+ length,
+ element_typecode.in (),
+ ACE_TRY_ENV
+ );
+}
+
+CORBA::ULong
+TAO_ArrayDef_i::length (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int length = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "length",
+ length);
+
+ return ACE_static_cast (CORBA::ULong, length);
+}
+
+void
+TAO_ArrayDef_i::length (CORBA::ULong length,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "length",
+ length);
+}
+
+CORBA::TypeCode_ptr
+TAO_ArrayDef_i::element_type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_ArrayDef_i::element_type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ element_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_ArrayDef_i::element_type_def (IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->destroy_element_type (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (element_type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var new_element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "element_path",
+ new_element_path.in ());
+}
+
+void
+TAO_ArrayDef_i::destroy_element_type (
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ switch (def_kind)
+ {
+ // These exist only as our elements, so the type should
+ // be destroyed when we are destroyed or our element type
+ // is mutated.
+ case IR::dk_String:
+ case IR::dk_Wstring:
+ case IR::dk_Fixed:
+ case IR::dk_Array:
+ case IR::dk_Sequence:
+ {
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ impl->destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ default:
+ break;
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ArrayDef_i.h b/TAO/orbsvcs/IFR_Service/ArrayDef_i.h
new file mode 100644
index 00000000000..e955280f767
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ArrayDef_i.h
@@ -0,0 +1,118 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ArrayDef_i.h
+//
+// = DESCRIPTION
+// IR::ArrayDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ARRAYDEF_I_H
+#define TAO_ARRAYDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ArrayDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_ArrayDef_i
+ //
+ // = DESCRIPTION
+ // Represents an IDL array type.
+ //
+public:
+ TAO_ArrayDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ArrayDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::ULong length (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void length (
+ CORBA::ULong length,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ void destroy_element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Destroys an anonymous non-primitive element type.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ARRAYDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp b/TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp
new file mode 100644
index 00000000000..f93921bd5f4
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp
@@ -0,0 +1,488 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "AttributeDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "ExceptionDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, AttributeDef_i, "$Id$")
+
+TAO_AttributeDef_i::TAO_AttributeDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_AttributeDef_i::~TAO_AttributeDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_AttributeDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Attribute;
+}
+
+IR::Contained::Description *
+TAO_AttributeDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= this->make_description (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_AttributeDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (type_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_AttributeDef_i::type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (type_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ type_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ IR::IDLType_var retval = IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return retval._retn ();
+}
+
+void
+TAO_AttributeDef_i::type_def (IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "type_path",
+ type_path.in ());
+}
+
+IR::AttributeMode
+TAO_AttributeDef_i::mode (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int mode = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "mode",
+ mode);
+
+ return ACE_static_cast (IR::AttributeMode, mode);
+}
+
+void
+TAO_AttributeDef_i::mode (IR::AttributeMode mode,
+ CORBA::Environment &A)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "mode",
+ mode);
+}
+
+IR::AttributeDescription
+TAO_AttributeDef_i::make_description (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::AttributeDescription ad;
+
+ ad.name = this->name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ad.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ ad.defined_in = container_id.c_str ();
+
+ ad.version = this->version (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ad.type = this->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ad.mode = this->mode (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+ int index = 0;
+ int status;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString field_name;
+ CORBA::ULong i = 0;
+
+ // 'get' exceptions
+
+ ACE_Configuration_Section_Key get_excepts_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "get_excepts",
+ 0,
+ get_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_values (get_excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString get_except_path;
+ this->repo_->config ()->get_string_value (get_excepts_key,
+ field_name.c_str (),
+ get_except_path);
+
+ ACE_Configuration_Section_Key get_except_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ get_except_path,
+ get_except_key,
+ 0);
+
+ key_queue.enqueue_tail (get_except_key);
+ ++index;
+ }
+ }
+
+ IR::ExcDescriptionSeq get_ed_seq (index);
+ get_ed_seq.length (index);
+
+ for (i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ IR::ExceptionDescription get_ed;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (key,
+ "name",
+ name);
+
+ get_ed.name = name.c_str ();
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (key,
+ "id",
+ id);
+
+ get_ed.id = id.c_str ();
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (key,
+ "container_id",
+ container_id);
+
+ get_ed.defined_in = container_id.c_str ();
+
+ ACE_TString version;
+ this->repo_->config ()->get_string_value (key,
+ "version",
+ version);
+
+ get_ed.version = version.c_str ();
+
+ TAO_ExceptionDef_i impl (this->repo_,
+ key);
+
+ get_ed.type = impl.type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ get_ed_seq[i] = get_ed;
+ }
+
+ ad.get_exceptions = get_ed_seq;
+ index = 0;
+
+ // 'put' exceptions
+
+ ACE_Configuration_Section_Key put_excepts_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "put_excepts",
+ 0,
+ put_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_values (put_excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString put_except_path;
+ this->repo_->config ()->get_string_value (put_excepts_key,
+ field_name.c_str (),
+ put_except_path);
+
+ ACE_Configuration_Section_Key put_except_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ put_except_path,
+ put_except_key,
+ 0);
+
+ key_queue.enqueue_tail (put_except_key);
+ ++index;
+ }
+ }
+
+ IR::ExcDescriptionSeq put_ed_seq (index);
+ put_ed_seq.length (index);
+
+ for (i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ IR::ExceptionDescription put_ed;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (key,
+ "name",
+ name);
+
+ put_ed.name = name.c_str ();
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (key,
+ "id",
+ id);
+
+ put_ed.id = id.c_str ();
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (key,
+ "container_id",
+ container_id);
+
+ put_ed.defined_in = container_id.c_str ();
+
+ ACE_TString version;
+ this->repo_->config ()->get_string_value (key,
+ "version",
+ version);
+
+ put_ed.version = version.c_str ();
+
+ TAO_ExceptionDef_i impl (this->repo_,
+ key);
+
+ put_ed.type = impl.type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ put_ed_seq[i] = put_ed;
+ }
+
+ ad.put_exceptions = put_ed_seq;
+
+ return ad;
+}
+
+IR::ExceptionDefSeq *
+TAO_AttributeDef_i::get_exceptions (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ int index = 0;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString field_name;
+
+ ACE_Configuration_Section_Key get_excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "get_excepts",
+ 0,
+ get_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_values (get_excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString get_except_path;
+ this->repo_->config ()->get_string_value (get_excepts_key,
+ field_name.c_str (),
+ get_except_path);
+
+ path_queue.enqueue_tail (get_except_path);
+ ++index;
+ }
+ }
+
+ IR::ExceptionDefSeq *get_ed_seq = 0;
+ ACE_NEW_THROW_EX (get_ed_seq,
+ IR::ExceptionDefSeq (index),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ get_ed_seq->length (index);
+
+ IR::ExceptionDefSeq_var retval = get_ed_seq;
+
+ for (CORBA::ULong i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Exception,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = IR::ExceptionDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+IR::ExceptionDefSeq *
+TAO_AttributeDef_i::put_exceptions (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ int index = 0;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString field_name;
+
+ ACE_Configuration_Section_Key put_excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "put_excepts",
+ 0,
+ put_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_values (put_excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString put_except_path;
+ this->repo_->config ()->get_string_value (put_excepts_key,
+ field_name.c_str (),
+ put_except_path);
+
+ path_queue.enqueue_tail (put_except_path);
+ ++index;
+ }
+ }
+
+ IR::ExceptionDefSeq *put_ed_seq = 0;
+ ACE_NEW_THROW_EX (put_ed_seq,
+ IR::ExceptionDefSeq (index),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ put_ed_seq->length (index);
+
+ IR::ExceptionDefSeq_var retval = put_ed_seq;
+
+ for (CORBA::ULong i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Exception,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = IR::ExceptionDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/AttributeDef_i.h b/TAO/orbsvcs/IFR_Service/AttributeDef_i.h
new file mode 100644
index 00000000000..9510c4cdd5d
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AttributeDef_i.h
@@ -0,0 +1,126 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// AttributeDef_i.h
+//
+// = DESCRIPTION
+// IR::AttributeDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ATTRIBUTEDEF_I_H
+#define TAO_ATTRIBUTEDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_AttributeDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_AttributeDef_i
+ //
+ // = DESCRIPTION
+ // Represents the information that describes an attribute
+ // of an interface.
+ //
+public:
+ TAO_AttributeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_AttributeDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::AttributeMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void mode (
+ IR::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::AttributeDescription make_description (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Common code for InterfaceDef to call in
+ // making its own description.
+
+ // These two are called by Contained::move().
+ IR::ExceptionDefSeq *get_exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ExceptionDefSeq *put_exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ATTRIBUTEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp b/TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp
new file mode 100644
index 00000000000..7cdddfd4cdc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp
@@ -0,0 +1,189 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ComponentDef_i.h"
+
+ACE_RCSID(IFR_Service, ComponentDef_i, "$Id$")
+
+TAO_ComponentDef_i::TAO_ComponentDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_InterfaceDef_i (repo, section_key)
+{
+}
+
+TAO_ComponentDef_i::~TAO_ComponentDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ComponentDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Component;
+}
+
+void
+TAO_ComponentDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_ComponentDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_ComponentDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::InterfaceDefSeq *
+TAO_ComponentDef_i::supported_interfaces (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ComponentDef_i::supported_interfaces (
+ const IR::InterfaceDefSeq &supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::ComponentDef_ptr
+TAO_ComponentDef_i::base_component (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ProvidesDefSeq *
+TAO_ComponentDef_i::provides_interfaces (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::UsesDefSeq *
+TAO_ComponentDef_i::uses_interfaces (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::EmitsDefSeq *
+TAO_ComponentDef_i::emits_events (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PublishesDefSeq *
+TAO_ComponentDef_i::publishes_events (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ConsumesDefSeq *
+TAO_ComponentDef_i::consumes_events (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_ComponentDef_i::is_basic (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ProvidesDef_ptr
+TAO_ComponentDef_i::create_provides (const char *id,
+ const char *name,
+ const char *version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::UsesDef_ptr
+TAO_ComponentDef_i::create_uses (const char *id,
+ const char *name,
+ const char *version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::EmitsDef_ptr
+TAO_ComponentDef_i::create_emits (const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PublishesDef_ptr
+TAO_ComponentDef_i::create_publishes (const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ConsumesDef_ptr
+TAO_ComponentDef_i::create_consumes (const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentDef_i.h b/TAO/orbsvcs/IFR_Service/ComponentDef_i.h
new file mode 100644
index 00000000000..4496043393f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentDef_i.h
@@ -0,0 +1,193 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ComponentDef_i.h
+//
+// = DESCRIPTION
+// IR::ComponentDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_COMPONENTDEF_I_H
+#define TAO_COMPONENTDEF_I_H
+
+#include "InterfaceDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ComponentDef_i : public virtual TAO_InterfaceDef_i
+{
+ // = TITLE
+ // TAO_ComponentDef_i
+ //
+ // = DESCRIPTION
+ // Represents a component definition.
+ //
+public:
+ TAO_ComponentDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ComponentDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::InterfaceDefSeq *supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void supported_interfaces (
+ const IR::InterfaceDefSeq &supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ComponentDef_ptr base_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ProvidesDefSeq *provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::UsesDefSeq *uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::EmitsDefSeq *emits_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PublishesDefSeq *publishes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ConsumesDefSeq *consumes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ProvidesDef_ptr create_provides (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::UsesDef_ptr create_uses (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::EmitsDef_ptr create_emits (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_COMPONENTDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp
new file mode 100644
index 00000000000..80adc338518
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp
@@ -0,0 +1,53 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ComponentRepository_i.h"
+
+ACE_RCSID(IFR_Service, ComponentRepository_i, "$Id$")
+
+TAO_ComponentRepository_i::TAO_ComponentRepository_i (
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config
+ )
+ : TAO_IRObject_i (0, ACE_Configuration_Section_Key ()),
+ TAO_Container_i (0, ACE_Configuration_Section_Key ()),
+ TAO_Repository_i (orb, poa, config)
+{
+}
+
+TAO_ComponentRepository_i::~TAO_ComponentRepository_i (void)
+{
+}
+
+IR::ComponentDef_ptr
+TAO_ComponentRepository_i::create_component (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::HomeDef_ptr
+TAO_ComponentRepository_i::create_home (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentRepository_i.h b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.h
new file mode 100644
index 00000000000..c84ca69b67c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.h
@@ -0,0 +1,83 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ComponentRepository_i.h
+//
+// = DESCRIPTION
+// IR::ComponentRepository servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_COMPONENTREPOSITORY_I_H
+#define TAO_COMPONENTREPOSITORY_I_H
+
+#include "Repository_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ComponentRepository_i : public TAO_Repository_i
+{
+ // = TITLE
+ // TAO_ComponentRepository_i
+ //
+ // = DESCRIPTION
+ // Provides global access to the Interface Repository,
+ // including access to information related to
+ // CORBA Components.
+ //
+public:
+ TAO_ComponentRepository_i (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config);
+ // Constructor.
+
+ virtual ~TAO_ComponentRepository_i (void);
+ // Destructor.
+
+ virtual IR::ComponentDef_ptr create_component (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::HomeDef_ptr create_home (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_COMPONENTREPOSITORY_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp b/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp
new file mode 100644
index 00000000000..c2b9f814e06
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp
@@ -0,0 +1,235 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ConstantDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ConstantDef_i, "$Id$")
+
+TAO_ConstantDef_i::TAO_ConstantDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ConstantDef_i::~TAO_ConstantDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ConstantDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Constant;
+}
+
+IR::Contained::Description *
+TAO_ConstantDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::ConstantDescription cd;
+
+ cd.name = this->name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ cd.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ cd.defined_in = container_id.c_str ();
+
+ cd.version = this->version (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ cd.type = this->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var val = this->value (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ cd.value = val.in ();
+
+ retval->value <<= cd;
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_ConstantDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (type_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_ConstantDef_i::type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ u_int kind = 0;
+
+ this->repo_->config ()->get_integer_value (type_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ type_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_ConstantDef_i::type_def (IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "type_path",
+ type_path.in ());
+}
+
+CORBA::Any *
+TAO_ConstantDef_i::value (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var tc = this->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ char *data;
+ size_t length = 0;
+
+ this->repo_->config ()->get_binary_value (
+ this->section_key_,
+ "value",
+ ACE_static_cast (void *&,
+ data),
+ length
+ );
+
+ auto_ptr<char> safety (data);
+
+ ACE_Message_Block mb (data,
+ length);
+
+ mb.length (length);
+
+ CORBA::Any *retval = 0;
+ ACE_NEW_THROW_EX (retval,
+ CORBA::Any (tc.in (),
+ 0,
+ TAO_ENCAP_BYTE_ORDER,
+ &mb),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return retval;
+}
+
+void
+TAO_ConstantDef_i::value (const CORBA::Any &value,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var my_tc = this->type (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::TypeCode_var val_tc = value.type ();
+
+ if (!my_tc.in ()->equal (val_tc.in ()))
+ return;
+
+ ACE_Message_Block *mb = value._tao_get_cdr ();
+
+ CORBA::TCKind kind = val_tc->kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ switch (kind)
+ {
+ // The data for these types will be aligned to an 8-byte
+ // boundary, while the rd_ptr may not.
+ case CORBA::tk_double:
+ case CORBA::tk_ulonglong:
+ case CORBA::tk_longlong:
+ case CORBA::tk_longdouble:
+ mb->rd_ptr (ACE_ptr_align_binary (mb->rd_ptr (),
+ ACE_CDR::MAX_ALIGNMENT));
+ break;
+ default:
+ break;
+ }
+
+ mb->crunch ();
+
+ this->repo_->config ()->set_binary_value (this->section_key_,
+ "value",
+ mb->base (),
+ mb->length ());
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ConstantDef_i.h b/TAO/orbsvcs/IFR_Service/ConstantDef_i.h
new file mode 100644
index 00000000000..a7ae6f7e873
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConstantDef_i.h
@@ -0,0 +1,104 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ConstantDef_i.h
+//
+// = DESCRIPTION
+// IR::ConstantDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONSTANTDEF_I_H
+#define TAO_CONSTANTDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ConstantDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ConstantDef_i
+ //
+ // = DESCRIPTION
+ // Represents a named constant.
+ //
+public:
+ TAO_ConstantDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ConstantDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any *value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void value (
+ const CORBA::Any &value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONSTANTDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp
new file mode 100644
index 00000000000..c1851ff49d4
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp
@@ -0,0 +1,44 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ConsumesDef_i.h"
+
+ACE_RCSID(IFR_Service, ConsumesDef_i, "$Id$")
+
+TAO_ConsumesDef_i::TAO_ConsumesDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_EventDef_i (repo, section_key)
+{
+}
+
+TAO_ConsumesDef_i::~TAO_ConsumesDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ConsumesDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Consumes;
+}
+
+void
+TAO_ConsumesDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_ConsumesDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ConsumesDef_i.h b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.h
new file mode 100644
index 00000000000..9b81cc485f1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ConsumesDef_i.h
+//
+// = DESCRIPTION
+// IR::ConsumesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONSUMESDEF_I_H
+#define TAO_CONSUMESDEF_I_H
+
+#include "EventDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ConsumesDef_i : public virtual TAO_EventDef_i
+{
+ // = TITLE
+ // TAO_ConsumesDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of an event that is consumed
+ // by a component.
+ //
+public:
+ TAO_ConsumesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ConsumesDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONSUMESDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Contained_i.cpp b/TAO/orbsvcs/IFR_Service/Contained_i.cpp
new file mode 100644
index 00000000000..2a250fe0347
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Contained_i.cpp
@@ -0,0 +1,1089 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Contained_i.h"
+#include "concrete_classes.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Container_i, "$Id$")
+
+TAO_Contained_i::TAO_Contained_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key)
+{
+}
+
+TAO_Contained_i::~TAO_Contained_i (void)
+{
+}
+
+void
+TAO_Contained_i::destroy (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ // We'll get the last segment of this below.
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ path);
+
+ // Remove the repo id.
+ this->repo_->config ()->remove_value (this->repo_->repo_ids_key (),
+ id.c_str ());
+
+ // Remove the database entry.
+ ACE_TString container_id;
+ ACE_Configuration_Section_Key parent_key;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ {
+ parent_key = this->repo_->root_key ();
+ }
+ else
+ {
+ ACE_TString parent_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ parent_path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ parent_path,
+ parent_key,
+ 0);
+ }
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (parent_key,
+ "defns",
+ 0,
+ defns_key);
+
+ ACE_TString last_seg = path.substr (path.rfind ('\\') + 1);
+ this->repo_->config ()->remove_section (defns_key,
+ last_seg.c_str (),
+ 1);
+}
+
+char *
+TAO_Contained_i::id (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString retval;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ retval);
+
+ return CORBA::string_dup (retval.c_str ());
+}
+
+void
+TAO_Contained_i::id (const char *id,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString tmp;
+ if (this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id,
+ tmp
+ )
+ == 0)
+ {
+ // Repository id already exists.
+ ACE_THROW (CORBA::BAD_PARAM (2, CORBA::COMPLETED_NO));
+
+ return;
+ }
+
+ // Get the old id.
+ ACE_TString old_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ old_id);
+
+ ACE_TString path;
+
+ // Fetch our path.
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ old_id.c_str (),
+ path);
+
+ // Remove the old id.
+ this->repo_->config ()->remove_value (this->repo_->repo_ids_key (),
+ old_id.c_str ());
+
+ // Save our path under the new id.
+ this->repo_->config ()->set_string_value (this->repo_->repo_ids_key (),
+ id,
+ path.c_str ());
+
+ // Store the new id locally as well.
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "id",
+ id);
+}
+
+char *
+TAO_Contained_i::name (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString retval;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ retval);
+
+ return CORBA::string_dup (retval.c_str ());
+}
+
+char *
+TAO_Contained_i::version (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString retval;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "version",
+ retval);
+
+ return CORBA::string_dup (retval.c_str ());
+}
+
+void
+TAO_Contained_i::name (const char *name,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Check if name already exists in this container.
+ CORBA::Boolean exists = this->name_exists (name,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (exists)
+ {
+ ACE_THROW (CORBA::BAD_PARAM (3, CORBA::COMPLETED_NO));
+
+ return;
+ }
+
+ // Reset the local name.
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "name",
+ name);
+
+ // Update the absolute name.
+ ACE_TString absolute_name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ absolute_name = absolute_name.substr (0, absolute_name.rfind (':') + 1);
+ absolute_name += name;
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ this->contents_name_update (absolute_name,
+ this->section_key_);
+}
+
+void
+TAO_Contained_i::version (const char *version,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "version",
+ version);
+}
+
+IR::Container_ptr
+TAO_Contained_i::defined_in (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ // The repository itself it our container.
+ return this->repo_->repo_objref (); // already duplicated.
+
+ ACE_TString container_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ container_path);
+
+ ACE_Configuration_Section_Key container_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path,
+ container_key);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (container_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ container_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::Container::_nil ());
+
+ IR::Container_var retval = IR::Container::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::Container::_nil ());
+
+ return retval._retn ();
+}
+
+char *
+TAO_Contained_i::absolute_name (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString absolute_name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ return CORBA::string_dup (absolute_name.c_str ());
+}
+
+IR::Repository_ptr
+TAO_Contained_i::containing_repository (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->repo_->repo_objref ();
+}
+
+void
+TAO_Contained_i::move (IR::Container_ptr new_container,
+ const char *new_name,
+ const char *new_version,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->move_i (new_container,
+ new_name,
+ new_version,
+ 1,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+CORBA::Boolean
+TAO_Contained_i::name_exists (const char *name,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ {
+ return this->repo_->name_exists (name,
+ ACE_TRY_ENV);
+ }
+
+ ACE_TString container_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ container_path);
+
+ ACE_Configuration_Section_Key container_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path,
+ container_key,
+ 0);
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (container_key,
+ "defns",
+ 0,
+ defns_key);
+
+ ACE_TString section_name;
+ int index = 0;
+
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ ACE_TString defn_name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ defn_name);
+
+ if (defn_name == name)
+ return 1;
+ }
+
+ return 0;
+}
+
+void
+TAO_Contained_i::contents_name_update (ACE_TString stem,
+ ACE_Configuration_Section_Key key)
+{
+ ACE_Configuration_Section_Key defns_key;
+ if (this->repo_->config ()->open_section (key,
+ "defns",
+ 0,
+ defns_key)
+ != 0)
+ {
+ return;
+ }
+
+ int index = 0;
+ ACE_TString sub_section;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ sub_section)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+
+ this->repo_->config ()->open_section (defns_key,
+ sub_section.c_str (),
+ 0,
+ defn_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ name);
+
+ ACE_TString absolute_name = stem + "::" + name;
+ this->repo_->config ()->set_string_value (defn_key,
+ "absolute_name",
+ absolute_name);
+
+ this->contents_name_update (absolute_name,
+ defn_key);
+ }
+}
+
+void
+TAO_Contained_i::move_i (IR::Container_ptr new_container,
+ const char *new_name,
+ const char *new_version,
+ CORBA::Boolean cleanup,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Repository_var my_repo =
+ this->containing_repository (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::DefinitionKind container_dk =
+ new_container->def_kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // Can't move to a different repository.
+ if (container_dk == IR::dk_Repository)
+ {
+ if (my_repo.in () != new_container)
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+
+ return;
+ }
+ }
+ else
+ {
+ IR::Contained_var contained =
+ IR::Contained::_narrow (new_container,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::Repository_var your_repo =
+ contained->containing_repository (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (my_repo.in () != your_repo.in ())
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+
+ return;
+ }
+ }
+
+ IR::DefinitionKind my_dk = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var id = this->id (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // If an exception is thrown, this must be restored.
+ ACE_TString my_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.in (),
+ my_path);
+
+ // Remove the repo id, because the create function will add it
+ // again with a different path value.
+ this->repo_->config ()->remove_value (this->repo_->repo_ids_key (),
+ id.in ());
+
+ ACE_TRY
+ {
+ // Call the appropriate create function.
+ switch (my_dk)
+ {
+ case IR::dk_Enum:
+ {
+ TAO_EnumDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::EnumMemberSeq_var members = impl.members (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (container_dk == IR::dk_Struct
+ || container_dk == IR::dk_Union
+ || container_dk == IR::dk_Exception)
+ {
+ this->move_pre_process (new_container,
+ my_path.c_str (),
+ new_name,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ IR::EnumDef_var new_defn =
+ new_container->create_enum (id.in (),
+ new_name,
+ new_version,
+ members.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ case IR::dk_Alias:
+ {
+ TAO_AliasDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::IDLType_var otype = impl.original_type_def (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ new_container->create_alias (id.in (),
+ new_name,
+ new_version,
+ otype.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ case IR::dk_Native:
+ {
+ new_container->create_native (id.in (),
+ new_name,
+ new_version,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ case IR::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::IDLType_var otype = impl.original_type_def (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ new_container->create_value_box (id.in (),
+ new_name,
+ new_version,
+ otype.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ case IR::dk_Struct:
+ {
+ TAO_StructDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::StructMemberSeq_var members = impl.members (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (container_dk == IR::dk_Struct
+ || container_dk == IR::dk_Union
+ || container_dk == IR::dk_Exception)
+ {
+ this->move_pre_process (new_container,
+ my_path.c_str (),
+ new_name,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ IR::StructDef_var new_defn =
+ new_container->create_struct (id.in (),
+ new_name,
+ new_version,
+ members.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ this->move_contents (new_defn.in (),
+ ACE_TRY_ENV);
+
+ break;
+ }
+ case IR::dk_Union:
+ {
+ TAO_UnionDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::IDLType_var disc_type =
+ impl.discriminator_type_def (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::UnionMemberSeq_var members = impl.members (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (container_dk == IR::dk_Struct
+ || container_dk == IR::dk_Union
+ || container_dk == IR::dk_Exception)
+ {
+ this->move_pre_process (new_container,
+ my_path.c_str (),
+ new_name,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ IR::UnionDef_var new_defn =
+ new_container->create_union (id.in (),
+ new_name,
+ new_version,
+ disc_type.in (),
+ members.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ this->move_contents (new_defn.in (),
+ ACE_TRY_ENV);
+
+ break;
+ }
+ case IR::dk_Module:
+ {
+ IR::ModuleDef_var new_defn =
+ new_container->create_module (id.in (),
+ new_name,
+ new_version,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ this->move_contents (new_defn.in (),
+ ACE_TRY_ENV);
+
+ break;
+ }
+ case IR::dk_Exception:
+ {
+ TAO_ExceptionDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::StructMemberSeq_var members = impl.members (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::ExceptionDef_var new_defn =
+ new_container->create_exception (id.in (),
+ new_name,
+ new_version,
+ members.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ this->move_contents (new_defn.in (),
+ ACE_TRY_ENV);
+
+ break;
+ }
+ case IR::dk_Interface:
+ {
+ TAO_InterfaceDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::InterfaceDefSeq_var bases = impl.base_interfaces (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::Boolean is_abstract = impl.is_abstract (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::Boolean is_local = impl.is_local (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::InterfaceDef_var new_defn =
+ new_container->create_interface (id.in (),
+ new_name,
+ new_version,
+ bases.in (),
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ this->move_contents (new_defn.in (),
+ ACE_TRY_ENV);
+
+ break;
+ }
+ case IR::dk_Constant:
+ {
+ TAO_ConstantDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::IDLType_var type_def = impl.type_def (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::Any_var value = impl.value (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ new_container->create_constant (id.in (),
+ new_name,
+ new_version,
+ type_def.in (),
+ value.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ case IR::dk_Attribute:
+ {
+ TAO_AttributeDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::IDLType_var type_def = impl.type_def (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::AttributeMode mode = impl.mode (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::ExceptionDefSeq_var get_excepts =
+ impl.get_exceptions (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::ExceptionDefSeq_var put_excepts =
+ impl.put_exceptions (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (container_dk == IR::dk_Interface)
+ {
+ IR::InterfaceDef_var idef =
+ IR::InterfaceDef::_narrow (new_container,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ idef->create_attribute (id.in (),
+ new_name,
+ new_version,
+ type_def.in (),
+ mode,
+ get_excepts.in (),
+ put_excepts.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ else if (container_dk == IR::dk_Value)
+ {
+ IR::ValueDef_var vdef =
+ IR::ValueDef::_narrow (new_container,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ vdef->create_attribute (id.in (),
+ new_name,
+ new_version,
+ type_def.in (),
+ mode,
+ get_excepts.in (),
+ put_excepts.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ else
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+ return;
+ }
+ }
+ case IR::dk_Operation:
+ {
+ TAO_OperationDef_i impl (this->repo_,
+ this->section_key_);
+
+ IR::IDLType_var result = impl.result_def (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::OperationMode mode = impl.mode (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::ParDescriptionSeq_var params = impl.params (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::ExceptionDefSeq_var exceptions = impl.exceptions (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ IR::ContextIdSeq_var contexts = impl.contexts (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (container_dk == IR::dk_Interface)
+ {
+ IR::InterfaceDef_var idef =
+ IR::InterfaceDef::_narrow (new_container,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ idef->create_operation (id.in (),
+ new_name,
+ new_version,
+ result.in (),
+ mode,
+ params.in (),
+ exceptions.in (),
+ contexts.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ else if (container_dk == IR::dk_Value)
+ {
+ IR::ValueDef_var vdef =
+ IR::ValueDef::_narrow (new_container,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ vdef->create_operation (id.in (),
+ new_name,
+ new_version,
+ result.in (),
+ mode,
+ params.in (),
+ exceptions.in (),
+ contexts.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ }
+ else
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+ return;
+ }
+ }
+ case IR::dk_Value:
+ case IR::dk_Home:
+ case IR::dk_Component:
+ case IR::dk_Factory:
+ case IR::dk_Finder:
+ case IR::dk_PrimaryKey:
+ case IR::dk_Provides:
+ case IR::dk_Uses:
+ case IR::dk_Emits:
+ case IR::dk_Publishes:
+ case IR::dk_Consumes:
+ case IR::dk_ValueMember:
+ // TODO
+ default:
+ break;
+ }
+ }
+ ACE_CATCHANY
+ {
+ // If the move was not successful, we must restore this.
+ this->repo_->config ()->set_string_value (
+ this->repo_->repo_ids_key (),
+ id.in (),
+ my_path.c_str ()
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+
+ if (cleanup)
+ {
+ // Remove the old database entry.
+ ACE_TString container_id;
+ ACE_Configuration_Section_Key parent_key;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ {
+ parent_key = this->repo_->root_key ();
+ }
+ else
+ {
+ ACE_TString parent_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ parent_path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ parent_path,
+ parent_key,
+ 0);
+ }
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (parent_key,
+ "defns",
+ 0,
+ defns_key);
+
+ ACE_TString last_seg = my_path.substr (my_path.rfind ('\\') + 1);
+ this->repo_->config ()->remove_section (defns_key,
+ last_seg.c_str (),
+ 1);
+ }
+}
+
+void
+TAO_Contained_i::move_pre_process (IR::Container_ptr container,
+ const char *contained_path,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var container_oid =
+ this->repo_->ir_poa ()->reference_to_id (container,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var container_path =
+ PortableServer::ObjectId_to_string (container_oid.in ());
+
+ ACE_Configuration_Section_Key container_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path.in (),
+ container_key,
+ 0);
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (container_key,
+ "refs",
+ 0,
+ refs_key);
+
+ int index = 0;
+ ACE_TString section_name;
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key ref_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ ref_key);
+
+ ACE_TString ref_name;
+ this->repo_->config ()->get_string_value (ref_key,
+ "name",
+ ref_name);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (ref_key,
+ "path",
+ path);
+
+ if (ref_name == name && path == contained_path)
+ {
+ ref_name += this->repo_->extension ();
+ this->repo_->config ()->set_string_value (ref_key,
+ "name",
+ ref_name);
+
+ break;
+ }
+ }
+}
+
+void
+TAO_Contained_i::move_contents (IR::Container_ptr new_container,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString name;
+ ACE_TString version;
+
+ ACE_Configuration_Section_Key defns_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ if (status == 0)
+ {
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (defns_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ status =
+ this->repo_->config ()->open_section (defns_key,
+ section_name.in (),
+ 0,
+ defn_key);
+
+ if (status == 0)
+ {
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ name);
+
+ this->repo_->config ()->get_string_value (defn_key,
+ "version",
+ version);
+
+ TAO_Contained_i *impl =
+ this->repo_->servant_factory ()->create_contained (
+ defn_key,
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+
+ auto_ptr<TAO_Contained_i> safety (impl);
+
+ impl->move_i (new_container,
+ name.c_str (),
+ version.c_str (),
+ 0,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+ }
+ }
+
+ IR::DefinitionKind kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (kind == IR::dk_Interface || kind == IR::dk_Value)
+ {
+ int index = 0;
+ ACE_TString section_name;
+
+ ACE_Configuration_Section_Key attrs_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ attrs_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (attrs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key attr_key;
+ this->repo_->config ()->open_section (attrs_key,
+ section_name.c_str (),
+ 0,
+ attr_key);
+
+ this->repo_->config ()->get_string_value (attr_key,
+ "name",
+ name);
+
+ this->repo_->config ()->get_string_value (attr_key,
+ "version",
+ version);
+
+ TAO_AttributeDef_i impl (this->repo_,
+ attr_key);
+
+ impl.move_i (new_container,
+ name.c_str (),
+ version.c_str (),
+ 0,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+ }
+
+ index = 0;
+
+ ACE_Configuration_Section_Key ops_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ ops_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (ops_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key op_key;
+ this->repo_->config ()->open_section (ops_key,
+ section_name.c_str (),
+ 0,
+ op_key);
+
+ this->repo_->config ()->get_string_value (op_key,
+ "name",
+ name);
+
+ this->repo_->config ()->get_string_value (op_key,
+ "version",
+ version);
+
+ TAO_OperationDef_i impl (this->repo_,
+ op_key);
+
+ impl.move_i (new_container,
+ name.c_str (),
+ version.c_str (),
+ 0,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+ }
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/Contained_i.h b/TAO/orbsvcs/IFR_Service/Contained_i.h
new file mode 100644
index 00000000000..f0e302bb659
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Contained_i.h
@@ -0,0 +1,191 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Contained_i.h
+//
+// = DESCRIPTION
+// IR::Contained servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONTAINED_I_H
+#define TAO_CONTAINED_I_H
+
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Contained_i : public virtual TAO_IRObject_i
+{
+ // = TITLE
+ // TAO_Contained_i
+ //
+ // = DESCRIPTION
+ // Abstract base class for all IR objects that are contained
+ // by other IR objects.
+ //
+public:
+ TAO_Contained_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_Contained_i (void);
+ // Destructor.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual char *id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void id (
+ const char *id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void name (
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void version (
+ const char *version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // This one can't be defined yet.
+
+ virtual void move (
+ IR::Container_ptr new_container,
+ const char *new_name,
+ const char *new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+protected:
+ void move_i (
+ IR::Container_ptr new_container,
+ const char *new_name,
+ const char *new_version,
+ CORBA::Boolean cleanup,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Engine for move() with an extra 'cleanup'
+ // parameter. Since a section removal can be
+ // recursive, this need be done only at the top
+ // level.
+
+private:
+ CORBA::Boolean name_exists (
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Check if <name> already exists in our container
+
+ void contents_name_update (
+ ACE_TString stem,
+ ACE_Configuration_Section_Key key
+ );
+ // Recursively update the scoped name of our contents.
+
+ void move_pre_process (
+ IR::Container_ptr container,
+ const char *contained_path,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Mangle the names of references that are also
+ // defined in the scope, so a name clash will
+ // not occur when create_* is called. Create_*
+ // unmangles the names.
+
+ void move_contents (
+ IR::Container_ptr new_container,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Recursively calls move_i for definitions,
+ // as well as operations and attributes if
+ // applicable.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONTAINED_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/Container_i.cpp b/TAO/orbsvcs/IFR_Service/Container_i.cpp
new file mode 100644
index 00000000000..bbb10cc8245
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Container_i.cpp
@@ -0,0 +1,2275 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "InterfaceDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Container_i, "$Id$")
+
+TAO_Container_i::TAO_Container_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key)
+{
+}
+
+TAO_Container_i::~TAO_Container_i (void)
+{
+}
+
+void
+TAO_Container_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ int index = 0;
+ int status;
+ ACE_TString section_name;
+
+ // Destroy and/or remove references.
+
+ ACE_Configuration_Section_Key refs_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ // This entry may already have been destroyed.
+ if (status == 0)
+ {
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (entry_key,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ IR::DefinitionKind def_kind = impl->def_kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ switch (def_kind)
+ {
+ // These anonymous types were defined in IDL inside this
+ // struct and have no 'contained-in' info of their own,
+ // so they must be destroyed here.
+ case IR::dk_String:
+ case IR::dk_Wstring:
+ case IR::dk_Fixed:
+ case IR::dk_Array:
+ case IR::dk_Sequence:
+ impl->destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+ break;
+ default:
+ // No other types can be defined in this section of the struct.
+ break;
+ }
+ }
+ }
+
+ this->repo_->config ()->remove_section (this->section_key_,
+ "refs",
+ 1);
+ }
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString my_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ my_path);
+
+ // Destroy definitions.
+
+ ACE_Configuration_Section_Key defns_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ TAO_Contained_i *impl =
+ this->repo_->servant_factory ()->create_contained (defn_key,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ auto_ptr<TAO_Contained_i> safety (impl);
+
+ impl->destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ this->repo_->config ()->remove_section (this->section_key_,
+ "defns",
+ 1);
+ }
+}
+
+IR::Contained_ptr
+TAO_Container_i::lookup (const char *search_name,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key iter_key;
+ ACE_Configuration_Section_Key work_key;
+ ACE_TString work_string;
+ ACE_TString section_name;
+ int status = 0;
+ int index = 0;
+ int pos = 0;
+ int so_far_so_good = 0;
+ u_int kind = 0;
+ IR::DefinitionKind def_kind = IR::dk_none;
+
+
+ if (ACE_OS::strncmp (search_name, "::", 2) == 0)
+ {
+ // We were given an absolute scoped name.
+ work_string = search_name + 2;
+ iter_key = this->repo_->root_key ();
+ }
+ else
+ {
+ // We were given a relative scoped name.
+ work_string = search_name;
+ iter_key = this->section_key_;
+ }
+
+ while (1)
+ {
+ pos = work_string.find ("::");
+ so_far_so_good = 0;
+
+ ACE_Configuration_Section_Key defns_key;
+ status =
+ this->repo_->config ()->open_section (iter_key,
+ "defns",
+ 0,
+ defns_key);
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ work_key);
+
+ ACE_TString defn_name;
+ this->repo_->config ()->get_string_value (work_key,
+ "name",
+ defn_name);
+
+ if (defn_name == work_string.substr (0, pos))
+ {
+ iter_key = work_key;
+ so_far_so_good = 1;
+ break;
+ }
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ if (pos != ACE_TString::npos)
+ {
+ work_string = work_string.substr (pos + 2);
+ continue;
+ }
+ else
+ break;
+ }
+ else
+ {
+ // Check for attributes and operations, but only if we
+ // are on the last segment of the scoped name.
+ if (pos == ACE_TString::npos)
+ {
+ this->repo_->config ()->get_integer_value (iter_key,
+ "def_kind",
+ kind);
+
+ def_kind = ACE_static_cast (IR::DefinitionKind, kind);
+
+ if (def_kind == IR::dk_Interface
+ || def_kind == IR::dk_Value)
+ {
+ ACE_Configuration_Section_Key attrs_key;
+ status =
+ this->repo_->config ()->open_section (iter_key,
+ "attrs",
+ 0,
+ attrs_key);
+
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (
+ attrs_key,
+ index++,
+ section_name
+ )
+ == 0)
+ {
+ this->repo_->config ()->open_section (
+ attrs_key,
+ section_name.c_str (),
+ 0,
+ work_key
+ );
+
+ ACE_TString attr_name;
+ this->repo_->config ()->get_string_value (
+ work_key,
+ "name",
+ attr_name
+ );
+
+ // If we're here, working name has only one segment.
+ if (attr_name == work_string)
+ {
+ so_far_so_good = 1;
+ break;
+ }
+ }
+ }
+
+ if (so_far_so_good)
+ break;
+ else
+ {
+ ACE_Configuration_Section_Key ops_key;
+ status =
+ this->repo_->config ()->open_section (iter_key,
+ "ops",
+ 0,
+ ops_key);
+
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (
+ ops_key,
+ index++,
+ section_name
+ )
+ == 0)
+ {
+ this->repo_->config ()->open_section (
+ ops_key,
+ section_name.c_str (),
+ 0,
+ work_key
+ );
+
+ ACE_TString op_name;
+ this->repo_->config ()->get_string_value (
+ work_key,
+ "name",
+ op_name
+ );
+
+ // If we're here, name has only one segment.
+ if (op_name == work_string)
+ {
+ so_far_so_good = 1;
+ break;
+ }
+ }
+
+ if (so_far_so_good)
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ return IR::Contained::_nil ();
+ }
+
+ this->repo_->config ()->get_integer_value (work_key,
+ "def_kind",
+ kind);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (work_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ path);
+
+ def_kind = ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::Contained::_nil ());
+
+ return IR::Contained::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::ContainedSeq *
+TAO_Container_i::contents (IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (limit_type == IR::dk_none)
+ return 0;
+
+ ACE_Unbounded_Queue<IR::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ // Definitions
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (defns_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+ ACE_Configuration_Section_Key defn_key;
+ int status =
+ this->repo_->config ()->open_section (defns_key,
+ section_name.in (),
+ 0,
+ defn_key);
+
+ if (status == 0)
+ {
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (defn_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ if (limit_type == IR::dk_all
+ || limit_type == def_kind)
+ {
+ kind_queue.enqueue_tail (def_kind);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (defn_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+ }
+
+ // Base interfaces
+
+ if (exclude_inherited == 0)
+ {
+ IR::DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ if (def_kind == IR::dk_Interface)
+ {
+ if (limit_type == IR::dk_Operation
+ || limit_type == IR::dk_Attribute
+ || limit_type == IR::dk_all)
+ {
+ TAO_InterfaceDef_i iface (this->repo_,
+ this->section_key_);
+
+ iface.inherited_contents (kind_queue,
+ path_queue,
+ limit_type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ IR::ContainedSeq *contents = 0;
+ ACE_NEW_THROW_EX (contents,
+ IR::ContainedSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::ContainedSeq_var retval = contents;
+
+ retval->length (size);
+
+ for (size_t j = 0; j < size; j++)
+ {
+ IR::DefinitionKind next_kind;
+ kind_queue.dequeue_head (next_kind);
+
+ ACE_TString next_path;
+ path_queue.dequeue_head (next_path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (next_kind,
+ next_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained_var next_cont =
+ IR::Contained::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[j] = next_cont._retn ();
+ }
+
+ return retval._retn ();
+}
+
+IR::ContainedSeq *
+TAO_Container_i::lookup_name (const char *search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<IR::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ this->lookup_name_recursive (kind_queue,
+ path_queue,
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV);
+
+ size_t size = kind_queue.size ();
+
+ IR::ContainedSeq *holder;
+ ACE_NEW_THROW_EX (holder,
+ IR::ContainedSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::ContainedSeq_var retval = holder;
+ retval->length (size);
+
+ for (size_t i = 0; i < size; i++)
+ {
+ IR::DefinitionKind next_kind;
+ kind_queue.dequeue_head (next_kind);
+
+ ACE_TString next_path;
+ path_queue.dequeue_head (next_path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (next_kind,
+ next_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained_var next_cont =
+ IR::Contained::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = next_cont._retn ();
+ }
+
+ return retval._retn ();
+}
+
+IR::Container::DescriptionSeq *
+TAO_Container_i::describe_contents (IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::ContainedSeq_var contents = this->contents (limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = contents->length ();
+ CORBA::ULong ret_len = 0;
+
+ if (max_returned_objs == -1)
+ ret_len = length;
+ else
+ ret_len = length < ACE_static_cast (CORBA::ULong, max_returned_objs)
+ ? length
+ : max_returned_objs;
+
+ IR::Container::DescriptionSeq *desc_seq;
+ ACE_NEW_THROW_EX (desc_seq,
+ IR::Container::DescriptionSeq (ret_len),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ desc_seq->length (ret_len);
+
+ IR::Container::DescriptionSeq_var retval = desc_seq;
+
+ IR::Contained::Description_var desc;
+
+ for (CORBA::ULong i = 0; i < ret_len; i++)
+ {
+ desc = contents[i]->describe (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ retval[i].contained_object =
+ IR::Contained::_duplicate (contents[i]);
+
+ retval[i].kind = desc->kind;
+
+ retval[i].value = desc->value;
+ }
+
+ return retval._retn ();
+}
+
+IR::ModuleDef_ptr
+TAO_Container_i::create_module (const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Module,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ModuleDef::_nil ());
+
+ if (!legal_op)
+ return IR::ModuleDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ModuleDef::_nil ());
+
+ if (bad_params)
+ return IR::ModuleDef::_nil ();
+
+ ACE_Configuration_Section_Key defns_key;
+
+ // Create/open section for members defined in this scope.
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Module);
+
+ // For anonymous members.
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Module,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ModuleDef::_nil ());
+
+ return IR::ModuleDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::ConstantDef_ptr
+TAO_Container_i::create_constant (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ const CORBA::Any &value,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Constant,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ConstantDef::_nil ());
+
+ if (!legal_op)
+ return IR::ConstantDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ConstantDef::_nil ());
+
+ if (bad_params)
+ return IR::ConstantDef::_nil ();
+
+ // Create/open section for members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Constant);
+
+
+ // Get the path to our type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ConstantDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "type_path",
+ type_path.in ());
+
+ // Store the value.
+ ACE_Message_Block *mb = value._tao_get_cdr ();
+
+ CORBA::TypeCode_var val_tc = value.type ();
+
+ CORBA::TCKind kind = val_tc->kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ConstantDef::_nil ());
+
+ switch (kind)
+ {
+ // The data for these types will be aligned to an 8-byte
+ // boundary, while the rd_ptr may not.
+ case CORBA::tk_double:
+ case CORBA::tk_ulonglong:
+ case CORBA::tk_longlong:
+ case CORBA::tk_longdouble:
+ mb->rd_ptr (ACE_ptr_align_binary (mb->rd_ptr (),
+ ACE_CDR::MAX_ALIGNMENT));
+ break;
+ default:
+ break;
+ }
+
+ // Align the read pointer with the base, so mb->length()
+ // will be meaningful.
+ mb->crunch ();
+
+ this->repo_->config ()->set_binary_value (new_key,
+ "value",
+ mb->base (),
+ mb->length ());
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Constant,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ConstantDef::_nil ());
+
+ return IR::ConstantDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::StructDef_ptr
+TAO_Container_i::create_struct (const char *id,
+ const char *name,
+ const char *version,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Struct,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ if (!legal_op)
+ return IR::StructDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ if (bad_params)
+ return IR::StructDef::_nil ();
+
+ // Create/open section for members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Struct);
+
+ // Open a section for the struct's members.
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+ }
+
+ IR::DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ if (def_kind == IR::dk_Struct
+ || def_kind == IR::dk_Union
+ || def_kind == IR::dk_Exception)
+ {
+ this->update_refs (path.c_str (),
+ name);
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Struct,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ return IR::StructDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::UnionDef_ptr
+TAO_Container_i::create_union (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Union,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::UnionDef::_nil ());
+
+ if (!legal_op)
+ return IR::UnionDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::UnionDef::_nil ());
+
+ if (bad_params)
+ return IR::UnionDef::_nil ();
+
+ // Create new section, or open if it already exists.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Union);
+
+ // Add a field to hold the path to the discriminator type.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (discriminator_type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::UnionDef::_nil ());
+
+ CORBA::String_var disc_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "disc_path",
+ disc_path.in ());
+
+ ACE_Configuration_Section_Key refs_key;
+
+ // For the union's members.
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We store the member
+ // name, its label value, and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::UnionDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+
+ this->store_label (member_key,
+ members[i].label,
+ ACE_TRY_ENV);
+ }
+
+ IR::DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ if (def_kind == IR::dk_Struct
+ || def_kind == IR::dk_Union
+ || def_kind == IR::dk_Exception)
+ {
+ this->update_refs (path.c_str (),
+ name);
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Union,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::UnionDef::_nil ());
+
+ return IR::UnionDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::EnumDef_ptr
+TAO_Container_i::create_enum (const char *id,
+ const char *name,
+ const char *version,
+ const IR::EnumMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Enum,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::EnumDef::_nil ());
+
+ if (!legal_op)
+ return IR::EnumDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::EnumDef::_nil ());
+
+ if (bad_params)
+ return IR::EnumDef::_nil ();
+
+ // Create new section, or open if it already exists.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Enum);
+
+ // Store the member count of the enum.
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (new_key,
+ "count",
+ count);
+
+ // Create a section for each member, named for
+ // its ordinal position in the enum,
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (new_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString member_name (members[i]);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ member_name);
+ }
+
+ IR::DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ if (def_kind == IR::dk_Struct
+ || def_kind == IR::dk_Union
+ || def_kind == IR::dk_Exception)
+ {
+ this->update_refs (path.c_str (),
+ name);
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Enum,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::EnumDef::_nil ());
+
+ return IR::EnumDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::AliasDef_ptr
+TAO_Container_i::create_alias (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Alias,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AliasDef::_nil ());
+
+ if (!legal_op)
+ return IR::AliasDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AliasDef::_nil ());
+
+ if (bad_params)
+ return IR::AliasDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Alias);
+
+ // Get the path to our original type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AliasDef::_nil ());
+
+ CORBA::String_var unalias_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "original_type",
+ unalias_path.in ());
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Alias,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AliasDef::_nil ());
+
+ return IR::AliasDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::InterfaceDef_ptr
+TAO_Container_i::create_interface (const char *id,
+ const char *name,
+ const char *version,
+ const IR::InterfaceDefSeq &base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Interface,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::InterfaceDef::_nil ());
+
+ if (!legal_op)
+ return IR::InterfaceDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::InterfaceDef::_nil ());
+
+ if (bad_params)
+ return IR::InterfaceDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Interface);
+
+ // Store the boolean attributes.
+ this->repo_->config ()->set_integer_value (new_key,
+ "is_abstract",
+ is_abstract);
+
+ this->repo_->config ()->set_integer_value (new_key,
+ "is_local",
+ is_local);
+
+ CORBA::ULong length = base_interfaces.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the base interfaces.
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "inherited",
+ 1,
+ inherited_key);
+
+ // Store the path to each base interface.
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (base_interfaces[i],
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::InterfaceDef::_nil ());
+
+ CORBA::String_var inherited_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (inherited_key,
+ section_name.in (),
+ inherited_path.in ());
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Interface,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::InterfaceDef::_nil ());
+
+ return IR::InterfaceDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::ValueDef_ptr
+TAO_Container_i::create_value (const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq &abstract_base_values,
+ const IR::InterfaceDefSeq &supported_interfaces,
+ const IR::InitializerSeq &initializers,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ValueBoxDef_ptr
+TAO_Container_i::create_value_box (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_ValueBox,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ValueBoxDef::_nil ());
+
+ if (!legal_op)
+ return IR::ValueBoxDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ValueBoxDef::_nil ());
+
+ if (bad_params)
+ return IR::ValueBoxDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_ValueBox);
+
+ // Get the path to our original type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ValueBoxDef::_nil ());
+
+ CORBA::String_var boxed_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "boxed_type",
+ boxed_path.in ());
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_ValueBox,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ValueBoxDef::_nil ());
+
+ return IR::ValueBoxDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::ExceptionDef_ptr
+TAO_Container_i::create_exception (const char *id,
+ const char *name,
+ const char *version,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Exception,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ExceptionDef::_nil ());
+
+ if (!legal_op)
+ return IR::ExceptionDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ExceptionDef::_nil ());
+
+ if (bad_params)
+ return IR::ExceptionDef::_nil ();
+
+ // Create/open section for members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Exception);
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ExceptionDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Exception,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ExceptionDef::_nil ());
+
+ return IR::ExceptionDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::NativeDef_ptr
+TAO_Container_i::create_native (const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (IR::dk_Native,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::NativeDef::_nil ());
+
+ if (!legal_op)
+ return IR::NativeDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::NativeDef::_nil ());
+
+ if (bad_params)
+ return IR::NativeDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in IR::Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ IR::dk_Native);
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Native,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::NativeDef::_nil ());
+
+ return IR::NativeDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_Container_i::lookup_name_recursive (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ ACE_Configuration_Section_Key defns_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ if (status == 0)
+ {
+ int index = 0;
+ ACE_TString section_name;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (defn_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ if (limit_type == IR::dk_all || limit_type == def_kind)
+ {
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ name);
+
+ if (!ACE_OS::strcmp (name.c_str (), search_name))
+ {
+ kind_queue.enqueue_tail (def_kind);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (defn_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+
+ if (levels_to_search == -1 || levels_to_search > 1)
+ {
+ TAO_Container_i *impl =
+ this->repo_->servant_factory ()->create_container (
+ defn_key,
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+
+ // This member may not be a container.
+ if (impl == 0)
+ continue;
+
+ auto_ptr<TAO_Container_i> safety (impl);
+
+ impl->lookup_name_recursive (kind_queue,
+ path_queue,
+ search_name,
+ levels_to_search == -1
+ ? -1
+ : levels_to_search - 1,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+ }
+ }
+
+ IR::DefinitionKind kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ if (kind == IR::dk_Interface || kind == IR::dk_Value)
+ {
+ if (limit_type == IR::dk_all || limit_type == IR::dk_Attribute)
+ {
+ this->lookup_attr (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+
+ if (limit_type == IR::dk_all || limit_type == IR::dk_Operation)
+ {
+ this->lookup_op (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+ }
+}
+
+void
+TAO_Container_i:: lookup_attr (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ )
+{
+ int index = 0;
+ ACE_TString section_name;
+
+ ACE_Configuration_Section_Key sub_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ sub_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (sub_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (sub_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ if (name == search_name)
+ {
+ kind_queue.enqueue_tail (IR::dk_Attribute);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (member_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+ }
+
+ if (exclude_inherited == 0)
+ {
+ ACE_Configuration_Section_Key bases_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ bases_key);
+
+ if (status == 0)
+ {
+ ACE_Configuration::VALUETYPE type;
+ index = 0;
+ while (this->repo_->config ()->enumerate_values (
+ bases_key,
+ index++,
+ section_name,
+ type
+ )
+ == 0)
+ {
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ bases_key,
+ section_name.c_str (),
+ path);
+
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ impl.lookup_attr (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+ }
+ }
+}
+
+void
+TAO_Container_i::lookup_op (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ )
+{
+ int index = 0;
+ ACE_TString section_name;
+
+ ACE_Configuration_Section_Key sub_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ sub_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (sub_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (sub_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ if (name == search_name)
+ {
+ kind_queue.enqueue_tail (IR::dk_Operation);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (member_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+ }
+
+ if (exclude_inherited == 0)
+ {
+ ACE_Configuration_Section_Key bases_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ bases_key);
+
+ if (status == 0)
+ {
+ ACE_Configuration::VALUETYPE type;
+ index = 0;
+ while (this->repo_->config ()->enumerate_values (
+ bases_key,
+ index++,
+ section_name,
+ type
+ )
+ == 0)
+ {
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ bases_key,
+ section_name.c_str (),
+ path);
+
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ impl.lookup_attr (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+ }
+ }
+}
+
+CORBA::Boolean
+TAO_Container_i::name_exists (const char *name,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ int index = 0;
+ ACE_TString section_name;
+
+ // Check the members defined elsewhere.
+ ACE_Configuration_Section_Key refs_key;
+
+ if (this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key)
+ == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString member_name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ member_name);
+
+ if (member_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (3,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+ }
+
+ // Check the members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ if (this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key)
+ == 0)
+ {
+ index = 0;
+
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ ACE_TString defn_name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ defn_name);
+
+ if (defn_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (3,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+ }
+
+ // If we are an interface, check the inherited members.
+ IR::DefinitionKind def_kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (1);
+
+ if (def_kind == IR::dk_Interface)
+ {
+ ACE_Configuration_Section_Key inherited_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ inherited_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ int index = 0;
+ ACE_TString path;
+ ACE_Configuration::VALUETYPE type;
+
+ while (this->repo_->config ()->enumerate_values (inherited_key,
+ index++,
+ path,
+ type)
+ == 0)
+ {
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ base_key,
+ 0);
+
+ ACE_TString base_name;
+ this->repo_->config ()->get_string_value (base_key,
+ "name",
+ base_name);
+
+ if (base_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (5,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+ }
+ }
+
+ return 0;
+}
+
+CORBA::Boolean
+TAO_Container_i::id_exists (const char *id,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // The repo id must not already exist.
+ ACE_TString holder;
+ if (this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id,
+ holder)
+ == 0)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (2,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+
+ return 0;
+}
+
+
+CORBA::Boolean
+TAO_Container_i::pre_exist (const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean exist = this->id_exists (id, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (1);
+
+ if (exist)
+ return 1;
+
+ return name_exists (name, ACE_TRY_ENV);
+}
+
+ACE_TString
+TAO_Container_i::create_common (
+ ACE_Configuration_Section_Key sub_key,
+ ACE_Configuration_Section_Key &new_key,
+ const char *id,
+ const char *name,
+ const char *version,
+ const char *sub_section,
+ IR::DefinitionKind def_kind
+ )
+{
+ u_int defn_count = 0;
+
+ // If we have a count, it gets set, if not, it stays 0.
+ this->repo_->config ()->get_integer_value (sub_key,
+ "count",
+ defn_count);
+
+ CORBA::String_var section_name = this->int_to_string (defn_count);
+ this->repo_->config ()->open_section (sub_key,
+ section_name.in (),
+ 1,
+ new_key);
+
+ // Increment the count.
+ this->repo_->config ()->set_integer_value (sub_key,
+ "count",
+ defn_count + 1);
+
+ this->repo_->config ()->get_integer_value (sub_key,
+ "count",
+ defn_count);
+
+ // Set the name attribute.
+ this->repo_->config ()->set_string_value (new_key,
+ "name",
+ name);
+
+ // Set the id attribute.
+ this->repo_->config ()->set_string_value (new_key,
+ "id",
+ id);
+
+ // Set the version attribute.
+ this->repo_->config ()->set_string_value (new_key,
+ "version",
+ version);
+
+ // Set the definition kind.
+ this->repo_->config ()->set_integer_value (new_key,
+ "def_kind",
+ def_kind);
+
+ // Get the container's absolute name, append the new name,
+ // and set it in the new section.
+ ACE_TString absolute_name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ absolute_name += "::";
+ absolute_name += name;
+
+ this->repo_->config ()->set_string_value (new_key,
+ "absolute_name",
+ absolute_name);
+
+ // Get the container's path.
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ container_id);
+
+ this->repo_->config ()->set_string_value (new_key,
+ "container_id",
+ container_id);
+
+ ACE_TString path;
+ if (container_id == "") // This Container is the Repository.
+ {
+ path = "";
+ }
+ else
+ {
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ path);
+
+ path += '\\';
+ }
+
+ path += sub_section;
+ path += section_name.in ();
+
+ // Store our path under our global repo id for fast lookup.
+ this->repo_->config ()->set_string_value (this->repo_->repo_ids_key (),
+ id,
+ path);
+
+ return path;
+}
+
+CORBA::Boolean
+TAO_Container_i::valid_container (const IR::DefinitionKind op_kind,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::DefinitionKind my_kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ int error_flag = 0;
+
+ switch (my_kind)
+ {
+ case IR::dk_Repository:
+ case IR::dk_Module:
+ break;
+ case IR::dk_Exception:
+ case IR::dk_Struct:
+ case IR::dk_Union:
+ switch (op_kind)
+ {
+ case IR::dk_Struct:
+ case IR::dk_Union:
+ case IR::dk_Enum:
+ break;
+ default:
+ error_flag = 1;
+ break;
+ }
+ break;
+ case IR::dk_Value:
+ case IR::dk_Interface:
+ case IR::dk_Home:
+ switch (op_kind)
+ {
+ case IR::dk_Module:
+ case IR::dk_Interface:
+ case IR::dk_Value:
+ error_flag = 1;
+ break;
+ default:
+ break;
+ }
+ break;
+ case IR::dk_Component:
+ error_flag = 1;
+ break;
+ default:
+ break;
+ }
+
+ if (error_flag == 1)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (4,
+ CORBA::COMPLETED_NO),
+ 0);
+ }
+
+ return 1;
+}
+
+void
+TAO_Container_i::store_label (ACE_Configuration_Section_Key key,
+ const CORBA::Any &value,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ CORBA::TypeCode_var tc = value.type ();
+
+ CORBA::TCKind kind = tc->kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ TAO_InputCDR cdr (value._tao_get_cdr (),
+ value._tao_byte_order ());
+
+ u_int result = 0;
+ int default_label = 0;
+
+ switch (kind)
+ {
+ case CORBA::tk_octet:
+ default_label = 1;
+ break;
+ case CORBA::tk_char:
+ {
+ CORBA::Char x;
+ cdr.read_char (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_wchar:
+ {
+ CORBA::WChar x;
+ cdr.read_wchar (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_boolean:
+ {
+ CORBA::Boolean x;
+ cdr.read_boolean (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_short:
+ {
+ CORBA::Short x;
+ cdr.read_short (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_ushort:
+ {
+ CORBA::UShort x;
+ cdr.read_ushort (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_long:
+ {
+ CORBA::Long x;
+ cdr.read_long (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_ulong:
+ {
+ CORBA::ULong x;
+ cdr.read_ulong (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+#if !defined (ACE_LACKS_LONGLONG_T)
+ case CORBA::tk_longlong:
+ {
+ CORBA::LongLong x;
+ cdr.read_longlong (x);
+ // We could lose data here.
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+#endif /* ACE_LACKS_LONGLONG_T */
+ case CORBA::tk_ulonglong:
+ {
+ CORBA::ULongLong x;
+ cdr.read_ulonglong (x);
+ // We could lose data here.
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_enum:
+ {
+ CORBA::ULong x;
+ cdr.read_ulong (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ default:
+ break;
+ }
+
+ if (default_label == 1)
+ this->repo_->config ()->set_string_value (key,
+ "label",
+ "default");
+ else
+ this->repo_->config ()->set_integer_value (key,
+ "label",
+ result);
+}
+
+void
+TAO_Container_i::update_refs (const char *path,
+ const char *name)
+{
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ int index = 0;
+ ACE_TString section_name;
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key ref_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ ref_key);
+
+ ACE_TString ref_name;
+ this->repo_->config ()->get_string_value (ref_key,
+ "name",
+ ref_name);
+
+ // If one of the names has been mangled by move(), fix it.
+ if (ref_name.find (this->repo_->extension ()) != ACE_TString::npos)
+ {
+ this->repo_->config ()->set_string_value (ref_key,
+ "name",
+ name);
+
+ this->repo_->config ()->set_string_value (ref_key,
+ "path",
+ path);
+
+ return;
+ }
+ }
+
+ // Add a new reference.
+ ACE_Configuration_Section_Key new_key;
+ CORBA::String_var new_section_name = this->int_to_string (count);
+ this->repo_->config ()->open_section (refs_key,
+ new_section_name.in (),
+ 1,
+ new_key);
+
+ this->repo_->config ()->set_string_value (new_key,
+ "name",
+ name);
+
+ this->repo_->config ()->set_string_value (new_key,
+ "path",
+ path);
+
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count + 1);
+}
diff --git a/TAO/orbsvcs/IFR_Service/Container_i.h b/TAO/orbsvcs/IFR_Service/Container_i.h
new file mode 100644
index 00000000000..b45ec3bf215
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Container_i.h
@@ -0,0 +1,307 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Container_i.h
+//
+// = DESCRIPTION
+// IR::Container servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONTAINER_I_H
+#define TAO_CONTAINER_I_H
+
+#include "IRObject_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Repository_i;
+
+class TAO_Container_i : public virtual TAO_IRObject_i
+{
+ // = TITLE
+ // TAO_Container_i
+ //
+ // = DESCRIPTION
+ // Abstract base class used to form a containment hierarchy
+ // in the Interface Repository, by containing objects
+ // derived from the Contained interface.
+ //
+public:
+ TAO_Container_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_Container_i (void);
+ // Destructor.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove our contents.
+
+ virtual IR::Contained_ptr lookup (
+ const char *search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ContainedSeq *contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ContainedSeq *lookup_name (
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::Container::DescriptionSeq *describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ModuleDef_ptr create_module (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ConstantDef_ptr create_constant (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::StructDef_ptr create_struct (
+ const char *id,
+ const char *name,
+ const char *version,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::UnionDef_ptr create_union (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::EnumDef_ptr create_enum (
+ const char *id,
+ const char *name,
+ const char *version,
+ const IR::EnumMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::AliasDef_ptr create_alias (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::InterfaceDef_ptr create_interface (
+ const char *id,
+ const char *name,
+ const char *version,
+ const IR::InterfaceDefSeq &base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueDef_ptr create_value (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq &abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq &initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueBoxDef_ptr create_value_box (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ExceptionDef_ptr create_exception (
+ const char *id,
+ const char *name,
+ const char *version,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::NativeDef_ptr create_native (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean name_exists (
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Checks for local existence of <name>.
+
+protected:
+ void store_label (
+ ACE_Configuration_Section_Key key,
+ const CORBA::Any &value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Store a union member's label value.
+
+ CORBA::Boolean pre_exist (
+ const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Bundles id_exists and name_exists together.
+
+ ACE_TString create_common (
+ ACE_Configuration_Section_Key sub_key,
+ ACE_Configuration_Section_Key &new_key,
+ const char *id,
+ const char *name,
+ const char *version,
+ const char *sub_section,
+ IR::DefinitionKind def_kind
+ );
+ // Code common to all the create_* methods.
+
+protected:
+ void lookup_attr (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ );
+
+ void lookup_op (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ );
+
+private:
+ void lookup_name_recursive (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ CORBA::Boolean id_exists (
+ const char *id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Checks for global existence of the repo id.
+
+ CORBA::Boolean valid_container (
+ const IR::DefinitionKind op_kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Is this operation valid for this container type?
+
+ void update_refs (
+ const char *path,
+ const char *name
+ );
+ // Used with structs, unions and exceptions.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONTAINER_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp b/TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp
new file mode 100644
index 00000000000..9e1dce7176a
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp
@@ -0,0 +1,42 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "EmitsDef_i.h"
+
+ACE_RCSID(IFR_Service, EmitsDef_i, "$Id$")
+
+TAO_EmitsDef_i::TAO_EmitsDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_EventDef_i (repo, section_key)
+{
+}
+
+TAO_EmitsDef_i::~TAO_EmitsDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_EmitsDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Emits;
+}
+
+void
+TAO_EmitsDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_EmitsDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/EmitsDef_i.h b/TAO/orbsvcs/IFR_Service/EmitsDef_i.h
new file mode 100644
index 00000000000..9d1c4adf4c6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EmitsDef_i.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// EmitsDef_i.h
+//
+// = DESCRIPTION
+// IR::EmitsDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_EMITSDEF_I_H
+#define TAO_EMITSDEF_I_H
+
+#include "EventDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_EmitsDef_i : public virtual TAO_EventDef_i
+{
+ // = TITLE
+ // TAO_EmitsDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of an event that is emitted
+ // by a component.
+ //
+public:
+ TAO_EmitsDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_EmitsDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_EMITSDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/EnumDef_i.cpp b/TAO/orbsvcs/IFR_Service/EnumDef_i.cpp
new file mode 100644
index 00000000000..cfd5378c266
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EnumDef_i.cpp
@@ -0,0 +1,119 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "EnumDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+
+ACE_RCSID(IFR_Service, EnumDef_i, "$Id$")
+
+TAO_EnumDef_i::TAO_EnumDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_EnumDef_i::~TAO_EnumDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_EnumDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Enum;
+}
+
+CORBA::TypeCode_ptr
+TAO_EnumDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ IR::EnumMemberSeq_var members = this->members (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_enum_tc (id.c_str (),
+ name.c_str (),
+ members.in (),
+ ACE_TRY_ENV);
+}
+
+IR::EnumMemberSeq *
+TAO_EnumDef_i::members (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "count",
+ count);
+
+ IR::EnumMemberSeq *retval = 0;
+ ACE_NEW_THROW_EX (retval,
+ IR::EnumMemberSeq (count),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ retval->length (count);
+
+ for (u_int i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (this->section_key_,
+ section_name.in (),
+ 0,
+ member_key);
+
+ ACE_TString member_name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ member_name);
+
+ (*retval)[i] = member_name.c_str ();
+ }
+
+ return retval;
+}
+
+void
+TAO_EnumDef_i::members (const IR::EnumMemberSeq &members,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "members",
+ 1);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "count",
+ count);
+
+ for (CORBA::ULong i = 0; i < count; i ++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (this->section_key_,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString member_name (members[i]);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ member_name);
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/EnumDef_i.h b/TAO/orbsvcs/IFR_Service/EnumDef_i.h
new file mode 100644
index 00000000000..6a03e0fa318
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EnumDef_i.h
@@ -0,0 +1,86 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// EnumDef_i.h
+//
+// = DESCRIPTION
+// IR::EnumDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ENUMDEF_I_H
+#define TAO_ENUMDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_EnumDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_EnumDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL enumeration definition.
+ //
+public:
+ TAO_EnumDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_EnumDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::EnumMemberSeq *members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const IR::EnumMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ENUMDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/EventDef_i.cpp b/TAO/orbsvcs/IFR_Service/EventDef_i.cpp
new file mode 100644
index 00000000000..56f4037c2f2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EventDef_i.cpp
@@ -0,0 +1,51 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "EventDef_i.h"
+
+ACE_RCSID(IFR_Service, EventDef_i, "$Id$")
+
+TAO_EventDef_i::TAO_EventDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_EventDef_i::~TAO_EventDef_i (void)
+{
+}
+
+void
+TAO_EventDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_EventDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_EventDef_i::is_a (const char *event_id,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ValueDef_ptr
+TAO_EventDef_i::event (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/EventDef_i.h b/TAO/orbsvcs/IFR_Service/EventDef_i.h
new file mode 100644
index 00000000000..5c434bc9b45
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EventDef_i.h
@@ -0,0 +1,87 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// EventDef_i.h
+//
+// = DESCRIPTION
+// IR::EventDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_EVENTDEF_I_H
+#define TAO_EVENTDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_EventDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_EventDef_i
+ //
+ // = DESCRIPTION
+ // Represents an event definition. It refers to a ValueDef
+ // object that contains information about the event.
+ //
+public:
+ TAO_EventDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_EventDef_i (void);
+ // Destructor
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::Boolean is_a (
+ const char *event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_EVENTDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp
new file mode 100644
index 00000000000..b6d97398fee
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp
@@ -0,0 +1,271 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ExceptionDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+
+ACE_RCSID(IFR_Service, ExceptionDef_i, "$Id$")
+
+TAO_ExceptionDef_i::TAO_ExceptionDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ExceptionDef_i::~TAO_ExceptionDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ExceptionDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Exception;
+}
+
+void
+TAO_ExceptionDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+IR::Contained::Description *
+TAO_ExceptionDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::ExceptionDescription ed;
+
+ ed.name = this->name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ed.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ ed.defined_in = container_id.c_str ();
+
+ ed.version = this->version (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ed.type = this->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= ed;
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_ExceptionDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ IR::StructMemberSeq_var members = this->members (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_exception_tc (id.c_str (),
+ name.c_str (),
+ members.in (),
+ ACE_TRY_ENV);
+}
+
+IR::StructMemberSeq *
+TAO_ExceptionDef_i::members (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<IR::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ ACE_Unbounded_Queue<ACE_TString> name_queue;
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 0,
+ member_key);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ int status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ // This entry may have been removed.
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (path);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ name_queue.enqueue_tail (name);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (entry_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ IR::StructMemberSeq *members = 0;
+ ACE_NEW_THROW_EX (members,
+ IR::StructMemberSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ members->length (size);
+
+ IR::StructMemberSeq_var retval = members;
+
+ for (size_t k = 0; k < size; k++)
+ {
+ ACE_TString name;
+ name_queue.dequeue_head (name);
+
+ retval[k].name = name.c_str ();
+
+ IR::DefinitionKind kind;
+ kind_queue.dequeue_head (kind);
+
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (kind,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type_def = IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type = retval[k].type_def->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_ExceptionDef_i::members (const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our old members, both refs and defns.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::ULong count = members.length ();
+
+ // Exceptions can be empty.
+ if (count > 0)
+ {
+ int index = 0;
+ ACE_TString section_name;
+ ACE_Configuration_Section_Key refs_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ // Create a section for each new member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ CORBA::String_var path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ path.in ());
+ }
+
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+ }
+}
diff --git a/TAO/orbsvcs/IFR_Service/ExceptionDef_i.h b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.h
new file mode 100644
index 00000000000..e7a40809f8d
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.h
@@ -0,0 +1,99 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ExceptionDef_i.h
+//
+// = DESCRIPTION
+// IR::ExceptionDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_EXCEPTIONDEF_I_H
+#define TAO_EXCEPTIONDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ExceptionDef_i : public virtual TAO_Contained_i,
+ public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_ExceptionDef_i
+ //
+ // = DESCRIPTION
+ // Represents an exception definition.
+ //
+public:
+ TAO_ExceptionDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ExceptionDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::StructMemberSeq *members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_EXCEPTIONDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp b/TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp
new file mode 100644
index 00000000000..5aa6ea96eb0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp
@@ -0,0 +1,44 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "FactoryDef_i.h"
+
+ACE_RCSID(IFR_Service, FactoryDef_i, "$Id$")
+
+TAO_FactoryDef_i::TAO_FactoryDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_OperationDef_i (repo, section_key)
+{
+}
+
+TAO_FactoryDef_i::~TAO_FactoryDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_FactoryDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Factory;
+}
+
+void
+TAO_FactoryDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_FactoryDef_i::describe (CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/FactoryDef_i.h b/TAO/orbsvcs/IFR_Service/FactoryDef_i.h
new file mode 100644
index 00000000000..b3dac8f914f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FactoryDef_i.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// FactoryDef_i.h
+//
+// = DESCRIPTION
+// IR::FactoryDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_FACTORYDEF_I_H
+#define TAO_FACTORYDEF_I_H
+
+#include "OperationDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_FactoryDef_i : public virtual TAO_OperationDef_i
+{
+ // = TITLE
+ // TAO_FactoryDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of a factory operation in a home.
+ //
+public:
+ TAO_FactoryDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_FactoryDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_FACTORYDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/FinderDef_i.cpp b/TAO/orbsvcs/IFR_Service/FinderDef_i.cpp
new file mode 100644
index 00000000000..eb0aea90c2c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FinderDef_i.cpp
@@ -0,0 +1,42 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "FinderDef_i.h"
+
+ACE_RCSID(IFR_Service, FinderDef_i, "$Id$")
+
+TAO_FinderDef_i::TAO_FinderDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_OperationDef_i (repo, section_key)
+{
+}
+
+TAO_FinderDef_i::~TAO_FinderDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_FinderDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Finder;
+}
+
+void
+TAO_FinderDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_FinderDef_i::describe (CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/FinderDef_i.h b/TAO/orbsvcs/IFR_Service/FinderDef_i.h
new file mode 100644
index 00000000000..b52b224bcb1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FinderDef_i.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// FinderDef_i.h
+//
+// = DESCRIPTION
+// IR::FinderDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_FINDERDEF_I_H
+#define TAO_FINDERDEF_I_H
+
+#include "OperationDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_FinderDef_i : public virtual TAO_OperationDef_i
+{
+ // = TITLE
+ // TAO_FinderDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of a finder operation in a home.
+ //
+public:
+ TAO_FinderDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_FinderDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_FINDERDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/FixedDef_i.cpp b/TAO/orbsvcs/IFR_Service/FixedDef_i.cpp
new file mode 100644
index 00000000000..dcd3794f2ec
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FixedDef_i.cpp
@@ -0,0 +1,73 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "FixedDef_i.h"
+
+ACE_RCSID(IFR_Service, FixedDef_i, "$Id$")
+
+TAO_FixedDef_i::TAO_FixedDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_FixedDef_i::~TAO_FixedDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_FixedDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Fixed;
+}
+
+void
+TAO_FixedDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::TypeCode_ptr
+TAO_FixedDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::UShort
+TAO_FixedDef_i::digits (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_FixedDef_i::digits (CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Short
+TAO_FixedDef_i::scale (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_FixedDef_i::scale (CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/FixedDef_i.h b/TAO/orbsvcs/IFR_Service/FixedDef_i.h
new file mode 100644
index 00000000000..fed6420a1c1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FixedDef_i.h
@@ -0,0 +1,105 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// FixedDef_i.h
+//
+// = DESCRIPTION
+// IR::FixedDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_FIXEDDEF_I_H
+#define TAO_FIXEDDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_FixedDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_FixedDef_i
+ //
+ // = DESCRIPTION
+ // Represents an IDL fixed type.
+ //
+public:
+ TAO_FixedDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_FixedDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::UShort digits (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void digits (
+ CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Short scale (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void scale (
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_FIXEDDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/HomeDef_i.cpp b/TAO/orbsvcs/IFR_Service/HomeDef_i.cpp
new file mode 100644
index 00000000000..8cad6467e11
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/HomeDef_i.cpp
@@ -0,0 +1,137 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "HomeDef_i.h"
+
+ACE_RCSID(IFR_Service, HomeDef_i, "$Id$")
+
+TAO_HomeDef_i::TAO_HomeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_InterfaceDef_i (repo, section_key)
+{
+}
+
+TAO_HomeDef_i::~TAO_HomeDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_HomeDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Home;
+}
+
+void
+TAO_HomeDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_HomeDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_HomeDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::HomeDef_ptr
+TAO_HomeDef_i::base_home (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ComponentDef_ptr
+TAO_HomeDef_i::managed_component (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PrimaryKeyDef_ptr
+TAO_HomeDef_i::primary_key (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FactoryDefSeq *
+TAO_HomeDef_i::factories (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FinderDefSeq *
+TAO_HomeDef_i::finders (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_HomeDef_i::is_basic (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PrimaryKeyDef_ptr
+TAO_HomeDef_i::create_primary_key (const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FactoryDef_ptr
+TAO_HomeDef_i::create_factory (const char *id,
+ const char *name,
+ const char *version,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FinderDef_ptr
+TAO_HomeDef_i::create_finder (const char *id,
+ const char *name,
+ const char *version,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
diff --git a/TAO/orbsvcs/IFR_Service/HomeDef_i.h b/TAO/orbsvcs/IFR_Service/HomeDef_i.h
new file mode 100644
index 00000000000..7845fbb64dc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/HomeDef_i.h
@@ -0,0 +1,156 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// HomeDef_i.h
+//
+// = DESCRIPTION
+// IR::HomeDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_HOMEDEF_I_H
+#define TAO_HOMEDEF_I_H
+
+#include "InterfaceDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_HomeDef_i : public virtual TAO_InterfaceDef_i
+{
+ // = TITLE
+ // HomTAO_HomeDef_ieDef_i
+ //
+ // = DESCRIPTION
+ // Represents a home definition, containing factory and finder.
+ //
+public:
+ TAO_HomeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_HomeDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::HomeDef_ptr base_home (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ComponentDef_ptr managed_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PrimaryKeyDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FactoryDefSeq *factories (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FinderDefSeq *finders (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PrimaryKeyDef_ptr create_primary_key (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FactoryDef_ptr create_factory (
+ const char *id,
+ const char *name,
+ const char *version,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FinderDef_ptr create_finder (
+ const char *id,
+ const char *name,
+ const char *version,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_HOMEDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/IDLType_i.cpp b/TAO/orbsvcs/IFR_Service/IDLType_i.cpp
new file mode 100644
index 00000000000..d81ca96cae0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IDLType_i.cpp
@@ -0,0 +1,17 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "IDLType_i.h"
+
+ACE_RCSID(IFR_Service, IDLType_i, "$Id$")
+
+TAO_IDLType_i::TAO_IDLType_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key)
+{
+}
+
+TAO_IDLType_i::~TAO_IDLType_i (void)
+{
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/IDLType_i.h b/TAO/orbsvcs/IFR_Service/IDLType_i.h
new file mode 100644
index 00000000000..5e79ba57aee
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IDLType_i.h
@@ -0,0 +1,69 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// IDLType_i.h
+//
+// = DESCRIPTION
+// IR::IDLType servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_IDLTYPE_I_H
+#define TAO_IDLTYPE_I_H
+
+#include "IRObject_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Repository_i;
+
+class TAO_IDLType_i : public virtual TAO_IRObject_i
+{
+ // = TITLE
+ // TAO_IDLType_i
+ //
+ // = DESCRIPTION
+ // Abstract base class for all IR objects that represent
+ // OMG IDL types. Provides access to the TypeCode describing
+ // the type.
+ //
+public:
+ TAO_IDLType_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_IDLType_i (void);
+ // Destructor.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Defined in concrete classes.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_IDLTYPE_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/IFR.dsw b/TAO/orbsvcs/IFR_Service/IFR.dsw
index 202c173820c..f682fa8cb51 100644
--- a/TAO/orbsvcs/IFR_Service/IFR.dsw
+++ b/TAO/orbsvcs/IFR_Service/IFR.dsw
@@ -11,18 +11,9 @@ Package=<5>
Package=<4>
{{{
-}}}
-
-###############################################################################
-
-Project: "TCF_Test"=.\TCF_Test\TCF_Test.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
+ Begin Project Dependency
+ Project_Dep_Name TypeCodeFactory_DLL
+ End Project Dependency
}}}
###############################################################################
diff --git a/TAO/orbsvcs/IFR_Service/IFR_Server.cpp b/TAO/orbsvcs/IFR_Service/IFR_Server.cpp
new file mode 100644
index 00000000000..ed18f60e9b7
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_Server.cpp
@@ -0,0 +1,42 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "IFR_Service.h"
+
+ACE_RCSID(IFR_Service, IFR_Server, "$Id$")
+
+int
+main (int argc, char *argv[])
+{
+ IFR_Service server;
+
+ ACE_DEBUG ((LM_DEBUG, "TAO Interface Repository\n"));
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ if (server.init (argc, argv, ACE_TRY_ENV) == -1)
+ return 1;
+ else
+ {
+ server.run (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (server.fini (ACE_TRY_ENV) == -1)
+ return 1;
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCH (CORBA::SystemException, sysex)
+ {
+ ACE_PRINT_EXCEPTION (sysex, "System Exception");
+ return -1;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Unknown Exception");
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
diff --git a/TAO/orbsvcs/IFR_Service/IFR_Service.cpp b/TAO/orbsvcs/IFR_Service/IFR_Service.cpp
new file mode 100644
index 00000000000..bf2f25c00d6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_Service.cpp
@@ -0,0 +1,471 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "IFR_Service.h"
+#include "ComponentRepository_i.h"
+#include "Servant_Locator.h"
+#include "Options.h"
+#include "orbsvcs/IOR_Multicast.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, IFR_Service, "$Id$")
+
+IFR_Service::IFR_Service (void)
+ : servant_locator_impl_ (0),
+ ior_multicast_ (0),
+ config_ (0),
+ repo_impl_ (0),
+ repository_ (IR::Repository::_nil ())
+{
+}
+
+IFR_Service::~IFR_Service (void)
+{
+ // Get reactor instance from TAO.
+ ACE_Reactor *reactor = this->orb_->orb_core ()->reactor ();
+
+ // Remove event handler for the ior multicast.
+ if (reactor->remove_handler (this->ior_multicast_,
+ ACE_Event_Handler::READ_MASK)
+ == -1)
+ {
+ ACE_DEBUG ((
+ LM_DEBUG,
+ ACE_TEXT ("Interface Repository: cannot remove handler\n")
+ ));
+ }
+
+ CORBA::release (this->repository_);
+ delete this->servant_locator_impl_;
+ delete this->config_;
+ delete this->ior_multicast_;
+}
+
+int
+IFR_Service::init (int argc,
+ char *argv[],
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ ACE_TRY_NEW_ENV
+ {
+ this->orb_ = CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var obj =
+ this->orb_->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ this->root_poa_ =
+ PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ int retval = OPTIONS::instance()->parse_args (argc,
+ argv);
+
+ if (retval != 0)
+ return retval;
+
+ retval = this->create_poas (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (retval != 0)
+ return retval;
+
+ retval = this->open_config (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (retval != 0)
+ return retval;
+
+ retval = this->create_repository (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (retval != 0)
+ return retval;
+
+ retval = this->create_locator (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (retval != 0)
+ return retval;
+
+ retval = this->init_multicast_server (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (retval != 0)
+ return retval;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "The IFR IOR is: <%s>\n",
+ this->ifr_ior_.in ()));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "IFR_Service::init");
+
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ return 0;
+}
+
+int
+IFR_Service::run (CORBA::Environment &ACE_TRY_ENV)
+{
+ int status = this->orb_->run (0,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (status == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Error: IFR_Service::run"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+IFR_Service::fini (CORBA::Environment &ACE_TRY_ENV)
+{
+ ACE_TRY
+ {
+ this->root_poa_->destroy (1,
+ 1,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "IFR_Service::fini");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ return 0;
+}
+
+int
+IFR_Service::create_poas (CORBA::Environment &ACE_TRY_ENV)
+{
+ PortableServer::POAManager_var poa_manager =
+ this->root_poa_->the_POAManager (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ poa_manager->activate (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ CORBA::PolicyList policies (4);
+ policies.length (1);
+
+ // So the Repository's POA can survive a crash.
+ policies[0] =
+ this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_TString repo_name = "repoPOA";
+
+ this->repo_poa_ =
+ this->root_poa_->create_POA (repo_name.c_str (),
+ poa_manager.in (),
+ policies,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ policies.length (4);
+
+ // So we can create object ids based on the DefinitionKind.
+ policies[1] =
+ this->root_poa_->create_id_assignment_policy (
+ PortableServer::USER_ID,
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (-1);
+
+ // We'll use a servant manager.
+ policies[2] =
+ this->root_poa_->create_request_processing_policy (
+ PortableServer::USE_SERVANT_MANAGER,
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (-1);
+
+ // Specifically, we'll use a servant locator.
+ policies[3] =
+ this->root_poa_->create_servant_retention_policy (
+ PortableServer::NON_RETAIN,
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (-1);
+
+ ACE_TString name = "ir_objectPOA";
+
+ this->ir_object_poa_ =
+ this->root_poa_->create_POA (name.c_str (),
+ poa_manager.in (),
+ policies,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Destroy the policy objects as they have been passed to
+ // create_POA and no longer needed.
+ CORBA::ULong length = policies.length ();
+
+ for (CORBA::ULong i = 0; i < length; ++i)
+ {
+ CORBA::Policy_ptr policy = policies[i];
+ policy->destroy (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ return 0;
+}
+
+int
+IFR_Service::create_locator (CORBA::Environment &ACE_TRY_ENV)
+{
+ ACE_NEW_THROW_EX (this->servant_locator_impl_,
+ IFR_ServantLocator (this->repo_impl_),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (-1);
+
+ PortableServer::ServantLocator_var servant_locator =
+ this->servant_locator_impl_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ this->ir_object_poa_->set_servant_manager (servant_locator.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+IFR_Service::open_config (CORBA::Environment &ACE_TRY_ENV)
+{
+ if (OPTIONS::instance ()->using_registry ())
+ {
+#if defined (ACE_WIN32)
+ HKEY root =
+ ACE_Configuration_Win32Registry::resolve_key (
+ HKEY_LOCAL_MACHINE,
+ "Software\\TAO\\IFR"
+ );
+
+ ACE_NEW_THROW_EX (this->config_,
+ ACE_Configuration_Win32Registry (root),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (-1);
+#endif /* ACE_WIN32 */
+
+ return 0;
+ }
+ else
+ {
+ ACE_Configuration_Heap *heap = 0;
+ ACE_NEW_THROW_EX (heap,
+ ACE_Configuration_Heap,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (-1);
+
+ if (OPTIONS::instance ()->persistent ())
+ {
+ const char *filename = OPTIONS::instance ()->persistent_file ();
+
+ if (heap->open (filename))
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("Error:: Opening persistent heap file '%s'\n"),
+ filename
+ ),
+ -1
+ );
+ }
+ }
+ else
+ {
+ heap->open ();
+ }
+
+ this->config_ = heap;
+
+ return 0;
+ }
+}
+
+int
+IFR_Service::create_repository (CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_ComponentRepository_i *impl = 0;
+ ACE_NEW_THROW_EX (
+ impl,
+ TAO_ComponentRepository_i (
+ this->orb_.in (),
+ this->ir_object_poa_.in (),
+ this->config_
+ ),
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK_RETURN (-1);
+
+ auto_ptr<TAO_ComponentRepository_i> safety (impl);
+
+ POA_IR::ComponentRepository_tie<TAO_ComponentRepository_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (
+ impl_tie,
+ POA_IR::ComponentRepository_tie<TAO_ComponentRepository_i> (
+ impl,
+ this->repo_poa_,
+ 1
+ ),
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK_RETURN (-1);
+
+ PortableServer::ServantBase_var tie_safety (impl_tie);
+ safety.release ();
+
+ this->repo_impl_ = impl;
+
+ PortableServer::ObjectId_var repo_oid =
+ this->repo_poa_->activate_object (impl_tie,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ this->repository_ = impl_tie->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+
+ impl->repo_objref (this->repository_);
+
+ // Register with the INS.
+ this->orb_->_tao_add_to_IOR_table ("InterfaceRepository",
+ this->repository_);
+
+ // Save and output the IOR string.
+ this->ifr_ior_ =
+ this->orb_->object_to_string (this->repository_,
+ ACE_TRY_ENV);
+
+ ACE_CHECK_RETURN (-1);
+
+ FILE *output_file_ =
+ ACE_OS::fopen (OPTIONS::instance()->ior_output_file (),
+ "w");
+
+ ACE_OS::fprintf (output_file_,
+ "%s",
+ this->ifr_ior_.in ());
+
+ ACE_OS::fclose (output_file_);
+
+ return 0;
+}
+
+// Install ior multicast handler.
+int
+IFR_Service::init_multicast_server (CORBA::Environment &ACE_TRY_ENV)
+{
+ // Get reactor instance from TAO.
+ ACE_Reactor *reactor = this->orb_->orb_core ()->reactor ();
+
+#if defined (ACE_HAS_IP_MULTICAST)
+
+ // See if the -ORBMulticastDiscoveryEndpoint option was specified.
+ ACE_CString mde (
+ TAO_ORB_Core_instance ()->orb_params ()->mcast_discovery_endpoint ()
+ );
+
+ // First, see if the user has given us a multicast port number
+ // on the command-line;
+ u_short port =
+ TAO_ORB_Core_instance ()->orb_params ()->service_port (
+ INTERFACEREPOSERVICE
+ );
+
+ if (port == 0)
+ {
+ // Check environment var. for multicast port.
+ const char *port_number =
+ ACE_OS::getenv ("InterfaceRepoServicePort");
+
+ if (port_number != 0)
+ port = ACE_OS::atoi (port_number);
+ }
+
+ // Port wasn't specified on the command-line or in environment -
+ // use the default.
+ if (port == 0)
+ port = TAO_DEFAULT_INTERFACEREPO_SERVER_REQUEST_PORT;
+
+ // Instantiate a handler which will handle client requests for
+ // the IFR ior, received on the multicast port.
+ ACE_NEW_THROW_EX (this->ior_multicast_,
+ TAO_IOR_Multicast (),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (-1);
+
+ if (mde.length () != 0)
+ {
+ if (this->ior_multicast_->init (this->ifr_ior_.in (),
+ mde.c_str (),
+ TAO_SERVICEID_INTERFACEREPOSERVICE)
+ == -1)
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("Interface Repository: cannot initialize ")
+ ACE_TEXT ("multicast event handler\n")
+ ),
+ -1
+ );
+ }
+ }
+ else
+ {
+ if (this->ior_multicast_->init (this->ifr_ior_.in (),
+ port,
+ ACE_DEFAULT_MULTICAST_ADDR,
+ TAO_SERVICEID_INTERFACEREPOSERVICE)
+ == -1)
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("Interface Repository: cannot initialize ")
+ ACE_TEXT ("multicast event handler\n")
+ ),
+ -1
+ );
+ }
+ }
+
+ // Register event handler for the ior multicast.
+ if (reactor->register_handler (this->ior_multicast_,
+ ACE_Event_Handler::READ_MASK)
+ == -1)
+ {
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("Interface Repository: cannot register ")
+ ACE_TEXT ("multicast event handler\n")
+ ),
+ -1
+ );
+ }
+
+#endif /* ACE_HAS_IP_MULTICAST */
+
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/IFR_Service.dsp b/TAO/orbsvcs/IFR_Service/IFR_Service.dsp
new file mode 100644
index 00000000000..6603eb7bed6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_Service.dsp
@@ -0,0 +1,466 @@
+# Microsoft Developer Studio Project File - Name="IFR_Service" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=IFR_Service - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "IFR_Service.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "IFR_Service.mak" CFG="IFR_Service - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "IFR_Service - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "IFR_Service - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "IFR_Service - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir ""
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\\" /I "..\..\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib TAO.lib TAO_Svc_Utils.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ELSEIF "$(CFG)" == "IFR_Service - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir ""
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\\" /I "..\..\\" /I "..\\" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib TAOd.lib TAO_Svc_Utilsd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao" /libpath:"..\orbsvcs"
+
+!ENDIF
+
+# Begin Target
+
+# Name "IFR_Service - Win32 Release"
+# Name "IFR_Service - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\AliasDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ArrayDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AttributeDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ComponentDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ComponentRepository_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ConstantDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ConsumesDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Contained_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Container_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EmitsDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EnumDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\EventDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExceptionDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FactoryDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FinderDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FixedDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\HomeDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\IDLType_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\IFR_Server.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\IFR_Service.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\InterfaceDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\InterfaceS.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\IRObject_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ModuleDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NativeDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\OperationDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Options.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PrimaryKeyDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PrimitiveDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ProvidesDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PublishesDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Repository_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SequenceDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_Factory.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_Locator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StringDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StructDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\tmplinst.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TypedefDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\UnionDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\UsesDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueBoxDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueMemberDef_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\WstringDef_i.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\AliasDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ArrayDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AttributeDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ComponentDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ComponentRepository_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\concrete_classes.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ConstantDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ConsumesDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Contained_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Container_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EmitsDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EnumDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EventDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExceptionDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FactoryDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FinderDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FixedDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HomeDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IDLType_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IFR_Service.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\InterfaceDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\InterfaceS.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\InterfaceS_T.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\IRObject_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ModuleDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\NativeDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OperationDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Options.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\PrimaryKeyDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\PrimitiveDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ProvidesDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\PublishesDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Repository_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SequenceDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_Factory.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Servant_Locator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StringDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StructDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TypedefDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\UnionDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\UsesDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueBoxDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ValueMemberDef_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\WstringDef_i.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i"
+# Begin Source File
+
+SOURCE=.\InterfaceS.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\InterfaceS_T.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/IFR_Service/IFR_Service.h b/TAO/orbsvcs/IFR_Service/IFR_Service.h
new file mode 100644
index 00000000000..f641f6d95b9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_Service.h
@@ -0,0 +1,106 @@
+// $Id$
+
+// ========================================================================
+//
+// = LIBRARY
+// orbsvcs/IFR_Service
+//
+// = FILENAME
+// IFR_Service.h
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// =======================================================================
+
+#ifndef IFR_SERVICE_H
+#define IFR_SERVICE_H
+
+#include "tao/ORB.h"
+#include "tao/ifrfwd.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class IFR_ServantLocator;
+class TAO_IOR_Multicast;
+class ACE_Configuration;
+class TAO_Repository_i;
+
+class IFR_Service
+{
+ // = TITLE
+ // IFR_Service
+ //
+ // = DESCRIPTION
+ // A class that initializes, runs and shuts down
+ // the Interface Repository service.
+public:
+
+ IFR_Service (void);
+ // Default constructor.
+
+ ~IFR_Service (void);
+ // Destructor
+
+ int init (int argc,
+ char *argv[],
+ CORBA::Environment &ACE_TRY_ENV);
+ // Initialize the IFR service.
+
+ int run (CORBA::Environment &ACE_TRY_ENV);
+ // Run the IFR service.
+
+ int fini (CORBA::Environment &ACE_TRY_ENV);
+ // Shut down the IFR service.
+
+protected:
+ int create_poas (CORBA::Environment &ACE_TRY_ENV);
+ // Two persistent POAs, one using a servant locator.
+
+ int create_locator (CORBA::Environment &ACE_TRY_ENV);
+ // Create a servant locator and register it with its POA.
+
+ int open_config (CORBA::Environment &ACE_TRY_ENV);
+ // Open an ACE_Configuration of the appropriate type.
+
+ int create_repository (CORBA::Environment &ACE_TRY_ENV);
+ // Create and initialize the repository.
+
+ int init_multicast_server (CORBA::Environment &ACE_TRY_ENV);
+ // Enable the Interface Repository to answer multicast requests
+ // for its IOR.
+
+ CORBA::ORB_var orb_;
+ // Reference to our ORB.
+
+ PortableServer::POA_var root_poa_;
+ // Root POA reference.
+
+ PortableServer::POA_var repo_poa_;
+ // The Repository's POA reference.
+
+ PortableServer::POA_var ir_object_poa_;
+ // POA reference for all other IFR objects.
+
+ IFR_ServantLocator *servant_locator_impl_;
+ // Our servant locator implementation instance.
+
+ TAO_IOR_Multicast *ior_multicast_;
+ // Event handler that responds to resolve_initial_references requests.
+
+ ACE_Configuration *config_;
+ // Database for the IFR.
+
+ TAO_Repository_i *repo_impl_;
+ // The IFR implementation instance.
+
+ IR::Repository_ptr repository_;
+ // The Interface Repository object reference.
+
+ CORBA::String_var ifr_ior_;
+ // Interface Repository's IOR.
+};
+
+#endif /* IFR_SERVICE_H */
diff --git a/TAO/orbsvcs/IFR_Service/IRObject_i.cpp b/TAO/orbsvcs/IFR_Service/IRObject_i.cpp
new file mode 100644
index 00000000000..98b6e25a0ce
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IRObject_i.cpp
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "IRObject_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, IRObject_i, "$Id$")
+
+TAO_IRObject_i::TAO_IRObject_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : repo_ (repo),
+ section_key_ (section_key)
+{
+}
+
+TAO_IRObject_i::~TAO_IRObject_i (void)
+{
+}
+
+char *
+TAO_IRObject_i::int_to_string (CORBA::ULong number) const
+{
+ char retval[9];
+
+ ACE_OS::sprintf (retval, "%08.8X", number);
+
+ return CORBA::string_dup (retval);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/IRObject_i.h b/TAO/orbsvcs/IFR_Service/IRObject_i.h
new file mode 100644
index 00000000000..07880df9374
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IRObject_i.h
@@ -0,0 +1,84 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// IRObject_i.h
+//
+// = DESCRIPTION
+// CORBA::IRObject servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_IROBJECT_I_H
+#define TAO_IROBJECT_I_H
+
+#include "InterfaceS.h"
+#include "ace/Configuration.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Repository_i;
+
+class TAO_IRObject_i : public POA_CORBA::IRObject
+{
+ // = TITLE
+ // TAO_IRObject_i
+ //
+ // = DESCRIPTION
+ // Abstract base class for all IR object types.
+ //
+public:
+ TAO_IRObject_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_IRObject_i (void);
+ // Destructor.
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual.
+
+protected:
+ char *int_to_string (CORBA::ULong number) const;
+ // Convert an unsigned int to a string of its hex form.
+
+ TAO_Repository_i *repo_;
+ // Pointer to the repository we were constructed from.
+
+ ACE_Configuration_Section_Key section_key_;
+ // Our ACE_Configuration section key.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_IROBJECT_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp
new file mode 100644
index 00000000000..65130af3007
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp
@@ -0,0 +1,909 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "InterfaceDef_i.h"
+#include "Repository_i.h"
+#include "AttributeDef_i.h"
+#include "OperationDef_i.h"
+#include "Servant_Factory.h"
+
+ACE_RCSID(IFR_Service, InterfaceDef_i, "$Id$")
+
+TAO_InterfaceDef_i::TAO_InterfaceDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_InterfaceDef_i::~TAO_InterfaceDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_InterfaceDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Interface;
+}
+
+void
+TAO_InterfaceDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // This will get rid of the repo ids, which Contained_i::destroy()'s
+ // call to remove_section (recursive = 1) will not get, and also
+ // destroy the attribute's anonymous type, if any.
+ this->destroy_special ("attrs", ACE_TRY_ENV);
+ ACE_CHECK;
+ this->destroy_special ("ops", ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+IR::Contained::Description *
+TAO_InterfaceDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::InterfaceDescription ifd;
+
+ ifd.name = this->name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ifd.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ ifd.defined_in = container_id.c_str ();
+
+ ifd.version = this->version (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ int index = 0;
+ CORBA::ULong i = 0;
+ ACE_TString section_name;
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ // Operations
+ ACE_Configuration_Section_Key ops_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ ops_key);
+
+ u_int count = 0;
+
+ if (status == 0)
+ {
+ this->repo_->config ()->get_integer_value (ops_key,
+ "count",
+ count);
+
+ for (u_int j = 0; j < count; ++j)
+ {
+ ACE_Configuration_Section_Key op_key;
+ CORBA::String_var section_name = this->int_to_string (j);
+ status =
+ this->repo_->config ()->open_section (ops_key,
+ section_name.in (),
+ 0,
+ op_key);
+
+ if (status == 0)
+ key_queue.enqueue_tail (op_key);
+ }
+ }
+
+ size_t size = key_queue.size ();
+ ifd.operations.length (size);
+
+ for (i = 0; i < size; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ TAO_OperationDef_i op (this->repo_,
+ key);
+
+ ifd.operations[i] = op.make_description (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ index = 0;
+
+ // Attributes
+ ACE_Configuration_Section_Key attrs_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ attrs_key);
+
+ count = 0;
+
+ if (status == 0)
+ {
+ this->repo_->config ()->get_integer_value (attrs_key,
+ "count",
+ count);
+
+ for (u_int j = 0; j < count; ++j)
+ {
+ ACE_Configuration_Section_Key attr_key;
+ CORBA::String_var section_name = this->int_to_string (j);
+ status =
+ this->repo_->config ()->open_section (attrs_key,
+ section_name.in (),
+ 0,
+ attr_key);
+
+ if (status == 0)
+ key_queue.enqueue_tail (attr_key);
+ }
+ }
+
+ size = key_queue.size ();
+ ifd.attributes.length (size);
+
+ for (i = 0; i < size; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ TAO_AttributeDef_i attr (this->repo_,
+ key);
+
+ ifd.attributes[i] = attr.make_description (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ IR::InterfaceDefSeq_var bases = this->base_interfaces (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = bases->length ();
+
+ IR::RepositoryIdSeq repo_ids (length);
+
+ repo_ids.length (length);
+
+ for (i = 0; i < length; ++i)
+ {
+ repo_ids[i] = bases[i]->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ ifd.base_interfaces = repo_ids;
+
+ ifd.type = this->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ifd.is_abstract = this->is_abstract (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ifd.is_local = this->is_local (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= ifd;
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_InterfaceDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ return this->repo_->tc_factory ()->create_interface_tc (id.c_str (),
+ name.c_str (),
+ ACE_TRY_ENV);
+}
+
+IR::InterfaceDefSeq *
+TAO_InterfaceDef_i::base_interfaces (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ inherited_key);
+
+ int index = 0;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString section_name;
+ ACE_Unbounded_Queue<IR::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ while (this->repo_->config ()->enumerate_values (inherited_key,
+ index,
+ section_name,
+ type)
+ == 0)
+ {
+ ACE_TString inherited_path;
+ this->repo_->config ()->get_string_value (inherited_key,
+ section_name.c_str (),
+ inherited_path);
+
+ path_queue.enqueue_tail (inherited_path);
+
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ inherited_path,
+ base_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (base_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ ++index;
+ }
+
+ IR::InterfaceDefSeq *seq = 0;
+ ACE_NEW_THROW_EX (seq,
+ IR::InterfaceDefSeq (index),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ seq->length (index);
+ IR::InterfaceDefSeq_var retval = seq;
+
+ for (CORBA::ULong i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ IR::DefinitionKind def_kind;
+ kind_queue.dequeue_head (def_kind);
+
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (
+ def_kind,
+ path.c_str (),
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = IR::InterfaceDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_InterfaceDef_i::base_interfaces (const IR::InterfaceDefSeq &base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Remove the old base interfaces.
+ this->repo_->config ()->remove_section (this->section_key_,
+ "inherited",
+ 0);
+
+ CORBA::ULong length = base_interfaces.length ();
+
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 1,
+ inherited_key);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ CORBA::String_var name = base_interfaces[i]->name (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // None of these names can clash with any we may already have.
+ if (TAO_Container_i::name_exists (name.in ()))
+ return;
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (base_interfaces[i],
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var inherited_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (inherited_key,
+ section_name.in (),
+ inherited_path.in ());
+ }
+}
+
+CORBA::Boolean
+TAO_InterfaceDef_i::is_abstract (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int is_abstract = 0;
+
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "is_abstract",
+ is_abstract);
+
+ return ACE_static_cast (CORBA::Boolean, is_abstract);;
+}
+
+void
+TAO_InterfaceDef_i::is_abstract (CORBA::Boolean is_abstract,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "is_abstract",
+ is_abstract);
+}
+
+CORBA::Boolean
+TAO_InterfaceDef_i::is_local (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int is_local = 0;
+
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "is_local",
+ is_local);
+
+ return ACE_static_cast (CORBA::Boolean, is_local);;
+}
+
+void
+TAO_InterfaceDef_i::is_local (CORBA::Boolean is_local,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "is_local",
+ is_local);
+}
+
+CORBA::Boolean
+TAO_InterfaceDef_i::is_a (const char *interface_id,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::String_var id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ // Is it our type?
+ if (ACE_OS::strcmp (id.in (), interface_id) == 0)
+ return 1;
+
+ // Is it one of our ancestors' types?
+ IR::InterfaceDefSeq_var bases = this->base_interfaces (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = bases->length ();
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ CORBA::Boolean success = bases[i]->is_a (interface_id,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ if (success == 1)
+ return 1;
+ }
+
+ return 0;
+}
+
+IR::AttributeDef_ptr
+TAO_InterfaceDef_i::create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq &get_exceptions,
+ const IR::ExceptionDefSeq &put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AttributeDef::_nil ());
+
+ if (bad_params)
+ return IR::AttributeDef::_nil ();
+
+ ACE_Configuration_Section_Key attrs_key;
+
+ // Create/open section for attributes.
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 1,
+ attrs_key);
+
+ ACE_Configuration_Section_Key new_key;
+
+ // Common to all IR objects created in IR::Container.
+ ACE_TString path = this->create_common (attrs_key,
+ new_key,
+ id,
+ name,
+ version,
+ "attrs\\",
+ IR::dk_Attribute);
+
+ // Store the path to the attribute's type definition.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AttributeDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "type_path",
+ type_path.in ());
+
+ // Store the attribute's mode.
+ this->repo_->config ()->set_integer_value (new_key,
+ "mode",
+ mode);
+
+ CORBA::ULong i = 0;
+
+ CORBA::ULong length = get_exceptions.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the 'get' exceptions.
+ ACE_Configuration_Section_Key get_excepts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "get_excepts",
+ 1,
+ get_excepts_key);
+
+ // Store the paths to the 'get' exceptions.
+ for (i = 0; i < length; ++i)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (get_exceptions[i],
+ ACE_TRY_ENV);
+
+ ACE_CHECK_RETURN (IR::AttributeDef::_nil ());
+
+ CORBA::String_var get_except_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (get_excepts_key,
+ section_name.in (),
+ get_except_path.in ());
+ }
+ }
+
+ length = put_exceptions.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the 'put' exceptions.
+ ACE_Configuration_Section_Key put_excepts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "put_excepts",
+ 1,
+ put_excepts_key);
+
+ // Store the paths to the 'put' exceptions.
+ for (i = 0; i < length; ++i)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (put_exceptions[i],
+ ACE_TRY_ENV);
+
+ ACE_CHECK_RETURN (IR::AttributeDef::_nil ());
+
+ CORBA::String_var put_except_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (put_excepts_key,
+ section_name.in (),
+ put_except_path.in ());
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Attribute,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AttributeDef::_nil ());
+
+ IR::AttributeDef_var retval =
+ IR::AttributeDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::AttributeDef::_nil ());
+
+ return retval._retn ();
+}
+
+IR::OperationDef_ptr
+TAO_InterfaceDef_i::create_operation (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ const IR::ContextIdSeq &contexts,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::OperationDef::_nil ());
+
+ if (bad_params)
+ return IR::OperationDef::_nil ();
+
+ ACE_Configuration_Section_Key ops_key;
+
+ // Create/open section for attributes.
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 1,
+ ops_key);
+
+ ACE_Configuration_Section_Key new_key;
+
+ // Common to all IR objects created in IR::Container.
+ ACE_TString path = this->create_common (ops_key,
+ new_key,
+ id,
+ name,
+ version,
+ "ops\\",
+ IR::dk_Operation);
+
+ // Get the path to our return type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (result,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::OperationDef::_nil ());
+
+ CORBA::String_var result_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "result",
+ result_path.in ());
+
+ // Store the operation mode.
+ this->repo_->config ()->set_integer_value (new_key,
+ "mode",
+ mode);
+
+ CORBA::ULong i = 0;
+
+ // Store the operation's parameter info.
+ CORBA::ULong length = params.length ();
+
+ if (length > 0)
+ {
+ ACE_Configuration_Section_Key params_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "params",
+ 1,
+ params_key);
+
+ this->repo_->config ()->set_integer_value (params_key,
+ "count",
+ length);
+
+ for (i = 0; i < length; ++i)
+ {
+ ACE_Configuration_Section_Key param_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->open_section (params_key,
+ section_name.in (),
+ 1,
+ param_key);
+
+ const char *name = params[i].name;
+
+ this->repo_->config ()->set_string_value (param_key,
+ "name",
+ name);
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (params[i].type_def,
+ ACE_TRY_ENV);
+
+ ACE_CHECK_RETURN (IR::OperationDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (param_key,
+ "type_path",
+ type_path.in ());
+
+ this->repo_->config ()->set_integer_value (param_key,
+ "mode",
+ params[i].mode);
+ }
+ }
+
+ // Store the operation's exception info.
+ length = exceptions.length ();
+
+ if (length > 0)
+ {
+ ACE_Configuration_Section_Key excepts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "excepts",
+ 1,
+ excepts_key);
+
+ for (i = 0; i < length; ++i)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (exceptions[i],
+ ACE_TRY_ENV);
+
+ ACE_CHECK_RETURN (IR::OperationDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (excepts_key,
+ section_name.in (),
+ type_path.in ());
+ }
+ }
+
+ // Store the operation's context info.
+ length = contexts.length ();
+
+ if (length > 0)
+ {
+ ACE_Configuration_Section_Key contexts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "contexts",
+ 1,
+ contexts_key);
+
+ for (i = 0; i < length; ++i)
+ {
+ const char *context = contexts[i];
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (contexts_key,
+ section_name.in (),
+ context);
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (IR::dk_Operation,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::OperationDef::_nil ());
+
+ IR::OperationDef_var retval =
+ IR::OperationDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::OperationDef::_nil ());
+
+ return retval._retn ();
+}
+
+void
+TAO_InterfaceDef_i::inherited_contents (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ IR::DefinitionKind limit_type,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ path);
+
+ ACE_TString section_name;
+ int index = 0;
+
+ // Attributes
+ if (limit_type == IR::dk_Attribute
+ || limit_type == IR::dk_all)
+ {
+ ACE_Configuration_Section_Key attrs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ attrs_key);
+
+ while (this->repo_->config ()->enumerate_sections (attrs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ kind_queue.enqueue_tail (IR::dk_Attribute);
+
+ path_queue.enqueue_tail (
+ path + "\\attrs\\" + section_name.c_str ()
+ );
+ }
+ }
+
+ // Operations
+ if (limit_type == IR::dk_Operation
+ || limit_type == IR::dk_all)
+ {
+ index = 0;
+
+ ACE_Configuration_Section_Key ops_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ ops_key);
+
+ while (this->repo_->config ()->enumerate_sections (ops_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ kind_queue.enqueue_tail (IR::dk_Operation);
+
+ path_queue.enqueue_tail (
+ path + "\\ops\\" + section_name.c_str ()
+ );
+ }
+ }
+
+ // Must recurse through the base interfaces.
+ ACE_Configuration_Section_Key inherited_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ inherited_key);
+
+ ACE_TString base_path;
+ ACE_Configuration_Section_Key base_key;
+ ACE_Configuration::VALUETYPE type;
+ index = 0;
+
+ while (this->repo_->config ()->enumerate_values (inherited_key,
+ index++,
+ section_name,
+ type)
+ == 0)
+ {
+ this->repo_->config ()->get_string_value (inherited_key,
+ section_name.c_str (),
+ base_path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ base_path,
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i base_iface (this->repo_,
+ base_key);
+
+ base_iface.inherited_contents (kind_queue,
+ path_queue,
+ limit_type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+}
+
+void
+TAO_InterfaceDef_i::destroy_special (const char *sub_section,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key sub_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ sub_section,
+ 0,
+ sub_key);
+
+ ACE_TString section_name;
+ int index = 0;
+ while (this->repo_->config ()->enumerate_sections (sub_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (sub_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ if (ACE_OS::strcmp (sub_section, "attrs") == 0)
+ {
+ TAO_AttributeDef_i attr (this->repo_,
+ member_key);
+
+ attr.destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+ else
+ {
+ TAO_OperationDef_i op (this->repo_,
+ member_key);
+
+ op.destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+ }
+
+}
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h
new file mode 100644
index 00000000000..6635d5c338a
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h
@@ -0,0 +1,182 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// InterfaceDef_i.h
+//
+// = DESCRIPTION
+// IR::InterfaceDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_INTERFACEDEF_I_H
+#define TAO_INTERFACEDEF_I_H
+
+#include "Contained_i.h"
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_InterfaceDef_i : public virtual TAO_Container_i,
+ public virtual TAO_Contained_i,
+ public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_InterfaceDef_i
+ //
+ // = DESCRIPTION
+ // Represents an interface definition.
+ //
+public:
+ TAO_InterfaceDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_InterfaceDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::InterfaceDefSeq *base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void base_interfaces (
+ const IR::InterfaceDefSeq &base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_local (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_a (
+ const char *interface_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::AttributeDef_ptr create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq &get_exceptions,
+ const IR::ExceptionDefSeq &put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::OperationDef_ptr create_operation (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ const IR::ContextIdSeq &contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void inherited_contents (
+ ACE_Unbounded_Queue<IR::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ IR::DefinitionKind limit_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Gathers the attributes and operations of all the ancestors.
+
+private:
+ void destroy_special (
+ const char *sub_section,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Removed the repo ids of our attributes and operations from
+ // the flat repo ids section of the repository.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_INTERFACEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceS.cpp b/TAO/orbsvcs/IFR_Service/InterfaceS.cpp
new file mode 100644
index 00000000000..3fe5e34e244
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceS.cpp
@@ -0,0 +1,33738 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
+// TAO and the TAO IDL Compiler have been developed by the Center for
+// Distributed Object Computing at Washington University, St. Louis.
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// Contains all skeleton source code generated from Interface.idl
+// except that for CORBA::IRObject and CORBA::TypeCodeFactory, which
+// is included in tao/InterfaceS.cpp.
+
+#include "InterfaceS.h"
+
+ACE_RCSID(IFR_Service, IFR_skel, "$Id$")
+
+#if !defined (__ACE_INLINE__)
+#include "InterfaceS.i"
+#endif /* !defined INLINE */
+
+class TAO_CORBA_IRObject_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:05:52 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_IRObject_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_IRObject_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 0,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 0,
+ 15, 15, 0, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 1, 15, 15, 15, 15, 0, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15,
+#else
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 0, 15, 0, 15, 15,
+ 0, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+ 15, 15, 15, 15, 15, 15, 1, 15, 15, 15,
+ 15, 0, 15, 15, 15, 15, 15, 15,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_IRObject_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 4,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 14,
+ HASH_VALUE_RANGE = 10,
+ DUPLICATES = 0
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA::IRObject::_is_a_skel},
+ {"",0},
+ {"destroy", &POA_CORBA::IRObject::destroy_skel},
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_get_def_kind", &POA_CORBA::IRObject::_get_def_kind_skel},
+ {"_non_existent", &POA_CORBA::IRObject::_non_existent_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+/* ending time is 22:05:52 */
+static TAO_CORBA_IRObject_Perfect_Hash_OpTable tao_CORBA_IRObject_optable;
+
+CORBA::IRObject_ptr _TAO_collocation_POA_CORBA_IRObject_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ CORBA::IRObject_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_CORBA::_tao_thru_poa_collocated_IRObject (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_CORBA_IRObject_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_CORBA_IRObject_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_CORBA_IRObject_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_CORBA_IRObject_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_CORBA_IRObject_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_CORBA_IRObject_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_CORBA::IRObject::IRObject (void)
+{
+ this->optable_ = &tao_CORBA_IRObject_optable;
+}
+
+// copy ctor
+POA_CORBA::IRObject::IRObject (const IRObject& rhs)
+ : TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA::IRObject::~IRObject (void)
+{
+}
+
+void POA_CORBA::IRObject::_get_def_kind_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_CORBA::IRObject *_tao_impl = (POA_CORBA::IRObject *)_tao_object_reference;
+
+ IR::DefinitionKind _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_def_kind",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->def_kind (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_def_kind",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_def_kind",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_CORBA::IRObject::destroy_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_CORBA::IRObject *_tao_impl = (POA_CORBA::IRObject *)_tao_object_reference;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "destroy",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->destroy (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "destroy",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "destroy",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_CORBA::IRObject::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA::IRObject *_tao_impl = (POA_CORBA::IRObject *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA::IRObject::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_CORBA::IRObject *_tao_impl = (POA_CORBA::IRObject *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_CORBA::IRObject::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA::IRObject::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA::IRObject::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_CORBA::IRObject::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/IRObject:1.0";
+}
+
+CORBA::IRObject*
+POA_CORBA::IRObject::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::CORBA::IRObject_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_CORBA::_tao_thru_poa_collocated_IRObject (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::CORBA::IRObject::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_CORBA::_tao_thru_poa_collocated_IRObject::_tao_thru_poa_collocated_IRObject (
+ TAO_Stub *stub
+)
+ : CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_CORBA::_tao_thru_poa_collocated_IRObject::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::IRObject_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IRObject:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_CORBA::_tao_thru_poa_collocated_IRObject::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::IRObject_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IRObject:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::DefinitionKind POA_CORBA::_tao_thru_poa_collocated_IRObject::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::DefinitionKind _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "def_kind",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA::IRObject_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IRObject:1.0"
+ )
+ )->def_kind (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_CORBA::_tao_thru_poa_collocated_IRObject::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "destroy",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA::IRObject_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IRObject:1.0"
+ )
+ )->destroy (
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+class TAO_IR_Contained_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_Contained_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_Contained_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_Contained_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 15,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::Contained::move_skel},
+ {"_is_a", &POA_IR::Contained::_is_a_skel},
+ {"_get_id", &POA_IR::Contained::_get_id_skel},
+ {"_set_id", &POA_IR::Contained::_set_id_skel},
+ {"describe", &POA_IR::Contained::describe_skel},
+ {"_get_name", &POA_IR::Contained::_get_name_skel},
+ {"_set_name", &POA_IR::Contained::_set_name_skel},
+ {"_get_version", &POA_IR::Contained::_get_version_skel},
+ {"_set_version", &POA_IR::Contained::_set_version_skel},
+ {"_get_def_kind", &POA_IR::Contained::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::Contained::_get_defined_in_skel},
+ {"destroy", &POA_IR::Contained::destroy_skel},
+ {"_get_absolute_name", &POA_IR::Contained::_get_absolute_name_skel},
+ {"_non_existent", &POA_IR::Contained::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::Contained::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ -1, 14, -1, 15, 16, -1, -1, -1, -1, 17, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 18,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_Contained_Perfect_Hash_OpTable tao_IR_Contained_optable;
+
+IR::Contained_ptr _TAO_collocation_POA_IR_Contained_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::Contained_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_Contained (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_Contained_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_Contained_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_Contained_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_Contained_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_Contained_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_Contained_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::Contained::Contained (void)
+{
+ this->optable_ = &tao_IR_Contained_optable;
+}
+
+// copy ctor
+POA_IR::Contained::Contained (const Contained& rhs)
+ : ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::Contained::~Contained (void)
+{
+}
+
+void POA_IR::Contained::_get_id_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_id",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->id (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_id",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_id",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::_set_id_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var id;
+ if (!(
+ (_tao_in >> id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_id",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->id (
+ id.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_id",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_id",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::Contained::_get_name_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->name (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_name",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::_set_name_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> name.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->name (
+ name.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_name",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::Contained::_get_version_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_version",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->version (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_version",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_version",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::_set_version_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var version;
+ if (!(
+ (_tao_in >> version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_version",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->version (
+ version.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_version",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_version",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::Contained::_get_defined_in_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ IR::Container_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_defined_in",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->defined_in (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_defined_in",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_defined_in",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::_get_absolute_name_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ CORBA::String_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_absolute_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->absolute_name (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_absolute_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_absolute_name",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::_get_containing_repository_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ IR::Repository_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_containing_repository",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->containing_repository (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_containing_repository",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_containing_repository",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::describe_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ IR::Contained::Description_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "describe",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->describe (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "describe",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "describe",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Contained::move_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *)_tao_object_reference;
+
+ IR::Container_var new_container;
+ CORBA::String_var new_name;
+ CORBA::String_var new_version;
+ if (!(
+ (_tao_in >> new_container.out ()) &&
+ (_tao_in >> new_name.out ()) &&
+ (_tao_in >> new_version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "move",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->move (
+ new_container.in (),
+ new_name.in (),
+ new_version.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "move",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "move",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::Contained::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::Contained::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::Contained *_tao_impl = (POA_IR::Contained *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::Contained::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::Contained::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::Contained::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::Contained::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/Contained:1.0";
+}
+
+IR::Contained*
+POA_IR::Contained::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::Contained_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_Contained (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::Contained::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_Contained::_tao_thru_poa_collocated_Contained (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_Contained::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_Contained::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+char * POA_IR::_tao_thru_poa_collocated_Contained::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "id",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->id (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_Contained::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "id",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->id (
+ id,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+char * POA_IR::_tao_thru_poa_collocated_Contained::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "name",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->name (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_Contained::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "name",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->name (
+ name,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+char * POA_IR::_tao_thru_poa_collocated_Contained::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "version",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->version (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_Contained::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "version",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->version (
+ version,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::Container_ptr POA_IR::_tao_thru_poa_collocated_Contained::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::Container_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "defined_in",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->defined_in (
+ ACE_TRY_ENV
+ );
+
+}
+
+char * POA_IR::_tao_thru_poa_collocated_Contained::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "absolute_name",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->absolute_name (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::Repository_ptr POA_IR::_tao_thru_poa_collocated_Contained::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::Repository_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "containing_repository",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->containing_repository (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::Contained::Description * POA_IR::_tao_thru_poa_collocated_Contained::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::Contained::Description_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "describe",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->describe (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_Contained::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "move",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Contained:1.0"
+ )
+ )->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_Container_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_Container_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_Container_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 15,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 0,
+ 39, 0, 0, 0, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 0, 20, 5,
+ 39, 0, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 10, 10, 39, 39, 39, 10, 0, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39,
+#else
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 15, 39, 0, 39, 0,
+ 0, 0, 39, 39, 39, 39, 39, 39, 0, 20,
+ 5, 39, 0, 39, 39, 10, 10, 39, 39, 39,
+ 10, 0, 39, 39, 39, 39, 39, 39,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_Container_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 19,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 17,
+ MIN_HASH_VALUE = 6,
+ MAX_HASH_VALUE = 38,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 2
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},
+ {"lookup", &POA_IR::Container::lookup_skel},
+ {"destroy", &POA_IR::Container::destroy_skel},
+ {"lookup_name", &POA_IR::Container::lookup_name_skel},
+ {"create_value", &POA_IR::Container::create_value_skel},
+ {"create_module", &POA_IR::Container::create_module_skel},
+ {"create_native", &POA_IR::Container::create_native_skel},
+ {"create_interface", &POA_IR::Container::create_interface_skel},
+ {"create_union", &POA_IR::Container::create_union_skel},
+ {"contents", &POA_IR::Container::contents_skel},
+ {"_is_a", &POA_IR::Container::_is_a_skel},
+ {"create_exception", &POA_IR::Container::create_exception_skel},
+ {"create_alias", &POA_IR::Container::create_alias_skel},
+ {"create_struct", &POA_IR::Container::create_struct_skel},
+ {"create_constant", &POA_IR::Container::create_constant_skel},
+ {"create_value_box", &POA_IR::Container::create_value_box_skel},
+ {"describe_contents", &POA_IR::Container::describe_contents_skel},
+ {"_get_def_kind", &POA_IR::Container::_get_def_kind_skel},
+ {"create_enum", &POA_IR::Container::create_enum_skel},
+ {"_non_existent", &POA_IR::Container::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, -1, 6, 7, -1, -10, -2, 8, 9, -42,
+ -1, -1, 12, 13, 14, -1, 15, 16, 17, 18, -1, 19, 20, 21,
+ 22, -1, -1, 23, -1, -1, -1, -1, -1, -1, 24,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_Container_Perfect_Hash_OpTable tao_IR_Container_optable;
+
+IR::Container_ptr _TAO_collocation_POA_IR_Container_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::Container_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_Container (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_Container_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_Container_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_Container_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_Container_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_Container_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_Container_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::Container::Container (void)
+{
+ this->optable_ = &tao_IR_Container_optable;
+}
+
+// copy ctor
+POA_IR::Container::Container (const Container& rhs)
+ : ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::Container::~Container (void)
+{
+}
+
+void POA_IR::Container::lookup_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::Contained_var _tao_retval;
+ CORBA::String_var search_name;
+ if (!(
+ (_tao_in >> search_name.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->lookup (
+ search_name.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::contents_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ContainedSeq_var _tao_retval;
+ IR::DefinitionKind limit_type;
+ CORBA::Boolean exclude_inherited;
+ if (!(
+ (_tao_in >> limit_type) &&
+ (_tao_in >> CORBA::Any::to_boolean (exclude_inherited))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "contents",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "contents",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "contents",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::lookup_name_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ContainedSeq_var _tao_retval;
+ CORBA::String_var search_name;
+ CORBA::Long levels_to_search;
+ IR::DefinitionKind limit_type;
+ CORBA::Boolean exclude_inherited;
+ if (!(
+ (_tao_in >> search_name.out ()) &&
+ (_tao_in >> levels_to_search) &&
+ (_tao_in >> limit_type) &&
+ (_tao_in >> CORBA::Any::to_boolean (exclude_inherited))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->lookup_name (
+ search_name.in (),
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup_name",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup_name",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::describe_contents_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::Container::DescriptionSeq_var _tao_retval;
+ IR::DefinitionKind limit_type;
+ CORBA::Boolean exclude_inherited;
+ CORBA::Long max_returned_objs;
+ if (!(
+ (_tao_in >> limit_type) &&
+ (_tao_in >> CORBA::Any::to_boolean (exclude_inherited)) &&
+ (_tao_in >> max_returned_objs)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "describe_contents",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "describe_contents",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "describe_contents",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_module_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ModuleDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_module",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_module (
+ id.in (),
+ name.in (),
+ version.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_module",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_module",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_constant_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ConstantDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var type;
+ CORBA::Any value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> value)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_constant",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_constant (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ value,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_constant",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_constant",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_struct_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::StructDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::StructMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_struct",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_struct (
+ id.in (),
+ name.in (),
+ version.in (),
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_struct",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_struct",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_union_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::UnionDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var discriminator_type;
+ IR::UnionMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> discriminator_type.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_union",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_union (
+ id.in (),
+ name.in (),
+ version.in (),
+ discriminator_type.in (),
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_union",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_union",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_enum_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::EnumDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::EnumMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_enum",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_enum (
+ id.in (),
+ name.in (),
+ version.in (),
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_enum",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_enum",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_alias_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::AliasDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var original_type;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> original_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_alias",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_alias (
+ id.in (),
+ name.in (),
+ version.in (),
+ original_type.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_alias",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_alias",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_interface_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::InterfaceDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::InterfaceDefSeq base_interfaces;
+ CORBA::Boolean is_abstract;
+ CORBA::Boolean is_local;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_interfaces) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_abstract)) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_local))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_interface",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_interface (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_interface",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_interface",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_value_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ValueDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA::Boolean is_custom;
+ CORBA::Boolean is_abstract;
+ IR::ValueDef_var base_value;
+ CORBA::Boolean is_truncatable;
+ IR::ValueDefSeq abstract_base_values;
+ IR::InterfaceDefSeq supported_interfaces;
+ IR::InitializerSeq initializers;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_custom)) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_abstract)) &&
+ (_tao_in >> base_value.out ()) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_truncatable)) &&
+ (_tao_in >> abstract_base_values) &&
+ (_tao_in >> supported_interfaces) &&
+ (_tao_in >> initializers)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_value (
+ id.in (),
+ name.in (),
+ version.in (),
+ is_custom,
+ is_abstract,
+ base_value.in (),
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_value_box_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ValueBoxDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var original_type_def;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> original_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value_box",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_value_box (
+ id.in (),
+ name.in (),
+ version.in (),
+ original_type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value_box",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value_box",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_exception_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::ExceptionDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::StructMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_exception",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_exception (
+ id.in (),
+ name.in (),
+ version.in (),
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_exception",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_exception",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::create_native_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *)_tao_object_reference;
+
+ IR::NativeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_native",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_native (
+ id.in (),
+ name.in (),
+ version.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_native",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_native",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Container::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Container *_tao_impl = (POA_IR::Container *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::Container::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::Container *_tao_impl = (POA_IR::Container *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::Container::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::Container::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::Container::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::Container::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/Container:1.0";
+}
+
+IR::Container*
+POA_IR::Container::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::Container_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_Container (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::Container::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_Container::_tao_thru_poa_collocated_Container (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_Container::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_Container::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::Contained_ptr POA_IR::_tao_thru_poa_collocated_Container::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::Contained_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "lookup",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ContainedSeq * POA_IR::_tao_thru_poa_collocated_Container::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ContainedSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "contents",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ContainedSeq * POA_IR::_tao_thru_poa_collocated_Container::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ContainedSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "lookup_name",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::Container::DescriptionSeq * POA_IR::_tao_thru_poa_collocated_Container::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::Container::DescriptionSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "describe_contents",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ModuleDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ModuleDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_module",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ConstantDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ConstantDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_constant",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::StructDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::StructDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_struct",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::UnionDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::UnionDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_union",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::EnumDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::EnumDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_enum",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::AliasDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::AliasDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_alias",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::InterfaceDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_interface",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ValueDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_value",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ValueBoxDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueBoxDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_value_box",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ExceptionDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ExceptionDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_exception",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::NativeDef_ptr POA_IR::_tao_thru_poa_collocated_Container::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::NativeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_native",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Container:1.0"
+ )
+ )->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_IDLType_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_IDLType_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_IDLType_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_IDLType_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 5,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 0
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::IDLType::_is_a_skel},
+ {"",0},
+ {"destroy", &POA_IR::IDLType::destroy_skel},
+ {"",0},
+ {"_get_type", &POA_IR::IDLType::_get_type_skel},
+ {"",0},{"",0},{"",0},
+ {"_get_def_kind", &POA_IR::IDLType::_get_def_kind_skel},
+ {"",0},{"",0},{"",0},{"",0},
+ {"_non_existent", &POA_IR::IDLType::_non_existent_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_IDLType_Perfect_Hash_OpTable tao_IR_IDLType_optable;
+
+IR::IDLType_ptr _TAO_collocation_POA_IR_IDLType_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::IDLType_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_IDLType (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_IDLType_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_IDLType_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_IDLType_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_IDLType_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_IDLType_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_IDLType_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::IDLType::IDLType (void)
+{
+ this->optable_ = &tao_IR_IDLType_optable;
+}
+
+// copy ctor
+POA_IR::IDLType::IDLType (const IDLType& rhs)
+ : ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::IDLType::~IDLType (void)
+{
+}
+
+void POA_IR::IDLType::_get_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::IDLType *_tao_impl = (POA_IR::IDLType *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::IDLType::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::IDLType *_tao_impl = (POA_IR::IDLType *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::IDLType::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::IDLType *_tao_impl = (POA_IR::IDLType *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::IDLType::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::IDLType::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::IDLType::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::IDLType::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/IDLType:1.0";
+}
+
+IR::IDLType*
+POA_IR::IDLType::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::IDLType_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_IDLType (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::IDLType::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_IDLType::_tao_thru_poa_collocated_IDLType (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_IDLType::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::IDLType_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/IDLType:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_IDLType::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::IDLType_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/IDLType:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_IDLType::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::IDLType_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/IDLType:1.0"
+ )
+ )->type (
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_Repository_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_Repository_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_Repository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 20,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 15,
+ 71, 0, 23, 10, 71, 5, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 0, 0, 15,
+ 71, 0, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 30, 0, 71, 71, 71, 0, 0, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71,
+#else
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 20, 71, 15, 71, 0,
+ 23, 10, 71, 5, 71, 71, 71, 71, 0, 0,
+ 15, 71, 0, 71, 71, 30, 0, 71, 71, 71,
+ 0, 0, 71, 71, 71, 71, 71, 71,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_Repository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 27,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 22,
+ MIN_HASH_VALUE = 6,
+ MAX_HASH_VALUE = 70,
+ HASH_VALUE_RANGE = 65,
+ DUPLICATES = 2
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},
+ {"lookup", &POA_IR::Repository::lookup_skel},
+ {"create_enum", &POA_IR::Repository::create_enum_skel},
+ {"create_array", &POA_IR::Repository::create_array_skel},
+ {"create_struct", &POA_IR::Repository::create_struct_skel},
+ {"create_constant", &POA_IR::Repository::create_constant_skel},
+ {"create_value_box", &POA_IR::Repository::create_value_box_skel},
+ {"create_string", &POA_IR::Repository::create_string_skel},
+ {"create_wstring", &POA_IR::Repository::create_wstring_skel},
+ {"lookup_name", &POA_IR::Repository::lookup_name_skel},
+ {"create_value", &POA_IR::Repository::create_value_skel},
+ {"create_module", &POA_IR::Repository::create_module_skel},
+ {"create_native", &POA_IR::Repository::create_native_skel},
+ {"create_sequence", &POA_IR::Repository::create_sequence_skel},
+ {"create_interface", &POA_IR::Repository::create_interface_skel},
+ {"create_union", &POA_IR::Repository::create_union_skel},
+ {"get_primitive", &POA_IR::Repository::get_primitive_skel},
+ {"destroy", &POA_IR::Repository::destroy_skel},
+ {"create_exception", &POA_IR::Repository::create_exception_skel},
+ {"lookup_id", &POA_IR::Repository::lookup_id_skel},
+ {"_non_existent", &POA_IR::Repository::_non_existent_skel},
+ {"create_fixed", &POA_IR::Repository::create_fixed_skel},
+ {"get_canonical_typecode", &POA_IR::Repository::get_canonical_typecode_skel},
+ {"contents", &POA_IR::Repository::contents_skel},
+ {"_is_a", &POA_IR::Repository::_is_a_skel},
+ {"create_alias", &POA_IR::Repository::create_alias_skel},
+ {"_get_def_kind", &POA_IR::Repository::_get_def_kind_skel},
+ {"describe_contents", &POA_IR::Repository::describe_contents_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, -1, 6, -1, -1, -16, -2, 7, 8, 9,
+ -1, 10, 11, -1, 12, 13, -1, 14, 15, -84, -1, 18, 19, 20,
+ 21, -1, 22, 23, 24, 25, -1, 26, -1, 27, 28, -1, 29, -1,
+ 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 32,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_Repository_Perfect_Hash_OpTable tao_IR_Repository_optable;
+
+IR::Repository_ptr _TAO_collocation_POA_IR_Repository_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::Repository_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_Repository (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_Repository_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_Repository_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_Repository_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_Repository_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_Repository_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_Repository_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::Repository::Repository (void)
+{
+ this->optable_ = &tao_IR_Repository_optable;
+}
+
+// copy ctor
+POA_IR::Repository::Repository (const Repository& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::Repository::~Repository (void)
+{
+}
+
+void POA_IR::Repository::lookup_id_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::Contained_var _tao_retval;
+ CORBA::String_var search_id;
+ if (!(
+ (_tao_in >> search_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup_id",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->lookup_id (
+ search_id.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup_id",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "lookup_id",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::get_canonical_typecode_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::TypeCode_var tc;
+ if (!(
+ (_tao_in >> tc.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "get_canonical_typecode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->get_canonical_typecode (
+ tc.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "get_canonical_typecode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "get_canonical_typecode",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::get_primitive_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::PrimitiveDef_var _tao_retval;
+ IR::PrimitiveKind kind;
+ if (!(
+ (_tao_in >> kind)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "get_primitive",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->get_primitive (
+ kind,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "get_primitive",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "get_primitive",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::create_string_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::StringDef_var _tao_retval;
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_string",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_string (
+ bound,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_string",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_string",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::create_wstring_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::WstringDef_var _tao_retval;
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_wstring",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_wstring (
+ bound,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_wstring",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_wstring",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::create_sequence_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::SequenceDef_var _tao_retval;
+ CORBA::ULong bound;
+ IR::IDLType_var element_type;
+ if (!(
+ (_tao_in >> bound) &&
+ (_tao_in >> element_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_sequence",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_sequence (
+ bound,
+ element_type.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_sequence",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_sequence",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::create_array_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::ArrayDef_var _tao_retval;
+ CORBA::ULong length;
+ IR::IDLType_var element_type;
+ if (!(
+ (_tao_in >> length) &&
+ (_tao_in >> element_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_array",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_array (
+ length,
+ element_type.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_array",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_array",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::create_fixed_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *)_tao_object_reference;
+
+ IR::FixedDef_var _tao_retval;
+ CORBA::UShort digits;
+ CORBA::Short scale;
+ if (!(
+ (_tao_in >> digits) &&
+ (_tao_in >> scale)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_fixed",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_fixed (
+ digits,
+ scale,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_fixed",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_fixed",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::Repository::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::Repository::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::Repository *_tao_impl = (POA_IR::Repository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::Repository::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Repository:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::Repository::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Repository:1.0") == 0)
+ return ACE_static_cast (POA_IR::Repository_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::Repository::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::Repository::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/Repository:1.0";
+}
+
+IR::Repository*
+POA_IR::Repository::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::Repository_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_Repository (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::Repository::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_Repository::_tao_thru_poa_collocated_Repository (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_Repository::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_Repository::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::Contained_ptr POA_IR::_tao_thru_poa_collocated_Repository::lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::Contained_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "lookup_id",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->lookup_id (
+ search_id,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_Repository::get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "get_canonical_typecode",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->get_canonical_typecode (
+ tc,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::PrimitiveDef_ptr POA_IR::_tao_thru_poa_collocated_Repository::get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PrimitiveDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "get_primitive",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->get_primitive (
+ kind,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::StringDef_ptr POA_IR::_tao_thru_poa_collocated_Repository::create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::StringDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_string",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->create_string (
+ bound,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::WstringDef_ptr POA_IR::_tao_thru_poa_collocated_Repository::create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::WstringDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_wstring",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->create_wstring (
+ bound,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::SequenceDef_ptr POA_IR::_tao_thru_poa_collocated_Repository::create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::SequenceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_sequence",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->create_sequence (
+ bound,
+ element_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ArrayDef_ptr POA_IR::_tao_thru_poa_collocated_Repository::create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ArrayDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_array",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->create_array (
+ length,
+ element_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::FixedDef_ptr POA_IR::_tao_thru_poa_collocated_Repository::create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FixedDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_fixed",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/Repository:1.0"
+ )
+ )->create_fixed (
+ digits,
+ scale,
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_ComponentRepository_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ComponentRepository_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ComponentRepository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 15,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 5,
+ 54, 0, 25, 15, 54, 10, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 10, 0, 3,
+ 54, 25, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 0, 5, 54, 54, 54, 0, 20, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54,
+#else
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 15, 54, 5, 54, 0,
+ 25, 15, 54, 10, 54, 54, 54, 54, 10, 0,
+ 3, 54, 25, 54, 54, 0, 5, 54, 54, 54,
+ 0, 20, 54, 54, 54, 54, 54, 54,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ComponentRepository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 29,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 22,
+ MIN_HASH_VALUE = 8,
+ MAX_HASH_VALUE = 53,
+ HASH_VALUE_RANGE = 46,
+ DUPLICATES = 2
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},
+ {"contents", &POA_IR::ComponentRepository::contents_skel},
+ {"create_enum", &POA_IR::ComponentRepository::create_enum_skel},
+ {"create_alias", &POA_IR::ComponentRepository::create_alias_skel},
+ {"create_union", &POA_IR::ComponentRepository::create_union_skel},
+ {"create_value_box", &POA_IR::ComponentRepository::create_value_box_skel},
+ {"create_struct", &POA_IR::ComponentRepository::create_struct_skel},
+ {"create_exception", &POA_IR::ComponentRepository::create_exception_skel},
+ {"create_constant", &POA_IR::ComponentRepository::create_constant_skel},
+ {"create_component", &POA_IR::ComponentRepository::create_component_skel},
+ {"create_string", &POA_IR::ComponentRepository::create_string_skel},
+ {"create_wstring", &POA_IR::ComponentRepository::create_wstring_skel},
+ {"_is_a", &POA_IR::ComponentRepository::_is_a_skel},
+ {"create_home", &POA_IR::ComponentRepository::create_home_skel},
+ {"create_value", &POA_IR::ComponentRepository::create_value_skel},
+ {"create_module", &POA_IR::ComponentRepository::create_module_skel},
+ {"create_native", &POA_IR::ComponentRepository::create_native_skel},
+ {"create_sequence", &POA_IR::ComponentRepository::create_sequence_skel},
+ {"create_interface", &POA_IR::ComponentRepository::create_interface_skel},
+ {"create_array", &POA_IR::ComponentRepository::create_array_skel},
+ {"_non_existent", &POA_IR::ComponentRepository::_non_existent_skel},
+ {"lookup_name", &POA_IR::ComponentRepository::lookup_name_skel},
+ {"create_fixed", &POA_IR::ComponentRepository::create_fixed_skel},
+ {"get_primitive", &POA_IR::ComponentRepository::get_primitive_skel},
+ {"lookup", &POA_IR::ComponentRepository::lookup_skel},
+ {"describe_contents", &POA_IR::ComponentRepository::describe_contents_skel},
+ {"lookup_id", &POA_IR::ComponentRepository::lookup_id_skel},
+ {"get_canonical_typecode", &POA_IR::ComponentRepository::get_canonical_typecode_skel},
+ {"destroy", &POA_IR::ComponentRepository::destroy_skel},
+ {"_get_def_kind", &POA_IR::ComponentRepository::_get_def_kind_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, 9, 10, -22,
+ -2, 11, 12, -1, 13, 14, 15, 16, -1, 17, 18, 19, 20, 21,
+ -68, -1, 24, 25, 26, 27, -1, -1, 28, 29, 30, -1, -1, 31,
+ 32, -1, 33, -1, -1, 34, -1, -1, -1, -1, 35, 36,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_ComponentRepository_Perfect_Hash_OpTable tao_IR_ComponentRepository_optable;
+
+IR::ComponentRepository_ptr _TAO_collocation_POA_IR_ComponentRepository_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ComponentRepository_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ComponentRepository (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ComponentRepository_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ComponentRepository_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ComponentRepository_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ComponentRepository_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ComponentRepository_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ComponentRepository_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ComponentRepository::ComponentRepository (void)
+{
+ this->optable_ = &tao_IR_ComponentRepository_optable;
+}
+
+// copy ctor
+POA_IR::ComponentRepository::ComponentRepository (const ComponentRepository& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Repository) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ComponentRepository::~ComponentRepository (void)
+{
+}
+
+void POA_IR::ComponentRepository::create_component_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *)_tao_object_reference;
+
+ IR::ComponentDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ComponentDef_var base_component;
+ IR::InterfaceDefSeq supports_interfaces;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_component.out ()) &&
+ (_tao_in >> supports_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_component",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_component (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_component.in (),
+ supports_interfaces,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_component",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_component",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentRepository::create_home_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *)_tao_object_reference;
+
+ IR::HomeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::HomeDef_var base_home;
+ IR::ComponentDef_var managed_component;
+ IR::ValueDef_var primary_key;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_home.out ()) &&
+ (_tao_in >> managed_component.out ()) &&
+ (_tao_in >> primary_key.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_home",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_home (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_home.in (),
+ managed_component.in (),
+ primary_key.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_home",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_home",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentRepository::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ComponentRepository::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ComponentRepository::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ComponentRepository:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Repository:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ComponentRepository::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ComponentRepository:1.0") == 0)
+ return ACE_static_cast (POA_IR::ComponentRepository_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Repository:1.0") == 0)
+ return ACE_static_cast (POA_IR::Repository_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ComponentRepository::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ComponentRepository::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ComponentRepository:1.0";
+}
+
+IR::ComponentRepository*
+POA_IR::ComponentRepository::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ComponentRepository_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ComponentRepository (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ComponentRepository::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ComponentRepository::_tao_thru_poa_collocated_ComponentRepository (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Repository) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ComponentRepository::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentRepository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentRepository:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ComponentRepository::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentRepository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentRepository:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::ComponentDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentRepository::create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ComponentDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_component",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentRepository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentRepository:1.0"
+ )
+ )->create_component (
+ id,
+ name,
+ version,
+ base_component,
+ supports_interfaces,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::HomeDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentRepository::create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::HomeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_home",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentRepository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentRepository:1.0"
+ )
+ )->create_home (
+ id,
+ name,
+ version,
+ base_home,
+ managed_component,
+ primary_key,
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_ModuleDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ModuleDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ModuleDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 10,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
+ 52, 0, 15, 0, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 20, 0, 5,
+ 52, 10, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 10, 20, 52, 52, 52, 10, 15, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52,
+#else
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 10, 52, 0, 52, 0,
+ 15, 0, 52, 52, 52, 52, 52, 52, 20, 0,
+ 5, 52, 10, 52, 52, 10, 20, 52, 52, 52,
+ 10, 15, 52, 52, 52, 52, 52, 52,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ModuleDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 30,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 51,
+ HASH_VALUE_RANGE = 48,
+ DUPLICATES = 5
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ModuleDef::move_skel},
+ {"create_enum", &POA_IR::ModuleDef::create_enum_skel},
+ {"create_value", &POA_IR::ModuleDef::create_value_skel},
+ {"create_module", &POA_IR::ModuleDef::create_module_skel},
+ {"create_native", &POA_IR::ModuleDef::create_native_skel},
+ {"_is_a", &POA_IR::ModuleDef::_is_a_skel},
+ {"create_interface", &POA_IR::ModuleDef::create_interface_skel},
+ {"create_union", &POA_IR::ModuleDef::create_union_skel},
+ {"contents", &POA_IR::ModuleDef::contents_skel},
+ {"_get_name", &POA_IR::ModuleDef::_get_name_skel},
+ {"_set_name", &POA_IR::ModuleDef::_set_name_skel},
+ {"create_exception", &POA_IR::ModuleDef::create_exception_skel},
+ {"create_alias", &POA_IR::ModuleDef::create_alias_skel},
+ {"describe", &POA_IR::ModuleDef::describe_skel},
+ {"create_value_box", &POA_IR::ModuleDef::create_value_box_skel},
+ {"_get_version", &POA_IR::ModuleDef::_get_version_skel},
+ {"_set_version", &POA_IR::ModuleDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::ModuleDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::ModuleDef::_get_defined_in_skel},
+ {"lookup_name", &POA_IR::ModuleDef::lookup_name_skel},
+ {"_get_id", &POA_IR::ModuleDef::_get_id_skel},
+ {"_set_id", &POA_IR::ModuleDef::_set_id_skel},
+ {"create_struct", &POA_IR::ModuleDef::create_struct_skel},
+ {"create_constant", &POA_IR::ModuleDef::create_constant_skel},
+ {"lookup", &POA_IR::ModuleDef::lookup_skel},
+ {"destroy", &POA_IR::ModuleDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::ModuleDef::_get_def_kind_skel},
+ {"describe_contents", &POA_IR::ModuleDef::describe_contents_skel},
+ {"_non_existent", &POA_IR::ModuleDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ModuleDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, -7, -2, -13, -2, -19, -2, 5, 6, -59,
+ -1, 9, 10, 11, 12, -63, -1, 15, 16, 17, -24, -2, 18, -69,
+ 21, -1, 22, 23, -59, 26, -1, 27, 28, 29, 30, -1, -1, -1,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 33,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_ModuleDef_Perfect_Hash_OpTable tao_IR_ModuleDef_optable;
+
+IR::ModuleDef_ptr _TAO_collocation_POA_IR_ModuleDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ModuleDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ModuleDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ModuleDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ModuleDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ModuleDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ModuleDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ModuleDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ModuleDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ModuleDef::ModuleDef (void)
+{
+ this->optable_ = &tao_IR_ModuleDef_optable;
+}
+
+// copy ctor
+POA_IR::ModuleDef::ModuleDef (const ModuleDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ModuleDef::~ModuleDef (void)
+{
+}
+
+void POA_IR::ModuleDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ModuleDef *_tao_impl = (POA_IR::ModuleDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ModuleDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ModuleDef *_tao_impl = (POA_IR::ModuleDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ModuleDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ModuleDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ModuleDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ModuleDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ModuleDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ModuleDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ModuleDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ModuleDef:1.0";
+}
+
+IR::ModuleDef*
+POA_IR::ModuleDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ModuleDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ModuleDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ModuleDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ModuleDef::_tao_thru_poa_collocated_ModuleDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ModuleDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ModuleDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ModuleDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ModuleDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ModuleDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ModuleDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_ConstantDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ConstantDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ConstantDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 15, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 15, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ConstantDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 20,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 7
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ConstantDef::move_skel},
+ {"_is_a", &POA_IR::ConstantDef::_is_a_skel},
+ {"_get_id", &POA_IR::ConstantDef::_get_id_skel},
+ {"_set_id", &POA_IR::ConstantDef::_set_id_skel},
+ {"describe", &POA_IR::ConstantDef::describe_skel},
+ {"_get_type", &POA_IR::ConstantDef::_get_type_skel},
+ {"_set_name", &POA_IR::ConstantDef::_set_name_skel},
+ {"_get_name", &POA_IR::ConstantDef::_get_name_skel},
+ {"_get_value", &POA_IR::ConstantDef::_get_value_skel},
+ {"_set_value", &POA_IR::ConstantDef::_set_value_skel},
+ {"_get_version", &POA_IR::ConstantDef::_get_version_skel},
+ {"_set_version", &POA_IR::ConstantDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ConstantDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::ConstantDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ConstantDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ConstantDef::_get_absolute_name_skel},
+ {"_get_type_def", &POA_IR::ConstantDef::_get_type_def_skel},
+ {"_set_type_def", &POA_IR::ConstantDef::_set_type_def_skel},
+ {"_non_existent", &POA_IR::ConstantDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ConstantDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -12, -2, -14, -2, 4, 5, -1, 53, 8, 46, -46, -1, -46, 16,
+ -1, 17, -1, 18, 19, -9, -3, -20, -2, -38, -6, -2, -1, -1,
+ 22, -1, -1, -1, -1, -1, -1, -1, 23,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_ConstantDef_Perfect_Hash_OpTable tao_IR_ConstantDef_optable;
+
+IR::ConstantDef_ptr _TAO_collocation_POA_IR_ConstantDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ConstantDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ConstantDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ConstantDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ConstantDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ConstantDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ConstantDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ConstantDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ConstantDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ConstantDef::ConstantDef (void)
+{
+ this->optable_ = &tao_IR_ConstantDef_optable;
+}
+
+// copy ctor
+POA_IR::ConstantDef::ConstantDef (const ConstantDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ConstantDef::~ConstantDef (void)
+{
+}
+
+void POA_IR::ConstantDef::_get_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ConstantDef::_get_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ConstantDef::_set_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *)_tao_object_reference;
+
+ IR::IDLType_var type_def;
+ if (!(
+ (_tao_in >> type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->type_def (
+ type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ConstantDef::_get_value_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *)_tao_object_reference;
+
+ CORBA::Any_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->value (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_value",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ConstantDef::_set_value_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *)_tao_object_reference;
+
+ CORBA::Any value;
+ if (!(
+ (_tao_in >> value)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->value (
+ value,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_value",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ConstantDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ConstantDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ConstantDef *_tao_impl = (POA_IR::ConstantDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ConstantDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ConstantDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ConstantDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ConstantDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ConstantDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ConstantDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ConstantDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ConstantDef:1.0";
+}
+
+IR::ConstantDef*
+POA_IR::ConstantDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ConstantDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ConstantDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ConstantDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ConstantDef::_tao_thru_poa_collocated_ConstantDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ConstantDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ConstantDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_ConstantDef::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_ConstantDef::type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ConstantDef::type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->type_def (
+ type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Any * POA_IR::_tao_thru_poa_collocated_ConstantDef::value (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Any_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "value",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->value (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ConstantDef::value (
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "value",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConstantDef:1.0"
+ )
+ )->value (
+ value,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_TypedefDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_TypedefDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_TypedefDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_TypedefDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 16,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 5
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::TypedefDef::move_skel},
+ {"_is_a", &POA_IR::TypedefDef::_is_a_skel},
+ {"_get_id", &POA_IR::TypedefDef::_get_id_skel},
+ {"_set_id", &POA_IR::TypedefDef::_set_id_skel},
+ {"describe", &POA_IR::TypedefDef::describe_skel},
+ {"_get_name", &POA_IR::TypedefDef::_get_name_skel},
+ {"_get_type", &POA_IR::TypedefDef::_get_type_skel},
+ {"_set_name", &POA_IR::TypedefDef::_set_name_skel},
+ {"_get_version", &POA_IR::TypedefDef::_get_version_skel},
+ {"_set_version", &POA_IR::TypedefDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::TypedefDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::TypedefDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::TypedefDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::TypedefDef::_get_absolute_name_skel},
+ {"_non_existent", &POA_IR::TypedefDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::TypedefDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14,
+ -1, 15, -1, 16, 17, -1, -1, -1, -1, 18, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 19,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_TypedefDef_Perfect_Hash_OpTable tao_IR_TypedefDef_optable;
+
+IR::TypedefDef_ptr _TAO_collocation_POA_IR_TypedefDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::TypedefDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_TypedefDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_TypedefDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_TypedefDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_TypedefDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_TypedefDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_TypedefDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_TypedefDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::TypedefDef::TypedefDef (void)
+{
+ this->optable_ = &tao_IR_TypedefDef_optable;
+}
+
+// copy ctor
+POA_IR::TypedefDef::TypedefDef (const TypedefDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::TypedefDef::~TypedefDef (void)
+{
+}
+
+void POA_IR::TypedefDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::TypedefDef *_tao_impl = (POA_IR::TypedefDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::TypedefDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::TypedefDef *_tao_impl = (POA_IR::TypedefDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::TypedefDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::TypedefDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::TypedefDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::TypedefDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/TypedefDef:1.0";
+}
+
+IR::TypedefDef*
+POA_IR::TypedefDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::TypedefDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_TypedefDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::TypedefDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_TypedefDef::_tao_thru_poa_collocated_TypedefDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_TypedefDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::TypedefDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/TypedefDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_TypedefDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::TypedefDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/TypedefDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_StructDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_StructDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_StructDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
+ 52, 20, 3, 0, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 10, 15, 5,
+ 52, 10, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 15, 15, 52, 52, 52, 15, 5, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52,
+#else
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 0, 52, 0, 52, 20,
+ 3, 0, 52, 52, 52, 52, 52, 52, 10, 15,
+ 5, 52, 10, 52, 52, 15, 15, 52, 52, 52,
+ 15, 5, 52, 52, 52, 52, 52, 52,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_StructDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 33,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 51,
+ HASH_VALUE_RANGE = 47,
+ DUPLICATES = 7
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::StructDef::_is_a_skel},
+ {"_get_name", &POA_IR::StructDef::_get_name_skel},
+ {"_get_type", &POA_IR::StructDef::_get_type_skel},
+ {"_set_name", &POA_IR::StructDef::_set_name_skel},
+ {"_get_id", &POA_IR::StructDef::_get_id_skel},
+ {"_set_id", &POA_IR::StructDef::_set_id_skel},
+ {"describe", &POA_IR::StructDef::describe_skel},
+ {"destroy", &POA_IR::StructDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::StructDef::_get_def_kind_skel},
+ {"_get_version", &POA_IR::StructDef::_get_version_skel},
+ {"_set_version", &POA_IR::StructDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::StructDef::_get_absolute_name_skel},
+ {"move", &POA_IR::StructDef::move_skel},
+ {"_get_defined_in", &POA_IR::StructDef::_get_defined_in_skel},
+ {"lookup_name", &POA_IR::StructDef::lookup_name_skel},
+ {"lookup", &POA_IR::StructDef::lookup_skel},
+ {"_get_members", &POA_IR::StructDef::_get_members_skel},
+ {"_set_members", &POA_IR::StructDef::_set_members_skel},
+ {"_non_existent", &POA_IR::StructDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::StructDef::_get_containing_repository_skel},
+ {"create_value", &POA_IR::StructDef::create_value_skel},
+ {"create_module", &POA_IR::StructDef::create_module_skel},
+ {"create_native", &POA_IR::StructDef::create_native_skel},
+ {"describe_contents", &POA_IR::StructDef::describe_contents_skel},
+ {"create_interface", &POA_IR::StructDef::create_interface_skel},
+ {"create_union", &POA_IR::StructDef::create_union_skel},
+ {"create_exception", &POA_IR::StructDef::create_exception_skel},
+ {"contents", &POA_IR::StructDef::contents_skel},
+ {"create_enum", &POA_IR::StructDef::create_enum_skel},
+ {"create_alias", &POA_IR::StructDef::create_alias_skel},
+ {"create_struct", &POA_IR::StructDef::create_struct_skel},
+ {"create_constant", &POA_IR::StructDef::create_constant_skel},
+ {"create_value_box", &POA_IR::StructDef::create_value_box_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -6, -3, 5, -1, -9, -2, -57, -54, 11, -1, -14,
+ -2, 12, 13, -55, 16, 17, 18, 19, -1, -1, -21, -2, 20, -54,
+ 23, -26, -2, 24, 25, -55, -1, 28, 29, 30, -1, -1, -1, 31,
+ -1, 32, -1, -1, 33, 34, 35, -1, 36, 37,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_StructDef_Perfect_Hash_OpTable tao_IR_StructDef_optable;
+
+IR::StructDef_ptr _TAO_collocation_POA_IR_StructDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::StructDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_StructDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_StructDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_StructDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_StructDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_StructDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_StructDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_StructDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::StructDef::StructDef (void)
+{
+ this->optable_ = &tao_IR_StructDef_optable;
+}
+
+// copy ctor
+POA_IR::StructDef::StructDef (const StructDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,TypedefDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::StructDef::~StructDef (void)
+{
+}
+
+void POA_IR::StructDef::_get_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::StructDef *_tao_impl = (POA_IR::StructDef *)_tao_object_reference;
+
+ IR::StructMemberSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->members (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::StructDef::_set_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::StructDef *_tao_impl = (POA_IR::StructDef *)_tao_object_reference;
+
+ IR::StructMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::StructDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::StructDef *_tao_impl = (POA_IR::StructDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::StructDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::StructDef *_tao_impl = (POA_IR::StructDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::StructDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/StructDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::StructDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/StructDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::StructDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::StructDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::StructDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/StructDef:1.0";
+}
+
+IR::StructDef*
+POA_IR::StructDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::StructDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_StructDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::StructDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_StructDef::_tao_thru_poa_collocated_StructDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_TypedefDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_StructDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::StructDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StructDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_StructDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::StructDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StructDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::StructMemberSeq * POA_IR::_tao_thru_poa_collocated_StructDef::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::StructMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::StructDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StructDef:1.0"
+ )
+ )->members (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_StructDef::members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::StructDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StructDef:1.0"
+ )
+ )->members (
+ members,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_UnionDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:09 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_UnionDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_UnionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 0,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 0,
+ 68, 25, 3, 0, 0, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 10, 0, 10,
+ 68, 10, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 30, 15, 68, 68, 68, 5, 5, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68,
+#else
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
+ 68, 68, 68, 68, 68, 0, 68, 0, 68, 25,
+ 3, 0, 0, 68, 68, 68, 68, 68, 10, 0,
+ 10, 68, 10, 68, 68, 30, 15, 68, 68, 68,
+ 5, 5, 68, 68, 68, 68, 68, 68,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_UnionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 36,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 27,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 67,
+ HASH_VALUE_RANGE = 64,
+ DUPLICATES = 8
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::UnionDef::move_skel},
+ {"_is_a", &POA_IR::UnionDef::_is_a_skel},
+ {"_get_name", &POA_IR::UnionDef::_get_name_skel},
+ {"_get_type", &POA_IR::UnionDef::_get_type_skel},
+ {"_set_name", &POA_IR::UnionDef::_set_name_skel},
+ {"_get_id", &POA_IR::UnionDef::_get_id_skel},
+ {"_set_id", &POA_IR::UnionDef::_set_id_skel},
+ {"describe", &POA_IR::UnionDef::describe_skel},
+ {"destroy", &POA_IR::UnionDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::UnionDef::_get_def_kind_skel},
+ {"_get_absolute_name", &POA_IR::UnionDef::_get_absolute_name_skel},
+ {"lookup_name", &POA_IR::UnionDef::lookup_name_skel},
+ {"_get_version", &POA_IR::UnionDef::_get_version_skel},
+ {"_set_version", &POA_IR::UnionDef::_set_version_skel},
+ {"_get_discriminator_type", &POA_IR::UnionDef::_get_discriminator_type_skel},
+ {"_get_defined_in", &POA_IR::UnionDef::_get_defined_in_skel},
+ {"lookup", &POA_IR::UnionDef::lookup_skel},
+ {"_get_discriminator_type_def", &POA_IR::UnionDef::_get_discriminator_type_def_skel},
+ {"_set_discriminator_type_def", &POA_IR::UnionDef::_set_discriminator_type_def_skel},
+ {"_non_existent", &POA_IR::UnionDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::UnionDef::_get_containing_repository_skel},
+ {"create_enum", &POA_IR::UnionDef::create_enum_skel},
+ {"create_value", &POA_IR::UnionDef::create_value_skel},
+ {"create_module", &POA_IR::UnionDef::create_module_skel},
+ {"create_native", &POA_IR::UnionDef::create_native_skel},
+ {"create_interface", &POA_IR::UnionDef::create_interface_skel},
+ {"_get_members", &POA_IR::UnionDef::_get_members_skel},
+ {"_set_members", &POA_IR::UnionDef::_set_members_skel},
+ {"create_value_box", &POA_IR::UnionDef::create_value_box_skel},
+ {"create_union", &POA_IR::UnionDef::create_union_skel},
+ {"describe_contents", &POA_IR::UnionDef::describe_contents_skel},
+ {"create_exception", &POA_IR::UnionDef::create_exception_skel},
+ {"create_struct", &POA_IR::UnionDef::create_struct_skel},
+ {"create_constant", &POA_IR::UnionDef::create_constant_skel},
+ {"contents", &POA_IR::UnionDef::contents_skel},
+ {"create_alias", &POA_IR::UnionDef::create_alias_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -6, -3, 4, 5, -1, -9, -2, -74, -70, 11, -1, -16,
+ -2, 12, 13, -1, 14, -21, -2, 15, -76, 18, -1, 19, 20, -75,
+ 23, -1, -1, 24, -1, -1, -27, -2, 25, 26, -71, -30, -2, 29,
+ -70, -1, -1, -1, 32, 33, -1, -1, 34, 35, -1, 36, -1, 37,
+ -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, 39,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:09 */
+static TAO_IR_UnionDef_Perfect_Hash_OpTable tao_IR_UnionDef_optable;
+
+IR::UnionDef_ptr _TAO_collocation_POA_IR_UnionDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::UnionDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_UnionDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_UnionDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_UnionDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_UnionDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_UnionDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_UnionDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_UnionDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::UnionDef::UnionDef (void)
+{
+ this->optable_ = &tao_IR_UnionDef_optable;
+}
+
+// copy ctor
+POA_IR::UnionDef::UnionDef (const UnionDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,TypedefDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::UnionDef::~UnionDef (void)
+{
+}
+
+void POA_IR::UnionDef::_get_discriminator_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_discriminator_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->discriminator_type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_discriminator_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_discriminator_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::UnionDef::_get_discriminator_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_discriminator_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->discriminator_type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_discriminator_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_discriminator_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::UnionDef::_set_discriminator_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *)_tao_object_reference;
+
+ IR::IDLType_var discriminator_type_def;
+ if (!(
+ (_tao_in >> discriminator_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_discriminator_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->discriminator_type_def (
+ discriminator_type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_discriminator_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_discriminator_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::UnionDef::_get_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *)_tao_object_reference;
+
+ IR::UnionMemberSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->members (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::UnionDef::_set_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *)_tao_object_reference;
+
+ IR::UnionMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::UnionDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::UnionDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::UnionDef *_tao_impl = (POA_IR::UnionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::UnionDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/UnionDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::UnionDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/UnionDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::UnionDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::UnionDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::UnionDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/UnionDef:1.0";
+}
+
+IR::UnionDef*
+POA_IR::UnionDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::UnionDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_UnionDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::UnionDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_UnionDef::_tao_thru_poa_collocated_UnionDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_TypedefDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_UnionDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_UnionDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_UnionDef::discriminator_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "discriminator_type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->discriminator_type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_UnionDef::discriminator_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "discriminator_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->discriminator_type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_UnionDef::discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "discriminator_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->discriminator_type_def (
+ discriminator_type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::UnionMemberSeq * POA_IR::_tao_thru_poa_collocated_UnionDef::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::UnionMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->members (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_UnionDef::members (
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UnionDef:1.0"
+ )
+ )->members (
+ members,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_EnumDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_EnumDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_EnumDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 10, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 10, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_EnumDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 6
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::EnumDef::move_skel},
+ {"_is_a", &POA_IR::EnumDef::_is_a_skel},
+ {"_get_id", &POA_IR::EnumDef::_get_id_skel},
+ {"_set_id", &POA_IR::EnumDef::_set_id_skel},
+ {"describe", &POA_IR::EnumDef::describe_skel},
+ {"_get_name", &POA_IR::EnumDef::_get_name_skel},
+ {"_get_type", &POA_IR::EnumDef::_get_type_skel},
+ {"_set_name", &POA_IR::EnumDef::_set_name_skel},
+ {"_get_version", &POA_IR::EnumDef::_get_version_skel},
+ {"_set_version", &POA_IR::EnumDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::EnumDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::EnumDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::EnumDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::EnumDef::_get_absolute_name_skel},
+ {"_get_members", &POA_IR::EnumDef::_get_members_skel},
+ {"_set_members", &POA_IR::EnumDef::_set_members_skel},
+ {"_non_existent", &POA_IR::EnumDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::EnumDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14,
+ -1, 15, -1, 16, 17, -1, -18, -2, -38, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_EnumDef_Perfect_Hash_OpTable tao_IR_EnumDef_optable;
+
+IR::EnumDef_ptr _TAO_collocation_POA_IR_EnumDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::EnumDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_EnumDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_EnumDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_EnumDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_EnumDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_EnumDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_EnumDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_EnumDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::EnumDef::EnumDef (void)
+{
+ this->optable_ = &tao_IR_EnumDef_optable;
+}
+
+// copy ctor
+POA_IR::EnumDef::EnumDef (const EnumDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,TypedefDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::EnumDef::~EnumDef (void)
+{
+}
+
+void POA_IR::EnumDef::_get_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::EnumDef *_tao_impl = (POA_IR::EnumDef *)_tao_object_reference;
+
+ IR::EnumMemberSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->members (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::EnumDef::_set_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EnumDef *_tao_impl = (POA_IR::EnumDef *)_tao_object_reference;
+
+ IR::EnumMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::EnumDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EnumDef *_tao_impl = (POA_IR::EnumDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EnumDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::EnumDef *_tao_impl = (POA_IR::EnumDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::EnumDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EnumDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::EnumDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EnumDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EnumDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::EnumDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::EnumDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/EnumDef:1.0";
+}
+
+IR::EnumDef*
+POA_IR::EnumDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::EnumDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_EnumDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::EnumDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_EnumDef::_tao_thru_poa_collocated_EnumDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_TypedefDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EnumDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EnumDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EnumDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EnumDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EnumDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EnumDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::EnumMemberSeq * POA_IR::_tao_thru_poa_collocated_EnumDef::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::EnumMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EnumDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EnumDef:1.0"
+ )
+ )->members (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_EnumDef::members (
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::EnumDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EnumDef:1.0"
+ )
+ )->members (
+ members,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_AliasDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_AliasDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_AliasDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 0, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 0, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_AliasDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 6
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::AliasDef::move_skel},
+ {"_is_a", &POA_IR::AliasDef::_is_a_skel},
+ {"_get_id", &POA_IR::AliasDef::_get_id_skel},
+ {"_set_id", &POA_IR::AliasDef::_set_id_skel},
+ {"describe", &POA_IR::AliasDef::describe_skel},
+ {"_get_name", &POA_IR::AliasDef::_get_name_skel},
+ {"_get_type", &POA_IR::AliasDef::_get_type_skel},
+ {"_set_name", &POA_IR::AliasDef::_set_name_skel},
+ {"_get_version", &POA_IR::AliasDef::_get_version_skel},
+ {"_set_version", &POA_IR::AliasDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::AliasDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::AliasDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::AliasDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::AliasDef::_get_absolute_name_skel},
+ {"_get_original_type_def", &POA_IR::AliasDef::_get_original_type_def_skel},
+ {"_set_original_type_def", &POA_IR::AliasDef::_set_original_type_def_skel},
+ {"_non_existent", &POA_IR::AliasDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::AliasDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14,
+ -1, 15, -1, 16, 17, -1, -18, -2, -38, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_AliasDef_Perfect_Hash_OpTable tao_IR_AliasDef_optable;
+
+IR::AliasDef_ptr _TAO_collocation_POA_IR_AliasDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::AliasDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_AliasDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_AliasDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_AliasDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_AliasDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_AliasDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_AliasDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_AliasDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::AliasDef::AliasDef (void)
+{
+ this->optable_ = &tao_IR_AliasDef_optable;
+}
+
+// copy ctor
+POA_IR::AliasDef::AliasDef (const AliasDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,TypedefDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::AliasDef::~AliasDef (void)
+{
+}
+
+void POA_IR::AliasDef::_get_original_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::AliasDef *_tao_impl = (POA_IR::AliasDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->original_type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_original_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::AliasDef::_set_original_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::AliasDef *_tao_impl = (POA_IR::AliasDef *)_tao_object_reference;
+
+ IR::IDLType_var original_type_def;
+ if (!(
+ (_tao_in >> original_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->original_type_def (
+ original_type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_original_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::AliasDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::AliasDef *_tao_impl = (POA_IR::AliasDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::AliasDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::AliasDef *_tao_impl = (POA_IR::AliasDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::AliasDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/AliasDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::AliasDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/AliasDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::AliasDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::AliasDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::AliasDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/AliasDef:1.0";
+}
+
+IR::AliasDef*
+POA_IR::AliasDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::AliasDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_AliasDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::AliasDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_AliasDef::_tao_thru_poa_collocated_AliasDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_TypedefDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_AliasDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AliasDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AliasDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_AliasDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AliasDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AliasDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_AliasDef::original_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "original_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AliasDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AliasDef:1.0"
+ )
+ )->original_type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_AliasDef::original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "original_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::AliasDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AliasDef:1.0"
+ )
+ )->original_type_def (
+ original_type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_NativeDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_NativeDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_NativeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_NativeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 16,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 5
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::NativeDef::move_skel},
+ {"_is_a", &POA_IR::NativeDef::_is_a_skel},
+ {"_get_id", &POA_IR::NativeDef::_get_id_skel},
+ {"_set_id", &POA_IR::NativeDef::_set_id_skel},
+ {"describe", &POA_IR::NativeDef::describe_skel},
+ {"_get_name", &POA_IR::NativeDef::_get_name_skel},
+ {"_get_type", &POA_IR::NativeDef::_get_type_skel},
+ {"_set_name", &POA_IR::NativeDef::_set_name_skel},
+ {"_get_version", &POA_IR::NativeDef::_get_version_skel},
+ {"_set_version", &POA_IR::NativeDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::NativeDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::NativeDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::NativeDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::NativeDef::_get_absolute_name_skel},
+ {"_non_existent", &POA_IR::NativeDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::NativeDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14,
+ -1, 15, -1, 16, 17, -1, -1, -1, -1, 18, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 19,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_NativeDef_Perfect_Hash_OpTable tao_IR_NativeDef_optable;
+
+IR::NativeDef_ptr _TAO_collocation_POA_IR_NativeDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::NativeDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_NativeDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_NativeDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_NativeDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_NativeDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_NativeDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_NativeDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_NativeDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::NativeDef::NativeDef (void)
+{
+ this->optable_ = &tao_IR_NativeDef_optable;
+}
+
+// copy ctor
+POA_IR::NativeDef::NativeDef (const NativeDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,TypedefDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::NativeDef::~NativeDef (void)
+{
+}
+
+void POA_IR::NativeDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::NativeDef *_tao_impl = (POA_IR::NativeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::NativeDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::NativeDef *_tao_impl = (POA_IR::NativeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::NativeDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/NativeDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::NativeDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/NativeDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::NativeDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::NativeDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::NativeDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/NativeDef:1.0";
+}
+
+IR::NativeDef*
+POA_IR::NativeDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::NativeDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_NativeDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::NativeDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_NativeDef::_tao_thru_poa_collocated_NativeDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_TypedefDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_NativeDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::NativeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/NativeDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_NativeDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::NativeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/NativeDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_PrimitiveDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_PrimitiveDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_PrimitiveDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 5, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 5, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_PrimitiveDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 6,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 0
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::PrimitiveDef::_is_a_skel},
+ {"",0},
+ {"destroy", &POA_IR::PrimitiveDef::destroy_skel},
+ {"",0},
+ {"_get_kind", &POA_IR::PrimitiveDef::_get_kind_skel},
+ {"",0},{"",0},{"",0},
+ {"_get_def_kind", &POA_IR::PrimitiveDef::_get_def_kind_skel},
+ {"_get_type", &POA_IR::PrimitiveDef::_get_type_skel},
+ {"",0},{"",0},{"",0},
+ {"_non_existent", &POA_IR::PrimitiveDef::_non_existent_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_PrimitiveDef_Perfect_Hash_OpTable tao_IR_PrimitiveDef_optable;
+
+IR::PrimitiveDef_ptr _TAO_collocation_POA_IR_PrimitiveDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::PrimitiveDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_PrimitiveDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_PrimitiveDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_PrimitiveDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_PrimitiveDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_PrimitiveDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_PrimitiveDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_PrimitiveDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::PrimitiveDef::PrimitiveDef (void)
+{
+ this->optable_ = &tao_IR_PrimitiveDef_optable;
+}
+
+// copy ctor
+POA_IR::PrimitiveDef::PrimitiveDef (const PrimitiveDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::PrimitiveDef::~PrimitiveDef (void)
+{
+}
+
+void POA_IR::PrimitiveDef::_get_kind_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::PrimitiveDef *_tao_impl = (POA_IR::PrimitiveDef *)_tao_object_reference;
+
+ IR::PrimitiveKind _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_kind",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->kind (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_kind",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_kind",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::PrimitiveDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PrimitiveDef *_tao_impl = (POA_IR::PrimitiveDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PrimitiveDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::PrimitiveDef *_tao_impl = (POA_IR::PrimitiveDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::PrimitiveDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/PrimitiveDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::PrimitiveDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/PrimitiveDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::PrimitiveDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::PrimitiveDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::PrimitiveDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/PrimitiveDef:1.0";
+}
+
+IR::PrimitiveDef*
+POA_IR::PrimitiveDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::PrimitiveDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_PrimitiveDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::PrimitiveDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_PrimitiveDef::_tao_thru_poa_collocated_PrimitiveDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PrimitiveDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimitiveDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimitiveDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PrimitiveDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimitiveDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimitiveDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::PrimitiveKind POA_IR::_tao_thru_poa_collocated_PrimitiveDef::kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PrimitiveKind _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "kind",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimitiveDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimitiveDef:1.0"
+ )
+ )->kind (
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_StringDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_StringDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_StringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_StringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 7,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 2
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::StringDef::_is_a_skel},
+ {"destroy", &POA_IR::StringDef::destroy_skel},
+ {"_get_type", &POA_IR::StringDef::_get_type_skel},
+ {"_get_bound", &POA_IR::StringDef::_get_bound_skel},
+ {"_set_bound", &POA_IR::StringDef::_set_bound_skel},
+ {"_get_def_kind", &POA_IR::StringDef::_get_def_kind_skel},
+ {"_non_existent", &POA_IR::StringDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -25, -1, -1, 10,
+ -1, -1, -1, -1, 11,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_StringDef_Perfect_Hash_OpTable tao_IR_StringDef_optable;
+
+IR::StringDef_ptr _TAO_collocation_POA_IR_StringDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::StringDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_StringDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_StringDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_StringDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_StringDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_StringDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_StringDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_StringDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::StringDef::StringDef (void)
+{
+ this->optable_ = &tao_IR_StringDef_optable;
+}
+
+// copy ctor
+POA_IR::StringDef::StringDef (const StringDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::StringDef::~StringDef (void)
+{
+}
+
+void POA_IR::StringDef::_get_bound_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::StringDef *_tao_impl = (POA_IR::StringDef *)_tao_object_reference;
+
+ CORBA::ULong _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->bound (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::StringDef::_set_bound_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::StringDef *_tao_impl = (POA_IR::StringDef *)_tao_object_reference;
+
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::StringDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::StringDef *_tao_impl = (POA_IR::StringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::StringDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::StringDef *_tao_impl = (POA_IR::StringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::StringDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/StringDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::StringDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/StringDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::StringDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::StringDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::StringDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/StringDef:1.0";
+}
+
+IR::StringDef*
+POA_IR::StringDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::StringDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_StringDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::StringDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_StringDef::_tao_thru_poa_collocated_StringDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_StringDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::StringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StringDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_StringDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::StringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StringDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::ULong POA_IR::_tao_thru_poa_collocated_StringDef::bound (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "bound",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::StringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StringDef:1.0"
+ )
+ )->bound (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_StringDef::bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "bound",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::StringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/StringDef:1.0"
+ )
+ )->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_WstringDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_WstringDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_WstringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_WstringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 7,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 2
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::WstringDef::_is_a_skel},
+ {"destroy", &POA_IR::WstringDef::destroy_skel},
+ {"_get_type", &POA_IR::WstringDef::_get_type_skel},
+ {"_get_bound", &POA_IR::WstringDef::_get_bound_skel},
+ {"_set_bound", &POA_IR::WstringDef::_set_bound_skel},
+ {"_get_def_kind", &POA_IR::WstringDef::_get_def_kind_skel},
+ {"_non_existent", &POA_IR::WstringDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -25, -1, -1, 10,
+ -1, -1, -1, -1, 11,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_WstringDef_Perfect_Hash_OpTable tao_IR_WstringDef_optable;
+
+IR::WstringDef_ptr _TAO_collocation_POA_IR_WstringDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::WstringDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_WstringDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_WstringDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_WstringDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_WstringDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_WstringDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_WstringDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_WstringDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::WstringDef::WstringDef (void)
+{
+ this->optable_ = &tao_IR_WstringDef_optable;
+}
+
+// copy ctor
+POA_IR::WstringDef::WstringDef (const WstringDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::WstringDef::~WstringDef (void)
+{
+}
+
+void POA_IR::WstringDef::_get_bound_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::WstringDef *_tao_impl = (POA_IR::WstringDef *)_tao_object_reference;
+
+ CORBA::ULong _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->bound (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::WstringDef::_set_bound_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::WstringDef *_tao_impl = (POA_IR::WstringDef *)_tao_object_reference;
+
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::WstringDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::WstringDef *_tao_impl = (POA_IR::WstringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::WstringDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::WstringDef *_tao_impl = (POA_IR::WstringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::WstringDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/WstringDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::WstringDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/WstringDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::WstringDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::WstringDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::WstringDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/WstringDef:1.0";
+}
+
+IR::WstringDef*
+POA_IR::WstringDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::WstringDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_WstringDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::WstringDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_WstringDef::_tao_thru_poa_collocated_WstringDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_WstringDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::WstringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/WstringDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_WstringDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::WstringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/WstringDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::ULong POA_IR::_tao_thru_poa_collocated_WstringDef::bound (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "bound",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::WstringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/WstringDef:1.0"
+ )
+ )->bound (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_WstringDef::bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "bound",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::WstringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/WstringDef:1.0"
+ )
+ )->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_FixedDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_FixedDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_FixedDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 0, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_FixedDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 9,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 3
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::FixedDef::_is_a_skel},
+ {"destroy", &POA_IR::FixedDef::destroy_skel},
+ {"_get_type", &POA_IR::FixedDef::_get_type_skel},
+ {"_get_scale", &POA_IR::FixedDef::_get_scale_skel},
+ {"_set_scale", &POA_IR::FixedDef::_set_scale_skel},
+ {"_get_digits", &POA_IR::FixedDef::_get_digits_skel},
+ {"_set_digits", &POA_IR::FixedDef::_set_digits_skel},
+ {"_get_def_kind", &POA_IR::FixedDef::_get_def_kind_skel},
+ {"_non_existent", &POA_IR::FixedDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -8, -2, -10, -2, 5, -1, 6, -1, 7, -27, -26, -1, 12,
+ -1, -1, -1, -1, 13,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_FixedDef_Perfect_Hash_OpTable tao_IR_FixedDef_optable;
+
+IR::FixedDef_ptr _TAO_collocation_POA_IR_FixedDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::FixedDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_FixedDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_FixedDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_FixedDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_FixedDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_FixedDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_FixedDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_FixedDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::FixedDef::FixedDef (void)
+{
+ this->optable_ = &tao_IR_FixedDef_optable;
+}
+
+// copy ctor
+POA_IR::FixedDef::FixedDef (const FixedDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::FixedDef::~FixedDef (void)
+{
+}
+
+void POA_IR::FixedDef::_get_digits_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::FixedDef *_tao_impl = (POA_IR::FixedDef *)_tao_object_reference;
+
+ CORBA::UShort _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_digits",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->digits (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_digits",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_digits",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::FixedDef::_set_digits_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FixedDef *_tao_impl = (POA_IR::FixedDef *)_tao_object_reference;
+
+ CORBA::UShort digits;
+ if (!(
+ (_tao_in >> digits)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_digits",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->digits (
+ digits,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_digits",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_digits",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::FixedDef::_get_scale_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::FixedDef *_tao_impl = (POA_IR::FixedDef *)_tao_object_reference;
+
+ CORBA::Short _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_scale",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->scale (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_scale",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_scale",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::FixedDef::_set_scale_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FixedDef *_tao_impl = (POA_IR::FixedDef *)_tao_object_reference;
+
+ CORBA::Short scale;
+ if (!(
+ (_tao_in >> scale)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_scale",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->scale (
+ scale,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_scale",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_scale",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::FixedDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FixedDef *_tao_impl = (POA_IR::FixedDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FixedDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::FixedDef *_tao_impl = (POA_IR::FixedDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::FixedDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/FixedDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::FixedDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/FixedDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::FixedDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::FixedDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::FixedDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/FixedDef:1.0";
+}
+
+IR::FixedDef*
+POA_IR::FixedDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::FixedDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_FixedDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::FixedDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_FixedDef::_tao_thru_poa_collocated_FixedDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_FixedDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FixedDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_FixedDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FixedDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::UShort POA_IR::_tao_thru_poa_collocated_FixedDef::digits (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::UShort _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "digits",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FixedDef:1.0"
+ )
+ )->digits (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_FixedDef::digits (
+ CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "digits",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FixedDef:1.0"
+ )
+ )->digits (
+ digits,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Short POA_IR::_tao_thru_poa_collocated_FixedDef::scale (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Short _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "scale",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FixedDef:1.0"
+ )
+ )->scale (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_FixedDef::scale (
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "scale",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FixedDef:1.0"
+ )
+ )->scale (
+ scale,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_SequenceDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_SequenceDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_SequenceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
+ 22, 22, 0, 0, 0, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 5, 22, 22, 22, 22, 0, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22,
+#else
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 0, 22, 0, 22, 22,
+ 0, 0, 0, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 5, 22, 22, 22,
+ 22, 0, 22, 22, 22, 22, 22, 22,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_SequenceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 10,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 21,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 21,
+ HASH_VALUE_RANGE = 17,
+ DUPLICATES = 3
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::SequenceDef::_is_a_skel},
+ {"destroy", &POA_IR::SequenceDef::destroy_skel},
+ {"_get_type", &POA_IR::SequenceDef::_get_type_skel},
+ {"_get_bound", &POA_IR::SequenceDef::_get_bound_skel},
+ {"_set_bound", &POA_IR::SequenceDef::_set_bound_skel},
+ {"_get_def_kind", &POA_IR::SequenceDef::_get_def_kind_skel},
+ {"_get_element_type", &POA_IR::SequenceDef::_get_element_type_skel},
+ {"_non_existent", &POA_IR::SequenceDef::_non_existent_skel},
+ {"_get_element_type_def", &POA_IR::SequenceDef::_get_element_type_def_skel},
+ {"_set_element_type_def", &POA_IR::SequenceDef::_set_element_type_def_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -28, -1, -1, 10,
+ -1, -1, -1, 11, 12, -13, -2, -23,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_SequenceDef_Perfect_Hash_OpTable tao_IR_SequenceDef_optable;
+
+IR::SequenceDef_ptr _TAO_collocation_POA_IR_SequenceDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::SequenceDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_SequenceDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_SequenceDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_SequenceDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_SequenceDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_SequenceDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_SequenceDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_SequenceDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::SequenceDef::SequenceDef (void)
+{
+ this->optable_ = &tao_IR_SequenceDef_optable;
+}
+
+// copy ctor
+POA_IR::SequenceDef::SequenceDef (const SequenceDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::SequenceDef::~SequenceDef (void)
+{
+}
+
+void POA_IR::SequenceDef::_get_bound_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *)_tao_object_reference;
+
+ CORBA::ULong _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->bound (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_bound",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::SequenceDef::_set_bound_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *)_tao_object_reference;
+
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_bound",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::SequenceDef::_get_element_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->element_type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::SequenceDef::_get_element_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->element_type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::SequenceDef::_set_element_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *)_tao_object_reference;
+
+ IR::IDLType_var element_type_def;
+ if (!(
+ (_tao_in >> element_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->element_type_def (
+ element_type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_element_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::SequenceDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::SequenceDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::SequenceDef *_tao_impl = (POA_IR::SequenceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::SequenceDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/SequenceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::SequenceDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/SequenceDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::SequenceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::SequenceDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::SequenceDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/SequenceDef:1.0";
+}
+
+IR::SequenceDef*
+POA_IR::SequenceDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::SequenceDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_SequenceDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::SequenceDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_SequenceDef::_tao_thru_poa_collocated_SequenceDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_SequenceDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_SequenceDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::ULong POA_IR::_tao_thru_poa_collocated_SequenceDef::bound (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "bound",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->bound (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_SequenceDef::bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "bound",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_SequenceDef::element_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "element_type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->element_type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_SequenceDef::element_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "element_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->element_type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_SequenceDef::element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "element_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/SequenceDef:1.0"
+ )
+ )->element_type_def (
+ element_type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_ArrayDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ArrayDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ArrayDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
+ 22, 22, 0, 0, 0, 22, 0, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 5, 22, 22, 22, 22, 0, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22,
+#else
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 0, 22, 0, 22, 22,
+ 0, 0, 0, 22, 0, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 5, 22, 22, 22,
+ 22, 0, 22, 22, 22, 22, 22, 22,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ArrayDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 10,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 21,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 21,
+ HASH_VALUE_RANGE = 17,
+ DUPLICATES = 3
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::ArrayDef::_is_a_skel},
+ {"destroy", &POA_IR::ArrayDef::destroy_skel},
+ {"_get_type", &POA_IR::ArrayDef::_get_type_skel},
+ {"_get_length", &POA_IR::ArrayDef::_get_length_skel},
+ {"_set_length", &POA_IR::ArrayDef::_set_length_skel},
+ {"_get_def_kind", &POA_IR::ArrayDef::_get_def_kind_skel},
+ {"_get_element_type", &POA_IR::ArrayDef::_get_element_type_skel},
+ {"_non_existent", &POA_IR::ArrayDef::_non_existent_skel},
+ {"_get_element_type_def", &POA_IR::ArrayDef::_get_element_type_def_skel},
+ {"_set_element_type_def", &POA_IR::ArrayDef::_set_element_type_def_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -8, -2, 5, -1, 6, -1, 7, -1, -29, -1, 10,
+ -1, -1, -1, 11, 12, -13, -2, -23,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_ArrayDef_Perfect_Hash_OpTable tao_IR_ArrayDef_optable;
+
+IR::ArrayDef_ptr _TAO_collocation_POA_IR_ArrayDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ArrayDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ArrayDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ArrayDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ArrayDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ArrayDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ArrayDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ArrayDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ArrayDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ArrayDef::ArrayDef (void)
+{
+ this->optable_ = &tao_IR_ArrayDef_optable;
+}
+
+// copy ctor
+POA_IR::ArrayDef::ArrayDef (const ArrayDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ArrayDef::~ArrayDef (void)
+{
+}
+
+void POA_IR::ArrayDef::_get_length_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *)_tao_object_reference;
+
+ CORBA::ULong _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_length",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->length (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_length",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_length",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ArrayDef::_set_length_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *)_tao_object_reference;
+
+ CORBA::ULong length;
+ if (!(
+ (_tao_in >> length)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_length",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->length (
+ length,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_length",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_length",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ArrayDef::_get_element_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->element_type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ArrayDef::_get_element_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->element_type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_element_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ArrayDef::_set_element_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *)_tao_object_reference;
+
+ IR::IDLType_var element_type_def;
+ if (!(
+ (_tao_in >> element_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->element_type_def (
+ element_type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_element_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_element_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ArrayDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ArrayDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ArrayDef *_tao_impl = (POA_IR::ArrayDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ArrayDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ArrayDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ArrayDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ArrayDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ArrayDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ArrayDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ArrayDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ArrayDef:1.0";
+}
+
+IR::ArrayDef*
+POA_IR::ArrayDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ArrayDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ArrayDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ArrayDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ArrayDef::_tao_thru_poa_collocated_ArrayDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ArrayDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ArrayDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::ULong POA_IR::_tao_thru_poa_collocated_ArrayDef::length (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "length",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->length (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ArrayDef::length (
+ CORBA::ULong length,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "length",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->length (
+ length,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_ArrayDef::element_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "element_type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->element_type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_ArrayDef::element_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "element_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->element_type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ArrayDef::element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "element_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ArrayDef:1.0"
+ )
+ )->element_type_def (
+ element_type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_ExceptionDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ExceptionDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ExceptionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
+ 52, 20, 3, 0, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 10, 15, 5,
+ 52, 10, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 15, 15, 52, 52, 52, 15, 5, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52,
+#else
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 0, 52, 0, 52, 20,
+ 3, 0, 52, 52, 52, 52, 52, 52, 10, 15,
+ 5, 52, 10, 52, 52, 15, 15, 52, 52, 52,
+ 15, 5, 52, 52, 52, 52, 52, 52,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ExceptionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 33,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 51,
+ HASH_VALUE_RANGE = 47,
+ DUPLICATES = 7
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_IR::ExceptionDef::_is_a_skel},
+ {"_get_type", &POA_IR::ExceptionDef::_get_type_skel},
+ {"_set_name", &POA_IR::ExceptionDef::_set_name_skel},
+ {"_get_name", &POA_IR::ExceptionDef::_get_name_skel},
+ {"_get_id", &POA_IR::ExceptionDef::_get_id_skel},
+ {"_set_id", &POA_IR::ExceptionDef::_set_id_skel},
+ {"describe", &POA_IR::ExceptionDef::describe_skel},
+ {"destroy", &POA_IR::ExceptionDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::ExceptionDef::_get_def_kind_skel},
+ {"_get_version", &POA_IR::ExceptionDef::_get_version_skel},
+ {"_set_version", &POA_IR::ExceptionDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::ExceptionDef::_get_absolute_name_skel},
+ {"move", &POA_IR::ExceptionDef::move_skel},
+ {"_get_defined_in", &POA_IR::ExceptionDef::_get_defined_in_skel},
+ {"lookup_name", &POA_IR::ExceptionDef::lookup_name_skel},
+ {"lookup", &POA_IR::ExceptionDef::lookup_skel},
+ {"_get_members", &POA_IR::ExceptionDef::_get_members_skel},
+ {"_set_members", &POA_IR::ExceptionDef::_set_members_skel},
+ {"_non_existent", &POA_IR::ExceptionDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ExceptionDef::_get_containing_repository_skel},
+ {"create_value", &POA_IR::ExceptionDef::create_value_skel},
+ {"create_module", &POA_IR::ExceptionDef::create_module_skel},
+ {"create_native", &POA_IR::ExceptionDef::create_native_skel},
+ {"describe_contents", &POA_IR::ExceptionDef::describe_contents_skel},
+ {"create_interface", &POA_IR::ExceptionDef::create_interface_skel},
+ {"create_union", &POA_IR::ExceptionDef::create_union_skel},
+ {"create_exception", &POA_IR::ExceptionDef::create_exception_skel},
+ {"contents", &POA_IR::ExceptionDef::contents_skel},
+ {"create_enum", &POA_IR::ExceptionDef::create_enum_skel},
+ {"create_alias", &POA_IR::ExceptionDef::create_alias_skel},
+ {"create_struct", &POA_IR::ExceptionDef::create_struct_skel},
+ {"create_constant", &POA_IR::ExceptionDef::create_constant_skel},
+ {"create_value_box", &POA_IR::ExceptionDef::create_value_box_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -6, -3, 5, -1, -9, -2, -57, -54, 11, -1, -14,
+ -2, 12, 13, -55, 16, 17, 18, 19, -1, -1, -21, -2, 20, -54,
+ 23, -26, -2, 24, 25, -55, -1, 28, 29, 30, -1, -1, -1, 31,
+ -1, 32, -1, -1, 33, 34, 35, -1, 36, 37,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_ExceptionDef_Perfect_Hash_OpTable tao_IR_ExceptionDef_optable;
+
+IR::ExceptionDef_ptr _TAO_collocation_POA_IR_ExceptionDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ExceptionDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ExceptionDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ExceptionDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ExceptionDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ExceptionDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ExceptionDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ExceptionDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ExceptionDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ExceptionDef::ExceptionDef (void)
+{
+ this->optable_ = &tao_IR_ExceptionDef_optable;
+}
+
+// copy ctor
+POA_IR::ExceptionDef::ExceptionDef (const ExceptionDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ExceptionDef::~ExceptionDef (void)
+{
+}
+
+void POA_IR::ExceptionDef::_get_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ExceptionDef *_tao_impl = (POA_IR::ExceptionDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ExceptionDef::_get_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ExceptionDef *_tao_impl = (POA_IR::ExceptionDef *)_tao_object_reference;
+
+ IR::StructMemberSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->members (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ExceptionDef::_set_members_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ExceptionDef *_tao_impl = (POA_IR::ExceptionDef *)_tao_object_reference;
+
+ IR::StructMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_members",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ExceptionDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ExceptionDef *_tao_impl = (POA_IR::ExceptionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ExceptionDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ExceptionDef *_tao_impl = (POA_IR::ExceptionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ExceptionDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ExceptionDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ExceptionDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ExceptionDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ExceptionDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ExceptionDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ExceptionDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ExceptionDef:1.0";
+}
+
+IR::ExceptionDef*
+POA_IR::ExceptionDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ExceptionDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ExceptionDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ExceptionDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ExceptionDef::_tao_thru_poa_collocated_ExceptionDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ExceptionDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ExceptionDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ExceptionDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ExceptionDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_ExceptionDef::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ExceptionDef:1.0"
+ )
+ )->type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::StructMemberSeq * POA_IR::_tao_thru_poa_collocated_ExceptionDef::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::StructMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ExceptionDef:1.0"
+ )
+ )->members (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ExceptionDef::members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "members",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ExceptionDef:1.0"
+ )
+ )->members (
+ members,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_AttributeDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_AttributeDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_AttributeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 15, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 15, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_AttributeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 20,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 8
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::AttributeDef::move_skel},
+ {"_is_a", &POA_IR::AttributeDef::_is_a_skel},
+ {"_get_id", &POA_IR::AttributeDef::_get_id_skel},
+ {"_set_id", &POA_IR::AttributeDef::_set_id_skel},
+ {"describe", &POA_IR::AttributeDef::describe_skel},
+ {"_get_type", &POA_IR::AttributeDef::_get_type_skel},
+ {"_set_name", &POA_IR::AttributeDef::_set_name_skel},
+ {"_get_name", &POA_IR::AttributeDef::_get_name_skel},
+ {"_set_mode", &POA_IR::AttributeDef::_set_mode_skel},
+ {"_get_mode", &POA_IR::AttributeDef::_get_mode_skel},
+ {"_get_version", &POA_IR::AttributeDef::_get_version_skel},
+ {"_set_version", &POA_IR::AttributeDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::AttributeDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::AttributeDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::AttributeDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::AttributeDef::_get_absolute_name_skel},
+ {"_get_type_def", &POA_IR::AttributeDef::_get_type_def_skel},
+ {"_set_type_def", &POA_IR::AttributeDef::_set_type_def_skel},
+ {"_non_existent", &POA_IR::AttributeDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::AttributeDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -5, 4, 5, -1, -43, 8, -43, -14, -2, -38, 16,
+ -1, 17, -1, 18, 19, -1, -1, -20, -2, -38, -1, -1, -1, -1,
+ 22, -1, -1, -1, -1, -1, -1, -1, 23,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_AttributeDef_Perfect_Hash_OpTable tao_IR_AttributeDef_optable;
+
+IR::AttributeDef_ptr _TAO_collocation_POA_IR_AttributeDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::AttributeDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_AttributeDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_AttributeDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_AttributeDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_AttributeDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_AttributeDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_AttributeDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_AttributeDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::AttributeDef::AttributeDef (void)
+{
+ this->optable_ = &tao_IR_AttributeDef_optable;
+}
+
+// copy ctor
+POA_IR::AttributeDef::AttributeDef (const AttributeDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::AttributeDef::~AttributeDef (void)
+{
+}
+
+void POA_IR::AttributeDef::_get_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::AttributeDef::_get_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::AttributeDef::_set_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *)_tao_object_reference;
+
+ IR::IDLType_var type_def;
+ if (!(
+ (_tao_in >> type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->type_def (
+ type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::AttributeDef::_get_mode_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *)_tao_object_reference;
+
+ IR::AttributeMode _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->mode (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_mode",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::AttributeDef::_set_mode_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *)_tao_object_reference;
+
+ IR::AttributeMode mode;
+ if (!(
+ (_tao_in >> mode)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_mode",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::AttributeDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::AttributeDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::AttributeDef *_tao_impl = (POA_IR::AttributeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::AttributeDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/AttributeDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::AttributeDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/AttributeDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::AttributeDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::AttributeDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::AttributeDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/AttributeDef:1.0";
+}
+
+IR::AttributeDef*
+POA_IR::AttributeDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::AttributeDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_AttributeDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::AttributeDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_AttributeDef::_tao_thru_poa_collocated_AttributeDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_AttributeDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_AttributeDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_AttributeDef::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_AttributeDef::type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_AttributeDef::type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->type_def (
+ type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::AttributeMode POA_IR::_tao_thru_poa_collocated_AttributeDef::mode (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::AttributeMode _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "mode",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->mode (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_AttributeDef::mode (
+ IR::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "mode",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/AttributeDef:1.0"
+ )
+ )->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_OperationDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_OperationDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_OperationDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 15, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 5,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 20, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 15, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 5, 37, 37, 37, 37, 0, 20, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_OperationDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 26,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 10
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::OperationDef::move_skel},
+ {"_is_a", &POA_IR::OperationDef::_is_a_skel},
+ {"_get_mode", &POA_IR::OperationDef::_get_mode_skel},
+ {"_set_name", &POA_IR::OperationDef::_set_name_skel},
+ {"_get_name", &POA_IR::OperationDef::_get_name_skel},
+ {"_set_mode", &POA_IR::OperationDef::_set_mode_skel},
+ {"_get_params", &POA_IR::OperationDef::_get_params_skel},
+ {"_set_params", &POA_IR::OperationDef::_set_params_skel},
+ {"_get_contexts", &POA_IR::OperationDef::_get_contexts_skel},
+ {"_set_contexts", &POA_IR::OperationDef::_set_contexts_skel},
+ {"_get_exceptions", &POA_IR::OperationDef::_get_exceptions_skel},
+ {"_set_exceptions", &POA_IR::OperationDef::_set_exceptions_skel},
+ {"_get_version", &POA_IR::OperationDef::_get_version_skel},
+ {"_set_version", &POA_IR::OperationDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::OperationDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::OperationDef::_get_defined_in_skel},
+ {"_get_id", &POA_IR::OperationDef::_get_id_skel},
+ {"_set_id", &POA_IR::OperationDef::_set_id_skel},
+ {"describe", &POA_IR::OperationDef::describe_skel},
+ {"_get_result_def", &POA_IR::OperationDef::_get_result_def_skel},
+ {"_set_result_def", &POA_IR::OperationDef::_set_result_def_skel},
+ {"_get_def_kind", &POA_IR::OperationDef::_get_def_kind_skel},
+ {"_get_result", &POA_IR::OperationDef::_get_result_skel},
+ {"destroy", &POA_IR::OperationDef::destroy_skel},
+ {"_non_existent", &POA_IR::OperationDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::OperationDef::_get_containing_repository_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ {
+ const class TAO_operation_db_entry *resword;
+
+ switch (key)
+ {
+ case 4:
+ resword = &wordlist[4]; break;
+ case 5:
+ resword = &wordlist[5]; break;
+ case 9:
+ resword = &wordlist[6];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[7];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[8];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[9];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 11:
+ resword = &wordlist[10];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[11];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 13:
+ resword = &wordlist[12];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[13];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 15:
+ resword = &wordlist[14];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[15];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 17:
+ resword = &wordlist[16];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[17];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 18:
+ resword = &wordlist[18]; break;
+ case 20:
+ resword = &wordlist[19]; break;
+ case 22:
+ resword = &wordlist[20];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[21];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 23:
+ resword = &wordlist[22]; break;
+ case 25:
+ resword = &wordlist[23];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[24];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 28:
+ resword = &wordlist[25]; break;
+ case 31:
+ resword = &wordlist[26]; break;
+ case 32:
+ resword = &wordlist[27]; break;
+ case 33:
+ resword = &wordlist[28]; break;
+ case 36:
+ resword = &wordlist[29]; break;
+ default: return 0;
+ }
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
+ return resword;
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_OperationDef_Perfect_Hash_OpTable tao_IR_OperationDef_optable;
+
+IR::OperationDef_ptr _TAO_collocation_POA_IR_OperationDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::OperationDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_OperationDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_OperationDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_OperationDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_OperationDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_OperationDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_OperationDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_OperationDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::OperationDef::OperationDef (void)
+{
+ this->optable_ = &tao_IR_OperationDef_optable;
+}
+
+// copy ctor
+POA_IR::OperationDef::OperationDef (const OperationDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::OperationDef::~OperationDef (void)
+{
+}
+
+void POA_IR::OperationDef::_get_result_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_result",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->result (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_result",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_result",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::OperationDef::_get_result_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_result_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->result_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_result_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_result_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::OperationDef::_set_result_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::IDLType_var result_def;
+ if (!(
+ (_tao_in >> result_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_result_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->result_def (
+ result_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_result_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_result_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::OperationDef::_get_params_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::ParDescriptionSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_params",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->params (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_params",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_params",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::OperationDef::_set_params_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::ParDescriptionSeq params;
+ if (!(
+ (_tao_in >> params)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_params",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->params (
+ params,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_params",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_params",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::OperationDef::_get_mode_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::OperationMode _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->mode (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_mode",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::OperationDef::_set_mode_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::OperationMode mode;
+ if (!(
+ (_tao_in >> mode)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_mode",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_mode",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::OperationDef::_get_contexts_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::ContextIdSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_contexts",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->contexts (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_contexts",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_contexts",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::OperationDef::_set_contexts_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::ContextIdSeq contexts;
+ if (!(
+ (_tao_in >> contexts)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_contexts",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->contexts (
+ contexts,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_contexts",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_contexts",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::OperationDef::_get_exceptions_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::ExceptionDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_exceptions",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->exceptions (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_exceptions",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_exceptions",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::OperationDef::_set_exceptions_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *)_tao_object_reference;
+
+ IR::ExceptionDefSeq exceptions;
+ if (!(
+ (_tao_in >> exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_exceptions",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->exceptions (
+ exceptions,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_exceptions",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_exceptions",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::OperationDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::OperationDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::OperationDef *_tao_impl = (POA_IR::OperationDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::OperationDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/OperationDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::OperationDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/OperationDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::OperationDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::OperationDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::OperationDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/OperationDef:1.0";
+}
+
+IR::OperationDef*
+POA_IR::OperationDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::OperationDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_OperationDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::OperationDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_OperationDef::_tao_thru_poa_collocated_OperationDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_OperationDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_OperationDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_OperationDef::result (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "result",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->result (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_OperationDef::result_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "result_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->result_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_OperationDef::result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "result_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->result_def (
+ result_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::ParDescriptionSeq * POA_IR::_tao_thru_poa_collocated_OperationDef::params (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ParDescriptionSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "params",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->params (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_OperationDef::params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "params",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->params (
+ params,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::OperationMode POA_IR::_tao_thru_poa_collocated_OperationDef::mode (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::OperationMode _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "mode",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->mode (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_OperationDef::mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "mode",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::ContextIdSeq * POA_IR::_tao_thru_poa_collocated_OperationDef::contexts (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ContextIdSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "contexts",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->contexts (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_OperationDef::contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "contexts",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->contexts (
+ contexts,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::ExceptionDefSeq * POA_IR::_tao_thru_poa_collocated_OperationDef::exceptions (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ExceptionDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "exceptions",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->exceptions (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_OperationDef::exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "exceptions",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/OperationDef:1.0"
+ )
+ )->exceptions (
+ exceptions,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_InterfaceDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_InterfaceDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_InterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 0,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 0,
+ 66, 20, 8, 0, 66, 66, 66, 10, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 0, 0, 5,
+ 66, 0, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 10, 30, 66, 66, 66, 20, 25, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66,
+#else
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 0, 66, 0, 66, 20,
+ 8, 0, 66, 66, 66, 10, 66, 66, 0, 0,
+ 5, 66, 0, 66, 66, 10, 30, 66, 66, 66,
+ 20, 25, 66, 66, 66, 66, 66, 66,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_InterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 40,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 65,
+ HASH_VALUE_RANGE = 62,
+ DUPLICATES = 11
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::InterfaceDef::move_skel},
+ {"_is_a", &POA_IR::InterfaceDef::_is_a_skel},
+ {"lookup", &POA_IR::InterfaceDef::lookup_skel},
+ {"_get_name", &POA_IR::InterfaceDef::_get_name_skel},
+ {"_get_type", &POA_IR::InterfaceDef::_get_type_skel},
+ {"_set_name", &POA_IR::InterfaceDef::_set_name_skel},
+ {"lookup_name", &POA_IR::InterfaceDef::lookup_name_skel},
+ {"_get_is_local", &POA_IR::InterfaceDef::_get_is_local_skel},
+ {"_set_is_local", &POA_IR::InterfaceDef::_set_is_local_skel},
+ {"is_a", &POA_IR::InterfaceDef::is_a_skel},
+ {"_get_id", &POA_IR::InterfaceDef::_get_id_skel},
+ {"_set_id", &POA_IR::InterfaceDef::_set_id_skel},
+ {"describe", &POA_IR::InterfaceDef::describe_skel},
+ {"_get_version", &POA_IR::InterfaceDef::_get_version_skel},
+ {"_set_version", &POA_IR::InterfaceDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::InterfaceDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::InterfaceDef::_get_defined_in_skel},
+ {"_get_def_kind", &POA_IR::InterfaceDef::_get_def_kind_skel},
+ {"_get_base_interfaces", &POA_IR::InterfaceDef::_get_base_interfaces_skel},
+ {"_set_base_interfaces", &POA_IR::InterfaceDef::_set_base_interfaces_skel},
+ {"create_enum", &POA_IR::InterfaceDef::create_enum_skel},
+ {"create_value", &POA_IR::InterfaceDef::create_value_skel},
+ {"create_module", &POA_IR::InterfaceDef::create_module_skel},
+ {"create_native", &POA_IR::InterfaceDef::create_native_skel},
+ {"describe_contents", &POA_IR::InterfaceDef::describe_contents_skel},
+ {"create_attribute", &POA_IR::InterfaceDef::create_attribute_skel},
+ {"create_interface", &POA_IR::InterfaceDef::create_interface_skel},
+ {"create_union", &POA_IR::InterfaceDef::create_union_skel},
+ {"contents", &POA_IR::InterfaceDef::contents_skel},
+ {"destroy", &POA_IR::InterfaceDef::destroy_skel},
+ {"create_operation", &POA_IR::InterfaceDef::create_operation_skel},
+ {"create_exception", &POA_IR::InterfaceDef::create_exception_skel},
+ {"create_alias", &POA_IR::InterfaceDef::create_alias_skel},
+ {"_non_existent", &POA_IR::InterfaceDef::_non_existent_skel},
+ {"_get_is_abstract", &POA_IR::InterfaceDef::_get_is_abstract_skel},
+ {"_set_is_abstract", &POA_IR::InterfaceDef::_set_is_abstract_skel},
+ {"_get_containing_repository", &POA_IR::InterfaceDef::_get_containing_repository_skel},
+ {"create_value_box", &POA_IR::InterfaceDef::create_value_box_skel},
+ {"create_struct", &POA_IR::InterfaceDef::create_struct_skel},
+ {"create_constant", &POA_IR::InterfaceDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -11, -2, -14, -2, 4, 5, 6, -17, -2, 103, -1, 10, -1, -78,
+ 13, -78, 16, -75, 19, -1, 20, 21, -22, -2, -26, -2, -29, -2,
+ -34, -2, -73, 24, 25, -74, -1, 28, -75, 31, 32, -1, 33, -78,
+ 36, 37, -38, -2, -67, -7, -3, -1, -1, 40, -1, -1, -1, -1,
+ 41, -1, -1, -1, -1, -1, -1, 42, -1, 43,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_InterfaceDef_Perfect_Hash_OpTable tao_IR_InterfaceDef_optable;
+
+IR::InterfaceDef_ptr _TAO_collocation_POA_IR_InterfaceDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::InterfaceDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_InterfaceDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_InterfaceDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_InterfaceDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_InterfaceDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_InterfaceDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_InterfaceDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_InterfaceDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::InterfaceDef::InterfaceDef (void)
+{
+ this->optable_ = &tao_IR_InterfaceDef_optable;
+}
+
+// copy ctor
+POA_IR::InterfaceDef::InterfaceDef (const InterfaceDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::InterfaceDef::~InterfaceDef (void)
+{
+}
+
+void POA_IR::InterfaceDef::_get_base_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ IR::InterfaceDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->base_interfaces (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::InterfaceDef::_set_base_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ IR::InterfaceDefSeq base_interfaces;
+ if (!(
+ (_tao_in >> base_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_base_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->base_interfaces (
+ base_interfaces,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_base_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_base_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::InterfaceDef::_get_is_abstract_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_abstract (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_abstract",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::InterfaceDef::_set_is_abstract_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ CORBA::Boolean is_abstract;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_abstract))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_abstract",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::InterfaceDef::_get_is_local_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_local",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_local (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_local",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_local",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::InterfaceDef::_set_is_local_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ CORBA::Boolean is_local;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_local))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_local",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_local (
+ is_local,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_local",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_local",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::InterfaceDef::is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var interface_id;
+ if (!(
+ (_tao_in >> interface_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_a (
+ interface_id.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::InterfaceDef::create_attribute_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ IR::AttributeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var type;
+ IR::AttributeMode mode;
+ IR::ExceptionDefSeq get_exceptions;
+ IR::ExceptionDefSeq put_exceptions;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> mode) &&
+ (_tao_in >> get_exceptions) &&
+ (_tao_in >> put_exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_attribute",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_attribute (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_attribute",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_attribute",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::InterfaceDef::create_operation_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *)_tao_object_reference;
+
+ IR::OperationDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var result;
+ IR::OperationMode mode;
+ IR::ParDescriptionSeq params;
+ IR::ExceptionDefSeq exceptions;
+ IR::ContextIdSeq contexts;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> result.out ()) &&
+ (_tao_in >> mode) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions) &&
+ (_tao_in >> contexts)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_operation",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_operation (
+ id.in (),
+ name.in (),
+ version.in (),
+ result.in (),
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_operation",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_operation",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::InterfaceDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::InterfaceDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::InterfaceDef *_tao_impl = (POA_IR::InterfaceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::InterfaceDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::InterfaceDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::InterfaceDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::InterfaceDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/InterfaceDef:1.0";
+}
+
+IR::InterfaceDef*
+POA_IR::InterfaceDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::InterfaceDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_InterfaceDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::InterfaceDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_InterfaceDef::_tao_thru_poa_collocated_InterfaceDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_InterfaceDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_InterfaceDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::InterfaceDefSeq * POA_IR::_tao_thru_poa_collocated_InterfaceDef::base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InterfaceDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "base_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->base_interfaces (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_InterfaceDef::base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "base_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->base_interfaces (
+ base_interfaces,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_InterfaceDef::is_abstract (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_abstract",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->is_abstract (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_InterfaceDef::is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_abstract",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_InterfaceDef::is_local (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_local",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->is_local (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_InterfaceDef::is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_local",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->is_local (
+ is_local,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_InterfaceDef::is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->is_a (
+ interface_id,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::AttributeDef_ptr POA_IR::_tao_thru_poa_collocated_InterfaceDef::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::AttributeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_attribute",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::OperationDef_ptr POA_IR::_tao_thru_poa_collocated_InterfaceDef::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::OperationDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_operation",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/InterfaceDef:1.0"
+ )
+ )->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_ValueMemberDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:10 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ValueMemberDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ValueMemberDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 15, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 0, 15, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ValueMemberDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 20,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 7
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ValueMemberDef::move_skel},
+ {"_is_a", &POA_IR::ValueMemberDef::_is_a_skel},
+ {"_get_id", &POA_IR::ValueMemberDef::_get_id_skel},
+ {"_set_id", &POA_IR::ValueMemberDef::_set_id_skel},
+ {"describe", &POA_IR::ValueMemberDef::describe_skel},
+ {"_get_type", &POA_IR::ValueMemberDef::_get_type_skel},
+ {"_set_name", &POA_IR::ValueMemberDef::_set_name_skel},
+ {"_get_name", &POA_IR::ValueMemberDef::_get_name_skel},
+ {"_get_access", &POA_IR::ValueMemberDef::_get_access_skel},
+ {"_set_access", &POA_IR::ValueMemberDef::_set_access_skel},
+ {"_get_version", &POA_IR::ValueMemberDef::_get_version_skel},
+ {"_set_version", &POA_IR::ValueMemberDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ValueMemberDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::ValueMemberDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ValueMemberDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ValueMemberDef::_get_absolute_name_skel},
+ {"_get_type_def", &POA_IR::ValueMemberDef::_get_type_def_skel},
+ {"_set_type_def", &POA_IR::ValueMemberDef::_set_type_def_skel},
+ {"_non_existent", &POA_IR::ValueMemberDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ValueMemberDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -12, -2, -14, -2, 4, 5, -1, 53, 8, 46, -1, -47, -46, 16,
+ -1, 17, -1, 18, 19, -9, -3, -20, -2, -38, -6, -2, -1, -1,
+ 22, -1, -1, -1, -1, -1, -1, -1, 23,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:10 */
+static TAO_IR_ValueMemberDef_Perfect_Hash_OpTable tao_IR_ValueMemberDef_optable;
+
+IR::ValueMemberDef_ptr _TAO_collocation_POA_IR_ValueMemberDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ValueMemberDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ValueMemberDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ValueMemberDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ValueMemberDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ValueMemberDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ValueMemberDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ValueMemberDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ValueMemberDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ValueMemberDef::ValueMemberDef (void)
+{
+ this->optable_ = &tao_IR_ValueMemberDef_optable;
+}
+
+// copy ctor
+POA_IR::ValueMemberDef::ValueMemberDef (const ValueMemberDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ValueMemberDef::~ValueMemberDef (void)
+{
+}
+
+void POA_IR::ValueMemberDef::_get_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueMemberDef::_get_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueMemberDef::_set_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *)_tao_object_reference;
+
+ IR::IDLType_var type_def;
+ if (!(
+ (_tao_in >> type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->type_def (
+ type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueMemberDef::_get_access_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *)_tao_object_reference;
+
+ CORBA::Visibility _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_access",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->access (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_access",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_access",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueMemberDef::_set_access_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *)_tao_object_reference;
+
+ CORBA::Visibility access;
+ if (!(
+ (_tao_in >> access)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_access",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->access (
+ access,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_access",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_access",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueMemberDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ValueMemberDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ValueMemberDef *_tao_impl = (POA_IR::ValueMemberDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ValueMemberDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ValueMemberDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ValueMemberDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ValueMemberDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ValueMemberDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ValueMemberDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ValueMemberDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ValueMemberDef:1.0";
+}
+
+IR::ValueMemberDef*
+POA_IR::ValueMemberDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ValueMemberDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ValueMemberDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ValueMemberDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ValueMemberDef::_tao_thru_poa_collocated_ValueMemberDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueMemberDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueMemberDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_IR::_tao_thru_poa_collocated_ValueMemberDef::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->type (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_ValueMemberDef::type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueMemberDef::type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->type_def (
+ type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Visibility POA_IR::_tao_thru_poa_collocated_ValueMemberDef::access (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Visibility _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "access",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->access (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueMemberDef::access (
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "access",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueMemberDef:1.0"
+ )
+ )->access (
+ access,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_ValueDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ValueDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ValueDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 0,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 0,
+ 86, 50, 35, 0, 86, 86, 86, 20, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 0, 0, 15,
+ 86, 0, 86, 0, 86, 86, 86, 86, 86, 86,
+ 86, 86, 20, 20, 86, 86, 86, 5, 5, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86,
+#else
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 0, 86, 0, 86, 50,
+ 35, 0, 86, 86, 86, 20, 86, 86, 0, 0,
+ 15, 86, 0, 86, 0, 20, 20, 86, 86, 86,
+ 5, 5, 86, 86, 86, 86, 86, 86,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ValueDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 49,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 85,
+ HASH_VALUE_RANGE = 82,
+ DUPLICATES = 16
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ValueDef::move_skel},
+ {"_is_a", &POA_IR::ValueDef::_is_a_skel},
+ {"lookup", &POA_IR::ValueDef::lookup_skel},
+ {"_get_name", &POA_IR::ValueDef::_get_name_skel},
+ {"_get_type", &POA_IR::ValueDef::_get_type_skel},
+ {"_set_name", &POA_IR::ValueDef::_set_name_skel},
+ {"lookup_name", &POA_IR::ValueDef::lookup_name_skel},
+ {"_get_is_custom", &POA_IR::ValueDef::_get_is_custom_skel},
+ {"_set_is_custom", &POA_IR::ValueDef::_set_is_custom_skel},
+ {"_get_base_value", &POA_IR::ValueDef::_get_base_value_skel},
+ {"_set_base_value", &POA_IR::ValueDef::_set_base_value_skel},
+ {"_get_absolute_name", &POA_IR::ValueDef::_get_absolute_name_skel},
+ {"_get_is_truncatable", &POA_IR::ValueDef::_get_is_truncatable_skel},
+ {"_set_is_truncatable", &POA_IR::ValueDef::_set_is_truncatable_skel},
+ {"is_a", &POA_IR::ValueDef::is_a_skel},
+ {"_get_version", &POA_IR::ValueDef::_get_version_skel},
+ {"_set_version", &POA_IR::ValueDef::_set_version_skel},
+ {"_get_defined_in", &POA_IR::ValueDef::_get_defined_in_skel},
+ {"_get_containing_repository", &POA_IR::ValueDef::_get_containing_repository_skel},
+ {"_non_existent", &POA_IR::ValueDef::_non_existent_skel},
+ {"_get_is_abstract", &POA_IR::ValueDef::_get_is_abstract_skel},
+ {"_set_is_abstract", &POA_IR::ValueDef::_set_is_abstract_skel},
+ {"_get_initializers", &POA_IR::ValueDef::_get_initializers_skel},
+ {"_set_initializers", &POA_IR::ValueDef::_set_initializers_skel},
+ {"_get_id", &POA_IR::ValueDef::_get_id_skel},
+ {"_set_id", &POA_IR::ValueDef::_set_id_skel},
+ {"describe", &POA_IR::ValueDef::describe_skel},
+ {"_get_supported_interfaces", &POA_IR::ValueDef::_get_supported_interfaces_skel},
+ {"_set_abstract_base_values", &POA_IR::ValueDef::_set_abstract_base_values_skel},
+ {"_get_abstract_base_values", &POA_IR::ValueDef::_get_abstract_base_values_skel},
+ {"_set_supported_interfaces", &POA_IR::ValueDef::_set_supported_interfaces_skel},
+ {"destroy", &POA_IR::ValueDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::ValueDef::_get_def_kind_skel},
+ {"create_enum", &POA_IR::ValueDef::create_enum_skel},
+ {"create_value", &POA_IR::ValueDef::create_value_skel},
+ {"create_module", &POA_IR::ValueDef::create_module_skel},
+ {"create_native", &POA_IR::ValueDef::create_native_skel},
+ {"create_attribute", &POA_IR::ValueDef::create_attribute_skel},
+ {"create_interface", &POA_IR::ValueDef::create_interface_skel},
+ {"create_value_member", &POA_IR::ValueDef::create_value_member_skel},
+ {"create_value_box", &POA_IR::ValueDef::create_value_box_skel},
+ {"describe_contents", &POA_IR::ValueDef::describe_contents_skel},
+ {"create_union", &POA_IR::ValueDef::create_union_skel},
+ {"contents", &POA_IR::ValueDef::contents_skel},
+ {"create_operation", &POA_IR::ValueDef::create_operation_skel},
+ {"create_exception", &POA_IR::ValueDef::create_exception_skel},
+ {"create_alias", &POA_IR::ValueDef::create_alias_skel},
+ {"create_struct", &POA_IR::ValueDef::create_struct_skel},
+ {"create_constant", &POA_IR::ValueDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -7, -3, 4, 5, 6, -11, -2, -92, -1, 10, -13, -2,
+ -92, -88, -16, -2, 15, -88, -1, -1, -1, -1, 18, -19, -2, -87,
+ -24, -2, 21, 22, -1, 23, -26, -2, -93, -88, -28, -2, -31, -4,
+ -89, 30, -1, -90, -1, 35, 36, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -39, -2, 37, 38, -89, -41, -2, -87, -1, -1, 43,
+ -1, 44, 45, -1, -1, -1, -1, 46, 47, -48, -2, -87, 50, 51,
+ -1, 52,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_ValueDef_Perfect_Hash_OpTable tao_IR_ValueDef_optable;
+
+IR::ValueDef_ptr _TAO_collocation_POA_IR_ValueDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ValueDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ValueDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ValueDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ValueDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ValueDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ValueDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ValueDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ValueDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ValueDef::ValueDef (void)
+{
+ this->optable_ = &tao_IR_ValueDef_optable;
+}
+
+// copy ctor
+POA_IR::ValueDef::ValueDef (const ValueDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ValueDef::~ValueDef (void)
+{
+}
+
+void POA_IR::ValueDef::_get_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::InterfaceDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->supported_interfaces (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_supported_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::InterfaceDefSeq supported_interfaces;
+ if (!(
+ (_tao_in >> supported_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->supported_interfaces (
+ supported_interfaces,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_supported_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::_get_initializers_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::InitializerSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_initializers",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->initializers (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_initializers",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_initializers",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_initializers_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::InitializerSeq initializers;
+ if (!(
+ (_tao_in >> initializers)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_initializers",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->initializers (
+ initializers,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_initializers",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_initializers",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::_get_base_value_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::ValueDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->base_value (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_value",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_base_value_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::ValueDef_var base_value;
+ if (!(
+ (_tao_in >> base_value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_base_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->base_value (
+ base_value.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_base_value",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_base_value",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::_get_abstract_base_values_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::ValueDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_abstract_base_values",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->abstract_base_values (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_abstract_base_values",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_abstract_base_values",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_abstract_base_values_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::ValueDefSeq abstract_base_values;
+ if (!(
+ (_tao_in >> abstract_base_values)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_abstract_base_values",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->abstract_base_values (
+ abstract_base_values,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_abstract_base_values",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_abstract_base_values",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::_get_is_abstract_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_abstract (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_abstract",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_is_abstract_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean is_abstract;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_abstract))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_abstract",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_abstract",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::_get_is_custom_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_custom",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_custom (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_custom",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_custom",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_is_custom_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean is_custom;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_custom))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_custom",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_custom (
+ is_custom,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_custom",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_custom",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::_get_is_truncatable_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_truncatable",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_truncatable (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_truncatable",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_truncatable",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_set_is_truncatable_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean is_truncatable;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_truncatable))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_truncatable",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_truncatable (
+ is_truncatable,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_truncatable",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_is_truncatable",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueDef::is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var id;
+ if (!(
+ (_tao_in >> id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_a (
+ id.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::create_value_member_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::ValueMemberDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var type;
+ CORBA::Visibility access;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> access)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value_member",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_value_member (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ access,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value_member",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_value_member",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::create_attribute_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::AttributeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var type;
+ IR::AttributeMode mode;
+ IR::ExceptionDefSeq get_exceptions;
+ IR::ExceptionDefSeq put_exceptions;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> mode) &&
+ (_tao_in >> get_exceptions) &&
+ (_tao_in >> put_exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_attribute",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_attribute (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_attribute",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_attribute",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::create_operation_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *)_tao_object_reference;
+
+ IR::OperationDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::IDLType_var result;
+ IR::OperationMode mode;
+ IR::ParDescriptionSeq params;
+ IR::ExceptionDefSeq exceptions;
+ IR::ContextIdSeq contexts;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> result.out ()) &&
+ (_tao_in >> mode) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions) &&
+ (_tao_in >> contexts)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_operation",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_operation (
+ id.in (),
+ name.in (),
+ version.in (),
+ result.in (),
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_operation",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_operation",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ValueDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ValueDef *_tao_impl = (POA_IR::ValueDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ValueDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ValueDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ValueDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ValueDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ValueDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ValueDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ValueDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ValueDef:1.0";
+}
+
+IR::ValueDef*
+POA_IR::ValueDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ValueDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ValueDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ValueDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ValueDef::_tao_thru_poa_collocated_ValueDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::InterfaceDefSeq * POA_IR::_tao_thru_poa_collocated_ValueDef::supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InterfaceDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "supported_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->supported_interfaces (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "supported_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->supported_interfaces (
+ supported_interfaces,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::InitializerSeq * POA_IR::_tao_thru_poa_collocated_ValueDef::initializers (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InitializerSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "initializers",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->initializers (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::initializers (
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "initializers",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->initializers (
+ initializers,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::ValueDef_ptr POA_IR::_tao_thru_poa_collocated_ValueDef::base_value (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "base_value",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->base_value (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::base_value (
+ IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "base_value",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->base_value (
+ base_value,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::ValueDefSeq * POA_IR::_tao_thru_poa_collocated_ValueDef::abstract_base_values (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "abstract_base_values",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->abstract_base_values (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::abstract_base_values (
+ const IR::ValueDefSeq & abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "abstract_base_values",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->abstract_base_values (
+ abstract_base_values,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueDef::is_abstract (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_abstract",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_abstract (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_abstract",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueDef::is_custom (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_custom",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_custom (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::is_custom (
+ CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_custom",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_custom (
+ is_custom,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueDef::is_truncatable (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_truncatable",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_truncatable (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueDef::is_truncatable (
+ CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_truncatable",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_truncatable (
+ is_truncatable,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueDef::is_a (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->is_a (
+ id,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ValueMemberDef_ptr POA_IR::_tao_thru_poa_collocated_ValueDef::create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueMemberDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_value_member",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->create_value_member (
+ id,
+ name,
+ version,
+ type,
+ access,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::AttributeDef_ptr POA_IR::_tao_thru_poa_collocated_ValueDef::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::AttributeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_attribute",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::OperationDef_ptr POA_IR::_tao_thru_poa_collocated_ValueDef::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::OperationDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_operation",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueDef:1.0"
+ )
+ )->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_ValueBoxDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ValueBoxDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ValueBoxDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 0, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 0, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ValueBoxDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 6
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ValueBoxDef::move_skel},
+ {"_is_a", &POA_IR::ValueBoxDef::_is_a_skel},
+ {"_get_id", &POA_IR::ValueBoxDef::_get_id_skel},
+ {"_set_id", &POA_IR::ValueBoxDef::_set_id_skel},
+ {"describe", &POA_IR::ValueBoxDef::describe_skel},
+ {"_get_name", &POA_IR::ValueBoxDef::_get_name_skel},
+ {"_get_type", &POA_IR::ValueBoxDef::_get_type_skel},
+ {"_set_name", &POA_IR::ValueBoxDef::_set_name_skel},
+ {"_get_version", &POA_IR::ValueBoxDef::_get_version_skel},
+ {"_set_version", &POA_IR::ValueBoxDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ValueBoxDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::ValueBoxDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ValueBoxDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ValueBoxDef::_get_absolute_name_skel},
+ {"_get_original_type_def", &POA_IR::ValueBoxDef::_get_original_type_def_skel},
+ {"_set_original_type_def", &POA_IR::ValueBoxDef::_set_original_type_def_skel},
+ {"_non_existent", &POA_IR::ValueBoxDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ValueBoxDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -3, 4, 5, -1, -43, 8, -43, -12, -2, -38, 14,
+ -1, 15, -1, 16, 17, -1, -18, -2, -38, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_ValueBoxDef_Perfect_Hash_OpTable tao_IR_ValueBoxDef_optable;
+
+IR::ValueBoxDef_ptr _TAO_collocation_POA_IR_ValueBoxDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ValueBoxDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ValueBoxDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ValueBoxDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ValueBoxDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ValueBoxDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ValueBoxDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ValueBoxDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ValueBoxDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ValueBoxDef::ValueBoxDef (void)
+{
+ this->optable_ = &tao_IR_ValueBoxDef_optable;
+}
+
+// copy ctor
+POA_IR::ValueBoxDef::ValueBoxDef (const ValueBoxDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,TypedefDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ValueBoxDef::~ValueBoxDef (void)
+{
+}
+
+void POA_IR::ValueBoxDef::_get_original_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ValueBoxDef *_tao_impl = (POA_IR::ValueBoxDef *)_tao_object_reference;
+
+ IR::IDLType_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->original_type_def (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_original_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ValueBoxDef::_set_original_type_def_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueBoxDef *_tao_impl = (POA_IR::ValueBoxDef *)_tao_object_reference;
+
+ IR::IDLType_var original_type_def;
+ if (!(
+ (_tao_in >> original_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->original_type_def (
+ original_type_def.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_original_type_def",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_original_type_def",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ValueBoxDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ValueBoxDef *_tao_impl = (POA_IR::ValueBoxDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ValueBoxDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ValueBoxDef *_tao_impl = (POA_IR::ValueBoxDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ValueBoxDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ValueBoxDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ValueBoxDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ValueBoxDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ValueBoxDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ValueBoxDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ValueBoxDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ValueBoxDef:1.0";
+}
+
+IR::ValueBoxDef*
+POA_IR::ValueBoxDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ValueBoxDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ValueBoxDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ValueBoxDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ValueBoxDef::_tao_thru_poa_collocated_ValueBoxDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_TypedefDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueBoxDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueBoxDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueBoxDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ValueBoxDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueBoxDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueBoxDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::IDLType_ptr POA_IR::_tao_thru_poa_collocated_ValueBoxDef::original_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "original_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ValueBoxDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueBoxDef:1.0"
+ )
+ )->original_type_def (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ValueBoxDef::original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "original_type_def",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ValueBoxDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ValueBoxDef:1.0"
+ )
+ )->original_type_def (
+ original_type_def,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+
+
+class TAO_IR_ProvidesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ProvidesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ProvidesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ProvidesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 16,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ProvidesDef::move_skel},
+ {"_is_a", &POA_IR::ProvidesDef::_is_a_skel},
+ {"_get_id", &POA_IR::ProvidesDef::_get_id_skel},
+ {"_set_id", &POA_IR::ProvidesDef::_set_id_skel},
+ {"describe", &POA_IR::ProvidesDef::describe_skel},
+ {"_get_name", &POA_IR::ProvidesDef::_get_name_skel},
+ {"_set_name", &POA_IR::ProvidesDef::_set_name_skel},
+ {"_get_version", &POA_IR::ProvidesDef::_get_version_skel},
+ {"_set_version", &POA_IR::ProvidesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ProvidesDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::ProvidesDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ProvidesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ProvidesDef::_get_absolute_name_skel},
+ {"_get_interface_type", &POA_IR::ProvidesDef::_get_interface_type_skel},
+ {"_non_existent", &POA_IR::ProvidesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ProvidesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ -1, 14, -1, 15, 16, 17, -1, -1, -1, 18, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 19,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_ProvidesDef_Perfect_Hash_OpTable tao_IR_ProvidesDef_optable;
+
+IR::ProvidesDef_ptr _TAO_collocation_POA_IR_ProvidesDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ProvidesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ProvidesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ProvidesDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ProvidesDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ProvidesDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ProvidesDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ProvidesDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ProvidesDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ProvidesDef::ProvidesDef (void)
+{
+ this->optable_ = &tao_IR_ProvidesDef_optable;
+}
+
+// copy ctor
+POA_IR::ProvidesDef::ProvidesDef (const ProvidesDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ProvidesDef::~ProvidesDef (void)
+{
+}
+
+void POA_IR::ProvidesDef::_get_interface_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ProvidesDef *_tao_impl = (POA_IR::ProvidesDef *)_tao_object_reference;
+
+ IR::InterfaceDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_interface_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->interface_type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_interface_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_interface_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ProvidesDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ProvidesDef *_tao_impl = (POA_IR::ProvidesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ProvidesDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ProvidesDef *_tao_impl = (POA_IR::ProvidesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ProvidesDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ProvidesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ProvidesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ProvidesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ProvidesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ProvidesDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ProvidesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ProvidesDef:1.0";
+}
+
+IR::ProvidesDef*
+POA_IR::ProvidesDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ProvidesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ProvidesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ProvidesDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ProvidesDef::_tao_thru_poa_collocated_ProvidesDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ProvidesDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ProvidesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ProvidesDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ProvidesDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ProvidesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ProvidesDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::InterfaceDef_ptr POA_IR::_tao_thru_poa_collocated_ProvidesDef::interface_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "interface_type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ProvidesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ProvidesDef:1.0"
+ )
+ )->interface_type (
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_UsesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_UsesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_UsesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_UsesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::UsesDef::move_skel},
+ {"_is_a", &POA_IR::UsesDef::_is_a_skel},
+ {"_get_id", &POA_IR::UsesDef::_get_id_skel},
+ {"_set_id", &POA_IR::UsesDef::_set_id_skel},
+ {"describe", &POA_IR::UsesDef::describe_skel},
+ {"_get_name", &POA_IR::UsesDef::_get_name_skel},
+ {"_set_name", &POA_IR::UsesDef::_set_name_skel},
+ {"_get_version", &POA_IR::UsesDef::_get_version_skel},
+ {"_set_version", &POA_IR::UsesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::UsesDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::UsesDef::_get_defined_in_skel},
+ {"_get_is_multiple", &POA_IR::UsesDef::_get_is_multiple_skel},
+ {"destroy", &POA_IR::UsesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::UsesDef::_get_absolute_name_skel},
+ {"_get_interface_type", &POA_IR::UsesDef::_get_interface_type_skel},
+ {"_non_existent", &POA_IR::UsesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::UsesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ -1, 14, 15, 16, 17, 18, -1, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_UsesDef_Perfect_Hash_OpTable tao_IR_UsesDef_optable;
+
+IR::UsesDef_ptr _TAO_collocation_POA_IR_UsesDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::UsesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_UsesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_UsesDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_UsesDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_UsesDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_UsesDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_UsesDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_UsesDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::UsesDef::UsesDef (void)
+{
+ this->optable_ = &tao_IR_UsesDef_optable;
+}
+
+// copy ctor
+POA_IR::UsesDef::UsesDef (const UsesDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::UsesDef::~UsesDef (void)
+{
+}
+
+void POA_IR::UsesDef::_get_interface_type_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *)_tao_object_reference;
+
+ IR::InterfaceDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_interface_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->interface_type (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_interface_type",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_interface_type",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::UsesDef::_get_is_multiple_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_multiple",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_multiple (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_multiple",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_multiple",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::UsesDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::UsesDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::UsesDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/UsesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::UsesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/UsesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::UsesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::UsesDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::UsesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/UsesDef:1.0";
+}
+
+IR::UsesDef*
+POA_IR::UsesDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::UsesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_UsesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::UsesDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_UsesDef::_tao_thru_poa_collocated_UsesDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_UsesDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UsesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UsesDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_UsesDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UsesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UsesDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::InterfaceDef_ptr POA_IR::_tao_thru_poa_collocated_UsesDef::interface_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "interface_type",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UsesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UsesDef:1.0"
+ )
+ )->interface_type (
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_UsesDef::is_multiple (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_multiple",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::UsesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UsesDef:1.0"
+ )
+ )->is_multiple (
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_EventDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_EventDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_EventDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_EventDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::EventDef::move_skel},
+ {"_is_a", &POA_IR::EventDef::_is_a_skel},
+ {"_get_id", &POA_IR::EventDef::_get_id_skel},
+ {"_set_id", &POA_IR::EventDef::_set_id_skel},
+ {"describe", &POA_IR::EventDef::describe_skel},
+ {"_get_name", &POA_IR::EventDef::_get_name_skel},
+ {"_set_name", &POA_IR::EventDef::_set_name_skel},
+ {"_get_version", &POA_IR::EventDef::_get_version_skel},
+ {"_set_version", &POA_IR::EventDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::EventDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::EventDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::EventDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::EventDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::EventDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::EventDef::_get_event_skel},
+ {"_non_existent", &POA_IR::EventDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::EventDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ 14, 15, -1, 16, 17, -1, 18, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_EventDef_Perfect_Hash_OpTable tao_IR_EventDef_optable;
+
+IR::EventDef_ptr _TAO_collocation_POA_IR_EventDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::EventDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_EventDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_EventDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_EventDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_EventDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_EventDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_EventDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_EventDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::EventDef::EventDef (void)
+{
+ this->optable_ = &tao_IR_EventDef_optable;
+}
+
+// copy ctor
+POA_IR::EventDef::EventDef (const EventDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::EventDef::~EventDef (void)
+{
+}
+
+void POA_IR::EventDef::is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var event_id;
+ if (!(
+ (_tao_in >> event_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_a (
+ event_id.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::EventDef::_get_event_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *)_tao_object_reference;
+
+ IR::ValueDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_event",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->event (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_event",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_event",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::EventDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EventDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::EventDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::EventDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::EventDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::EventDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/EventDef:1.0";
+}
+
+IR::EventDef*
+POA_IR::EventDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::EventDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_EventDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::EventDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_EventDef::_tao_thru_poa_collocated_EventDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EventDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EventDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EventDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EventDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EventDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EventDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EventDef::is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::EventDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EventDef:1.0"
+ )
+ )->is_a (
+ event_id,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ValueDef_ptr POA_IR::_tao_thru_poa_collocated_EventDef::event (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "event",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EventDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EventDef:1.0"
+ )
+ )->event (
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_EmitsDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_EmitsDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_EmitsDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_EmitsDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::EmitsDef::move_skel},
+ {"_is_a", &POA_IR::EmitsDef::_is_a_skel},
+ {"_get_id", &POA_IR::EmitsDef::_get_id_skel},
+ {"_set_id", &POA_IR::EmitsDef::_set_id_skel},
+ {"describe", &POA_IR::EmitsDef::describe_skel},
+ {"_get_name", &POA_IR::EmitsDef::_get_name_skel},
+ {"_set_name", &POA_IR::EmitsDef::_set_name_skel},
+ {"_get_version", &POA_IR::EmitsDef::_get_version_skel},
+ {"_set_version", &POA_IR::EmitsDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::EmitsDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::EmitsDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::EmitsDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::EmitsDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::EmitsDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::EmitsDef::_get_event_skel},
+ {"_non_existent", &POA_IR::EmitsDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::EmitsDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ 14, 15, -1, 16, 17, -1, 18, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_EmitsDef_Perfect_Hash_OpTable tao_IR_EmitsDef_optable;
+
+IR::EmitsDef_ptr _TAO_collocation_POA_IR_EmitsDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::EmitsDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_EmitsDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_EmitsDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_EmitsDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_EmitsDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_EmitsDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_EmitsDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_EmitsDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::EmitsDef::EmitsDef (void)
+{
+ this->optable_ = &tao_IR_EmitsDef_optable;
+}
+
+// copy ctor
+POA_IR::EmitsDef::EmitsDef (const EmitsDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,EventDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::EmitsDef::~EmitsDef (void)
+{
+}
+
+void POA_IR::EmitsDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EmitsDef *_tao_impl = (POA_IR::EmitsDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EmitsDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::EmitsDef *_tao_impl = (POA_IR::EmitsDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::EmitsDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EmitsDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::EmitsDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EmitsDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EmitsDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::EmitsDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::EmitsDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/EmitsDef:1.0";
+}
+
+IR::EmitsDef*
+POA_IR::EmitsDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::EmitsDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_EmitsDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::EmitsDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_EmitsDef::_tao_thru_poa_collocated_EmitsDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_EventDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EmitsDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EmitsDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EmitsDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_EmitsDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EmitsDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EmitsDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_PublishesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_PublishesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_PublishesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_PublishesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::PublishesDef::move_skel},
+ {"_is_a", &POA_IR::PublishesDef::_is_a_skel},
+ {"_get_id", &POA_IR::PublishesDef::_get_id_skel},
+ {"_set_id", &POA_IR::PublishesDef::_set_id_skel},
+ {"describe", &POA_IR::PublishesDef::describe_skel},
+ {"_get_name", &POA_IR::PublishesDef::_get_name_skel},
+ {"_set_name", &POA_IR::PublishesDef::_set_name_skel},
+ {"_get_version", &POA_IR::PublishesDef::_get_version_skel},
+ {"_set_version", &POA_IR::PublishesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::PublishesDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::PublishesDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::PublishesDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::PublishesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::PublishesDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::PublishesDef::_get_event_skel},
+ {"_non_existent", &POA_IR::PublishesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::PublishesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ 14, 15, -1, 16, 17, -1, 18, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_PublishesDef_Perfect_Hash_OpTable tao_IR_PublishesDef_optable;
+
+IR::PublishesDef_ptr _TAO_collocation_POA_IR_PublishesDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::PublishesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_PublishesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_PublishesDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_PublishesDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_PublishesDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_PublishesDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_PublishesDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_PublishesDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::PublishesDef::PublishesDef (void)
+{
+ this->optable_ = &tao_IR_PublishesDef_optable;
+}
+
+// copy ctor
+POA_IR::PublishesDef::PublishesDef (const PublishesDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,EventDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::PublishesDef::~PublishesDef (void)
+{
+}
+
+void POA_IR::PublishesDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PublishesDef *_tao_impl = (POA_IR::PublishesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PublishesDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::PublishesDef *_tao_impl = (POA_IR::PublishesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::PublishesDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/PublishesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::PublishesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/PublishesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::PublishesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::PublishesDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::PublishesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/PublishesDef:1.0";
+}
+
+IR::PublishesDef*
+POA_IR::PublishesDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::PublishesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_PublishesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::PublishesDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_PublishesDef::_tao_thru_poa_collocated_PublishesDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_EventDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PublishesDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PublishesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PublishesDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PublishesDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PublishesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PublishesDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_ConsumesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ConsumesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ConsumesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ConsumesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ConsumesDef::move_skel},
+ {"_is_a", &POA_IR::ConsumesDef::_is_a_skel},
+ {"_get_id", &POA_IR::ConsumesDef::_get_id_skel},
+ {"_set_id", &POA_IR::ConsumesDef::_set_id_skel},
+ {"describe", &POA_IR::ConsumesDef::describe_skel},
+ {"_get_name", &POA_IR::ConsumesDef::_get_name_skel},
+ {"_set_name", &POA_IR::ConsumesDef::_set_name_skel},
+ {"_get_version", &POA_IR::ConsumesDef::_get_version_skel},
+ {"_set_version", &POA_IR::ConsumesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ConsumesDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::ConsumesDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::ConsumesDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ConsumesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ConsumesDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::ConsumesDef::_get_event_skel},
+ {"_non_existent", &POA_IR::ConsumesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ConsumesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -43, 8, -43, -11, -2, -38, 13,
+ 14, 15, -1, 16, 17, -1, 18, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_ConsumesDef_Perfect_Hash_OpTable tao_IR_ConsumesDef_optable;
+
+IR::ConsumesDef_ptr _TAO_collocation_POA_IR_ConsumesDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ConsumesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ConsumesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ConsumesDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ConsumesDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ConsumesDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ConsumesDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ConsumesDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ConsumesDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ConsumesDef::ConsumesDef (void)
+{
+ this->optable_ = &tao_IR_ConsumesDef_optable;
+}
+
+// copy ctor
+POA_IR::ConsumesDef::ConsumesDef (const ConsumesDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,EventDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ConsumesDef::~ConsumesDef (void)
+{
+}
+
+void POA_IR::ConsumesDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ConsumesDef *_tao_impl = (POA_IR::ConsumesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ConsumesDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ConsumesDef *_tao_impl = (POA_IR::ConsumesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ConsumesDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ConsumesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ConsumesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ConsumesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ConsumesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ConsumesDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ConsumesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ConsumesDef:1.0";
+}
+
+IR::ConsumesDef*
+POA_IR::ConsumesDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ConsumesDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ConsumesDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ConsumesDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ConsumesDef::_tao_thru_poa_collocated_ConsumesDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_EventDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ConsumesDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConsumesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConsumesDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ConsumesDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ConsumesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ConsumesDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_ComponentDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ComponentDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ComponentDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 0,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 0,
+ 82, 30, 5, 10, 82, 82, 82, 0, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 45, 30, 15,
+ 82, 30, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 0, 20, 82, 82, 82, 30, 25, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82,
+#else
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 0, 82, 0, 82, 30,
+ 5, 10, 82, 82, 82, 0, 82, 82, 45, 30,
+ 15, 82, 30, 82, 82, 0, 20, 82, 82, 82,
+ 30, 25, 82, 82, 82, 82, 82, 82,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ComponentDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 54,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 81,
+ HASH_VALUE_RANGE = 78,
+ DUPLICATES = 16
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"is_a", &POA_IR::ComponentDef::is_a_skel},
+ {"_is_a", &POA_IR::ComponentDef::_is_a_skel},
+ {"_get_id", &POA_IR::ComponentDef::_get_id_skel},
+ {"_set_id", &POA_IR::ComponentDef::_set_id_skel},
+ {"_get_emits_events", &POA_IR::ComponentDef::_get_emits_events_skel},
+ {"_get_def_kind", &POA_IR::ComponentDef::_get_def_kind_skel},
+ {"_get_name", &POA_IR::ComponentDef::_get_name_skel},
+ {"_get_type", &POA_IR::ComponentDef::_get_type_skel},
+ {"_set_name", &POA_IR::ComponentDef::_set_name_skel},
+ {"_get_uses_interfaces", &POA_IR::ComponentDef::_get_uses_interfaces_skel},
+ {"_set_base_interfaces", &POA_IR::ComponentDef::_set_base_interfaces_skel},
+ {"_get_base_interfaces", &POA_IR::ComponentDef::_get_base_interfaces_skel},
+ {"_get_consumes_events", &POA_IR::ComponentDef::_get_consumes_events_skel},
+ {"_get_publishes_events", &POA_IR::ComponentDef::_get_publishes_events_skel},
+ {"describe_contents", &POA_IR::ComponentDef::describe_contents_skel},
+ {"describe", &POA_IR::ComponentDef::describe_skel},
+ {"_get_provides_interfaces", &POA_IR::ComponentDef::_get_provides_interfaces_skel},
+ {"_get_supported_interfaces", &POA_IR::ComponentDef::_get_supported_interfaces_skel},
+ {"_set_supported_interfaces", &POA_IR::ComponentDef::_set_supported_interfaces_skel},
+ {"_get_version", &POA_IR::ComponentDef::_get_version_skel},
+ {"_set_version", &POA_IR::ComponentDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::ComponentDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::ComponentDef::_get_defined_in_skel},
+ {"_non_existent", &POA_IR::ComponentDef::_non_existent_skel},
+ {"_get_is_abstract", &POA_IR::ComponentDef::_get_is_abstract_skel},
+ {"_set_is_abstract", &POA_IR::ComponentDef::_set_is_abstract_skel},
+ {"destroy", &POA_IR::ComponentDef::destroy_skel},
+ {"contents", &POA_IR::ComponentDef::contents_skel},
+ {"_get_base_component", &POA_IR::ComponentDef::_get_base_component_skel},
+ {"create_uses", &POA_IR::ComponentDef::create_uses_skel},
+ {"create_emits", &POA_IR::ComponentDef::create_emits_skel},
+ {"create_alias", &POA_IR::ComponentDef::create_alias_skel},
+ {"_get_is_basic", &POA_IR::ComponentDef::_get_is_basic_skel},
+ {"move", &POA_IR::ComponentDef::move_skel},
+ {"create_provides", &POA_IR::ComponentDef::create_provides_skel},
+ {"create_consumes", &POA_IR::ComponentDef::create_consumes_skel},
+ {"create_publishes", &POA_IR::ComponentDef::create_publishes_skel},
+ {"_get_containing_repository", &POA_IR::ComponentDef::_get_containing_repository_skel},
+ {"create_value", &POA_IR::ComponentDef::create_value_skel},
+ {"create_module", &POA_IR::ComponentDef::create_module_skel},
+ {"create_native", &POA_IR::ComponentDef::create_native_skel},
+ {"create_attribute", &POA_IR::ComponentDef::create_attribute_skel},
+ {"create_interface", &POA_IR::ComponentDef::create_interface_skel},
+ {"create_union", &POA_IR::ComponentDef::create_union_skel},
+ {"_get_is_local", &POA_IR::ComponentDef::_get_is_local_skel},
+ {"_set_is_local", &POA_IR::ComponentDef::_set_is_local_skel},
+ {"create_operation", &POA_IR::ComponentDef::create_operation_skel},
+ {"create_exception", &POA_IR::ComponentDef::create_exception_skel},
+ {"create_struct", &POA_IR::ComponentDef::create_struct_skel},
+ {"create_constant", &POA_IR::ComponentDef::create_constant_skel},
+ {"lookup_name", &POA_IR::ComponentDef::lookup_name_skel},
+ {"create_enum", &POA_IR::ComponentDef::create_enum_skel},
+ {"create_value_box", &POA_IR::ComponentDef::create_value_box_skel},
+ {"lookup", &POA_IR::ComponentDef::lookup_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -6, -2, 4, 5, -10, -3, -13, -4, -21, -2, -91, -23,
+ -2, -28, -2, 8, 9, -94, -93, 17, 18, 19, 20, -96, -1, -95,
+ 25, -1, 26, -34, -2, 27, -38, -2, -102, 30, 31, 32, -1, 33,
+ -92, 36, 37, -92, 40, -43, -2, -45, -2, 41, 42, -87, -48, -2,
+ -88, 47, -85, -50, -2, -83, -1, 52, -1, 53, 54, -1, -1, -1,
+ -1, 55, -1, -1, -1, -1, 56, -1, -1, -1, -1, 57,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_ComponentDef_Perfect_Hash_OpTable tao_IR_ComponentDef_optable;
+
+IR::ComponentDef_ptr _TAO_collocation_POA_IR_ComponentDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::ComponentDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ComponentDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_ComponentDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_ComponentDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_ComponentDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_ComponentDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_ComponentDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_ComponentDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::ComponentDef::ComponentDef (void)
+{
+ this->optable_ = &tao_IR_ComponentDef_optable;
+}
+
+// copy ctor
+POA_IR::ComponentDef::ComponentDef (const ComponentDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,InterfaceDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ComponentDef::~ComponentDef (void)
+{
+}
+
+void POA_IR::ComponentDef::_get_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::InterfaceDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->supported_interfaces (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_supported_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_set_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::InterfaceDefSeq supported_interfaces;
+ if (!(
+ (_tao_in >> supported_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->supported_interfaces (
+ supported_interfaces,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_supported_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_set_supported_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+void POA_IR::ComponentDef::_get_base_component_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::ComponentDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_component",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->base_component (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_component",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_component",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_get_provides_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::ProvidesDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_provides_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->provides_interfaces (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_provides_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_provides_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_get_uses_interfaces_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::UsesDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_uses_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->uses_interfaces (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_uses_interfaces",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_uses_interfaces",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_get_emits_events_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::EmitsDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_emits_events",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->emits_events (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_emits_events",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_emits_events",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_get_publishes_events_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::PublishesDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_publishes_events",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->publishes_events (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_publishes_events",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_publishes_events",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_get_consumes_events_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::ConsumesDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_consumes_events",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->consumes_events (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_consumes_events",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_consumes_events",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_get_is_basic_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_basic",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_basic (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_basic",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_basic",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::create_provides_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::ProvidesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::InterfaceDef_var interface_type;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> interface_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_provides",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_provides (
+ id.in (),
+ name.in (),
+ version.in (),
+ interface_type.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_provides",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_provides",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::create_uses_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::UsesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::InterfaceDef_var interface_type;
+ CORBA::Boolean is_multiple;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> interface_type.out ()) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_multiple))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_uses",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_uses (
+ id.in (),
+ name.in (),
+ version.in (),
+ interface_type.in (),
+ is_multiple,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_uses",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_uses",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::create_emits_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::EmitsDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ValueDef_var value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_emits",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_emits (
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_emits",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_emits",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::create_publishes_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::PublishesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ValueDef_var value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_publishes",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_publishes (
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_publishes",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_publishes",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::create_consumes_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *)_tao_object_reference;
+
+ IR::ConsumesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ValueDef_var value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_consumes",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_consumes (
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_consumes",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_consumes",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::ComponentDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ComponentDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::ComponentDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ComponentDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ComponentDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ComponentDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ComponentDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ComponentDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::ComponentDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ComponentDef:1.0";
+}
+
+IR::ComponentDef*
+POA_IR::ComponentDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::ComponentDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_ComponentDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::ComponentDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_ComponentDef::_tao_thru_poa_collocated_ComponentDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_InterfaceDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ComponentDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ComponentDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::InterfaceDefSeq * POA_IR::_tao_thru_poa_collocated_ComponentDef::supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::InterfaceDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "supported_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->supported_interfaces (
+ ACE_TRY_ENV
+ );
+
+}
+
+void POA_IR::_tao_thru_poa_collocated_ComponentDef::supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "supported_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->supported_interfaces (
+ supported_interfaces,
+ ACE_TRY_ENV
+ );
+ return;
+}
+
+IR::ComponentDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentDef::base_component (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ComponentDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "base_component",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->base_component (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ProvidesDefSeq * POA_IR::_tao_thru_poa_collocated_ComponentDef::provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ProvidesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "provides_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->provides_interfaces (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::UsesDefSeq * POA_IR::_tao_thru_poa_collocated_ComponentDef::uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::UsesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "uses_interfaces",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->uses_interfaces (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::EmitsDefSeq * POA_IR::_tao_thru_poa_collocated_ComponentDef::emits_events (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::EmitsDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "emits_events",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->emits_events (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::PublishesDefSeq * POA_IR::_tao_thru_poa_collocated_ComponentDef::publishes_events (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PublishesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "publishes_events",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->publishes_events (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ConsumesDefSeq * POA_IR::_tao_thru_poa_collocated_ComponentDef::consumes_events (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ConsumesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "consumes_events",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->consumes_events (
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_ComponentDef::is_basic (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_basic",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->is_basic (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ProvidesDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentDef::create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ProvidesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_provides",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_provides (
+ id,
+ name,
+ version,
+ interface_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::UsesDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentDef::create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::UsesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_uses",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_uses (
+ id,
+ name,
+ version,
+ interface_type,
+ is_multiple,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::EmitsDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentDef::create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::EmitsDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_emits",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_emits (
+ id,
+ name,
+ version,
+ value,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::PublishesDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentDef::create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PublishesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_publishes",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_publishes (
+ id,
+ name,
+ version,
+ value,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ConsumesDef_ptr POA_IR::_tao_thru_poa_collocated_ComponentDef::create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ConsumesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_consumes",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_consumes (
+ id,
+ name,
+ version,
+ value,
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 0,
+ 32, 32, 0, 0, 32, 32, 32, 10, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 0, 5,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 10, 32, 32, 32, 32, 5, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32,
+#else
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 0, 32, 0, 32, 32,
+ 0, 0, 32, 32, 32, 10, 32, 32, 32, 0,
+ 5, 32, 32, 32, 32, 32, 10, 32, 32, 32,
+ 32, 5, 32, 32, 32, 32, 32, 32,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 31,
+ HASH_VALUE_RANGE = 28,
+ DUPLICATES = 4
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::PrimaryKeyDef::move_skel},
+ {"_is_a", &POA_IR::PrimaryKeyDef::_is_a_skel},
+ {"_get_id", &POA_IR::PrimaryKeyDef::_get_id_skel},
+ {"_set_id", &POA_IR::PrimaryKeyDef::_set_id_skel},
+ {"describe", &POA_IR::PrimaryKeyDef::describe_skel},
+ {"_get_name", &POA_IR::PrimaryKeyDef::_get_name_skel},
+ {"_set_name", &POA_IR::PrimaryKeyDef::_set_name_skel},
+ {"destroy", &POA_IR::PrimaryKeyDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::PrimaryKeyDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::PrimaryKeyDef::is_a_skel},
+ {"_get_version", &POA_IR::PrimaryKeyDef::_get_version_skel},
+ {"_set_version", &POA_IR::PrimaryKeyDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::PrimaryKeyDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::PrimaryKeyDef::_get_defined_in_skel},
+ {"_get_primary_key", &POA_IR::PrimaryKeyDef::_get_primary_key_skel},
+ {"_non_existent", &POA_IR::PrimaryKeyDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::PrimaryKeyDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -38, 8, -38, -1, -1, 11, 12,
+ 13, -14, -2, -33, 16, -1, 17, 18, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable tao_IR_PrimaryKeyDef_optable;
+
+IR::PrimaryKeyDef_ptr _TAO_collocation_POA_IR_PrimaryKeyDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::PrimaryKeyDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_PrimaryKeyDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_PrimaryKeyDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_PrimaryKeyDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_PrimaryKeyDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_PrimaryKeyDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_PrimaryKeyDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::PrimaryKeyDef::PrimaryKeyDef (void)
+{
+ this->optable_ = &tao_IR_PrimaryKeyDef_optable;
+}
+
+// copy ctor
+POA_IR::PrimaryKeyDef::PrimaryKeyDef (const PrimaryKeyDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::PrimaryKeyDef::~PrimaryKeyDef (void)
+{
+}
+
+void POA_IR::PrimaryKeyDef::is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var primary_key_id;
+ if (!(
+ (_tao_in >> primary_key_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_a (
+ primary_key_id.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "is_a",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::PrimaryKeyDef::_get_primary_key_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *)_tao_object_reference;
+
+ IR::ValueDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_primary_key",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->primary_key (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_primary_key",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_primary_key",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::PrimaryKeyDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PrimaryKeyDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::PrimaryKeyDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/PrimaryKeyDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::PrimaryKeyDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/PrimaryKeyDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::PrimaryKeyDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::PrimaryKeyDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::PrimaryKeyDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/PrimaryKeyDef:1.0";
+}
+
+IR::PrimaryKeyDef*
+POA_IR::PrimaryKeyDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::PrimaryKeyDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::PrimaryKeyDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef::_tao_thru_poa_collocated_PrimaryKeyDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimaryKeyDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimaryKeyDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimaryKeyDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimaryKeyDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef::is_a (
+ const char * primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimaryKeyDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimaryKeyDef:1.0"
+ )
+ )->is_a (
+ primary_key_id,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ValueDef_ptr POA_IR::_tao_thru_poa_collocated_PrimaryKeyDef::primary_key (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "primary_key",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimaryKeyDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimaryKeyDef:1.0"
+ )
+ )->primary_key (
+ ACE_TRY_ENV
+ );
+
+}
+
+
+
+class TAO_IR_FactoryDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_FactoryDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_FactoryDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 15, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 5,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 20, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 15, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 5, 37, 37, 37, 37, 0, 20, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_FactoryDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 26,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 10
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::FactoryDef::move_skel},
+ {"_is_a", &POA_IR::FactoryDef::_is_a_skel},
+ {"_get_mode", &POA_IR::FactoryDef::_get_mode_skel},
+ {"_set_name", &POA_IR::FactoryDef::_set_name_skel},
+ {"_get_name", &POA_IR::FactoryDef::_get_name_skel},
+ {"_set_mode", &POA_IR::FactoryDef::_set_mode_skel},
+ {"_get_params", &POA_IR::FactoryDef::_get_params_skel},
+ {"_set_params", &POA_IR::FactoryDef::_set_params_skel},
+ {"_get_contexts", &POA_IR::FactoryDef::_get_contexts_skel},
+ {"_set_contexts", &POA_IR::FactoryDef::_set_contexts_skel},
+ {"_get_exceptions", &POA_IR::FactoryDef::_get_exceptions_skel},
+ {"_set_exceptions", &POA_IR::FactoryDef::_set_exceptions_skel},
+ {"_get_version", &POA_IR::FactoryDef::_get_version_skel},
+ {"_set_version", &POA_IR::FactoryDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::FactoryDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::FactoryDef::_get_defined_in_skel},
+ {"_get_id", &POA_IR::FactoryDef::_get_id_skel},
+ {"_set_id", &POA_IR::FactoryDef::_set_id_skel},
+ {"describe", &POA_IR::FactoryDef::describe_skel},
+ {"_get_result_def", &POA_IR::FactoryDef::_get_result_def_skel},
+ {"_set_result_def", &POA_IR::FactoryDef::_set_result_def_skel},
+ {"_get_def_kind", &POA_IR::FactoryDef::_get_def_kind_skel},
+ {"_get_result", &POA_IR::FactoryDef::_get_result_skel},
+ {"destroy", &POA_IR::FactoryDef::destroy_skel},
+ {"_non_existent", &POA_IR::FactoryDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::FactoryDef::_get_containing_repository_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ {
+ const class TAO_operation_db_entry *resword;
+
+ switch (key)
+ {
+ case 4:
+ resword = &wordlist[4]; break;
+ case 5:
+ resword = &wordlist[5]; break;
+ case 9:
+ resword = &wordlist[6];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[7];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[8];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[9];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 11:
+ resword = &wordlist[10];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[11];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 13:
+ resword = &wordlist[12];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[13];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 15:
+ resword = &wordlist[14];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[15];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 17:
+ resword = &wordlist[16];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[17];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 18:
+ resword = &wordlist[18]; break;
+ case 20:
+ resword = &wordlist[19]; break;
+ case 22:
+ resword = &wordlist[20];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[21];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 23:
+ resword = &wordlist[22]; break;
+ case 25:
+ resword = &wordlist[23];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[24];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 28:
+ resword = &wordlist[25]; break;
+ case 31:
+ resword = &wordlist[26]; break;
+ case 32:
+ resword = &wordlist[27]; break;
+ case 33:
+ resword = &wordlist[28]; break;
+ case 36:
+ resword = &wordlist[29]; break;
+ default: return 0;
+ }
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
+ return resword;
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_FactoryDef_Perfect_Hash_OpTable tao_IR_FactoryDef_optable;
+
+IR::FactoryDef_ptr _TAO_collocation_POA_IR_FactoryDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::FactoryDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_FactoryDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_FactoryDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_FactoryDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_FactoryDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_FactoryDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_FactoryDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_FactoryDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::FactoryDef::FactoryDef (void)
+{
+ this->optable_ = &tao_IR_FactoryDef_optable;
+}
+
+// copy ctor
+POA_IR::FactoryDef::FactoryDef (const FactoryDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,OperationDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::FactoryDef::~FactoryDef (void)
+{
+}
+
+void POA_IR::FactoryDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FactoryDef *_tao_impl = (POA_IR::FactoryDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FactoryDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::FactoryDef *_tao_impl = (POA_IR::FactoryDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::FactoryDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/FactoryDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/OperationDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::FactoryDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/FactoryDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::FactoryDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/OperationDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::OperationDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::FactoryDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::FactoryDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/FactoryDef:1.0";
+}
+
+IR::FactoryDef*
+POA_IR::FactoryDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::FactoryDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_FactoryDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::FactoryDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_FactoryDef::_tao_thru_poa_collocated_FactoryDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_OperationDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_FactoryDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::FactoryDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FactoryDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_FactoryDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::FactoryDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FactoryDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_FinderDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_FinderDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_FinderDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 15, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 5,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 20, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 15, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 5, 37, 37, 37, 37, 0, 20, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_FinderDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 26,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 10
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::FinderDef::move_skel},
+ {"_is_a", &POA_IR::FinderDef::_is_a_skel},
+ {"_get_mode", &POA_IR::FinderDef::_get_mode_skel},
+ {"_set_name", &POA_IR::FinderDef::_set_name_skel},
+ {"_get_name", &POA_IR::FinderDef::_get_name_skel},
+ {"_set_mode", &POA_IR::FinderDef::_set_mode_skel},
+ {"_get_params", &POA_IR::FinderDef::_get_params_skel},
+ {"_set_params", &POA_IR::FinderDef::_set_params_skel},
+ {"_get_contexts", &POA_IR::FinderDef::_get_contexts_skel},
+ {"_set_contexts", &POA_IR::FinderDef::_set_contexts_skel},
+ {"_get_exceptions", &POA_IR::FinderDef::_get_exceptions_skel},
+ {"_set_exceptions", &POA_IR::FinderDef::_set_exceptions_skel},
+ {"_get_version", &POA_IR::FinderDef::_get_version_skel},
+ {"_set_version", &POA_IR::FinderDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::FinderDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::FinderDef::_get_defined_in_skel},
+ {"_get_id", &POA_IR::FinderDef::_get_id_skel},
+ {"_set_id", &POA_IR::FinderDef::_set_id_skel},
+ {"describe", &POA_IR::FinderDef::describe_skel},
+ {"_get_result_def", &POA_IR::FinderDef::_get_result_def_skel},
+ {"_set_result_def", &POA_IR::FinderDef::_set_result_def_skel},
+ {"_get_def_kind", &POA_IR::FinderDef::_get_def_kind_skel},
+ {"_get_result", &POA_IR::FinderDef::_get_result_skel},
+ {"destroy", &POA_IR::FinderDef::destroy_skel},
+ {"_non_existent", &POA_IR::FinderDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::FinderDef::_get_containing_repository_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ {
+ const class TAO_operation_db_entry *resword;
+
+ switch (key)
+ {
+ case 4:
+ resword = &wordlist[4]; break;
+ case 5:
+ resword = &wordlist[5]; break;
+ case 9:
+ resword = &wordlist[6];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[7];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[8];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[9];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 11:
+ resword = &wordlist[10];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[11];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 13:
+ resword = &wordlist[12];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[13];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 15:
+ resword = &wordlist[14];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[15];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 17:
+ resword = &wordlist[16];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[17];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 18:
+ resword = &wordlist[18]; break;
+ case 20:
+ resword = &wordlist[19]; break;
+ case 22:
+ resword = &wordlist[20];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[21];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 23:
+ resword = &wordlist[22]; break;
+ case 25:
+ resword = &wordlist[23];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[24];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 28:
+ resword = &wordlist[25]; break;
+ case 31:
+ resword = &wordlist[26]; break;
+ case 32:
+ resword = &wordlist[27]; break;
+ case 33:
+ resword = &wordlist[28]; break;
+ case 36:
+ resword = &wordlist[29]; break;
+ default: return 0;
+ }
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
+ return resword;
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_FinderDef_Perfect_Hash_OpTable tao_IR_FinderDef_optable;
+
+IR::FinderDef_ptr _TAO_collocation_POA_IR_FinderDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::FinderDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_FinderDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_FinderDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_FinderDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_FinderDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_FinderDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_FinderDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_FinderDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::FinderDef::FinderDef (void)
+{
+ this->optable_ = &tao_IR_FinderDef_optable;
+}
+
+// copy ctor
+POA_IR::FinderDef::FinderDef (const FinderDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,OperationDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::FinderDef::~FinderDef (void)
+{
+}
+
+void POA_IR::FinderDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FinderDef *_tao_impl = (POA_IR::FinderDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FinderDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::FinderDef *_tao_impl = (POA_IR::FinderDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::FinderDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/FinderDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/OperationDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::FinderDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/FinderDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::FinderDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/OperationDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::OperationDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::FinderDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_IR::FinderDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/FinderDef:1.0";
+}
+
+IR::FinderDef*
+POA_IR::FinderDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::FinderDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_FinderDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::FinderDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_FinderDef::_tao_thru_poa_collocated_FinderDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_OperationDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_FinderDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::FinderDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FinderDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_FinderDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::FinderDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/FinderDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+
+
+class TAO_IR_HomeDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 11:23:11 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_HomeDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_HomeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 0,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 0,
+ 89, 15, 0, 45, 89, 89, 89, 0, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 5, 0, 10,
+ 89, 0, 89, 5, 89, 89, 89, 89, 89, 89,
+ 89, 89, 15, 30, 89, 89, 89, 0, 55, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89,
+#else
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 0, 89, 0, 89, 15,
+ 0, 45, 89, 89, 89, 0, 89, 89, 5, 0,
+ 10, 89, 0, 89, 5, 15, 30, 89, 89, 89,
+ 0, 55, 89, 89, 89, 89, 89, 89,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_HomeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 49,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 88,
+ HASH_VALUE_RANGE = 85,
+ DUPLICATES = 11
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"is_a", &POA_IR::HomeDef::is_a_skel},
+ {"_is_a", &POA_IR::HomeDef::_is_a_skel},
+ {"_get_id", &POA_IR::HomeDef::_get_id_skel},
+ {"_set_id", &POA_IR::HomeDef::_set_id_skel},
+ {"lookup", &POA_IR::HomeDef::lookup_skel},
+ {"_get_def_kind", &POA_IR::HomeDef::_get_def_kind_skel},
+ {"_get_is_local", &POA_IR::HomeDef::_get_is_local_skel},
+ {"_set_is_local", &POA_IR::HomeDef::_set_is_local_skel},
+ {"_get_version", &POA_IR::HomeDef::_get_version_skel},
+ {"_set_version", &POA_IR::HomeDef::_set_version_skel},
+ {"_get_defined_in", &POA_IR::HomeDef::_get_defined_in_skel},
+ {"create_enum", &POA_IR::HomeDef::create_enum_skel},
+ {"_get_finders", &POA_IR::HomeDef::_get_finders_skel},
+ {"_get_is_basic", &POA_IR::HomeDef::_get_is_basic_skel},
+ {"_get_factories", &POA_IR::HomeDef::_get_factories_skel},
+ {"create_value_box", &POA_IR::HomeDef::create_value_box_skel},
+ {"describe_contents", &POA_IR::HomeDef::describe_contents_skel},
+ {"create_finder", &POA_IR::HomeDef::create_finder_skel},
+ {"_get_base_interfaces", &POA_IR::HomeDef::_get_base_interfaces_skel},
+ {"_set_base_interfaces", &POA_IR::HomeDef::_set_base_interfaces_skel},
+ {"create_union", &POA_IR::HomeDef::create_union_skel},
+ {"contents", &POA_IR::HomeDef::contents_skel},
+ {"create_operation", &POA_IR::HomeDef::create_operation_skel},
+ {"create_exception", &POA_IR::HomeDef::create_exception_skel},
+ {"create_alias", &POA_IR::HomeDef::create_alias_skel},
+ {"_non_existent", &POA_IR::HomeDef::_non_existent_skel},
+ {"_get_is_abstract", &POA_IR::HomeDef::_get_is_abstract_skel},
+ {"_set_is_abstract", &POA_IR::HomeDef::_set_is_abstract_skel},
+ {"move", &POA_IR::HomeDef::move_skel},
+ {"_get_managed_component", &POA_IR::HomeDef::_get_managed_component_skel},
+ {"describe", &POA_IR::HomeDef::describe_skel},
+ {"_get_name", &POA_IR::HomeDef::_get_name_skel},
+ {"_get_type", &POA_IR::HomeDef::_get_type_skel},
+ {"_set_name", &POA_IR::HomeDef::_set_name_skel},
+ {"create_struct", &POA_IR::HomeDef::create_struct_skel},
+ {"_get_base_home", &POA_IR::HomeDef::_get_base_home_skel},
+ {"create_constant", &POA_IR::HomeDef::create_constant_skel},
+ {"lookup_name", &POA_IR::HomeDef::lookup_name_skel},
+ {"destroy", &POA_IR::HomeDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::HomeDef::_get_absolute_name_skel},
+ {"_get_primary_key", &POA_IR::HomeDef::_get_primary_key_skel},
+ {"create_value", &POA_IR::HomeDef::create_value_skel},
+ {"create_module", &POA_IR::HomeDef::create_module_skel},
+ {"create_native", &POA_IR::HomeDef::create_native_skel},
+ {"create_attribute", &POA_IR::HomeDef::create_attribute_skel},
+ {"create_interface", &POA_IR::HomeDef::create_interface_skel},
+ {"_get_containing_repository", &POA_IR::HomeDef::_get_containing_repository_skel},
+ {"create_factory", &POA_IR::HomeDef::create_factory_skel},
+ {"create_primary_key", &POA_IR::HomeDef::create_primary_key_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -6, -2, 4, 5, -1, -93, -1, -1, -1, 8, -1, 9,
+ -1, -1, -10, -2, -90, -1, -12, -2, -90, -22, -2, 14, 15, 16,
+ 17, 18, -1, 19, 20, 21, -1, -100, -1, 24, 25, -26, -2, -90,
+ 28, 29, -30, -2, -90, -1, -1, 32, -35, -3, 33, 34, -92, -1,
+ -1, -1, 38, 39, 40, 41, 42, 43, -1, -1, -1, -1, -1, -46,
+ -2, 44, 45, -92, -48, -2, -90, -1, -1, -1, -1, 50, -1, -1,
+ 51, -1, -1, -1, 52,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 11:23:11 */
+static TAO_IR_HomeDef_Perfect_Hash_OpTable tao_IR_HomeDef_optable;
+
+IR::HomeDef_ptr _TAO_collocation_POA_IR_HomeDef_Stub_Factory (
+ CORBA::Object_ptr obj
+ )
+{
+ TAO_Stub *stub = obj->_stubobj ();
+
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ IR::HomeDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_HomeDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_IR_HomeDef_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_IR_HomeDef_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_IR_HomeDef_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_IR_HomeDef_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_IR_HomeDef_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_IR_HomeDef_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_IR::HomeDef::HomeDef (void)
+{
+ this->optable_ = &tao_IR_HomeDef_optable;
+}
+
+// copy ctor
+POA_IR::HomeDef::HomeDef (const HomeDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,InterfaceDef) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Container) (rhs),
+ ACE_NESTED_CLASS (POA_IR,Contained) (rhs),
+ ACE_NESTED_CLASS (POA_IR,IDLType) (rhs),
+ ACE_NESTED_CLASS (POA_CORBA,IRObject) (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::HomeDef::~HomeDef (void)
+{
+}
+
+void POA_IR::HomeDef::_get_base_home_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::HomeDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_home",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->base_home (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_home",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_base_home",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::_get_managed_component_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::ComponentDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_managed_component",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->managed_component (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_managed_component",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_managed_component",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV)
+{
+ TAO_Skeleton skel; // pointer to skeleton for operation
+ const char *opname = req.operation (); // retrieve operation name
+ // find the skeleton corresponding to this opname
+ if (this->_find (opname, skel, req.operation_length ()) == -1)
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+void POA_IR::HomeDef::_get_primary_key_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::PrimaryKeyDef_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_primary_key",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->primary_key (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_primary_key",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_primary_key",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::_get_factories_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::FactoryDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_factories",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->factories (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_factories",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_factories",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::_get_finders_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::FinderDefSeq_var _tao_retval;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_finders",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->finders (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_finders",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_finders",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::_get_is_basic_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ CORBA::Boolean _tao_retval = 0;
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_basic",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->is_basic (
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_basic",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "_get_is_basic",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::create_primary_key_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::PrimaryKeyDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ValueDef_var primary_key;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> primary_key.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_primary_key",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_primary_key (
+ id.in (),
+ name.in (),
+ version.in (),
+ primary_key.in (),
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_primary_key",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_primary_key",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::create_factory_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::FactoryDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ParDescriptionSeq params;
+ IR::ExceptionDefSeq exceptions;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_factory",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_factory (
+ id.in (),
+ name.in (),
+ version.in (),
+ params,
+ exceptions,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_factory",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_factory",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::create_finder_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+)
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *)_tao_object_reference;
+
+ IR::FinderDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ParDescriptionSeq params;
+ IR::ExceptionDefSeq exceptions;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ TAO_ServerRequestInterceptor_Adapter
+ _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV));
+ ACE_CHECK;
+ PortableInterceptor::Cookies _tao_cookies;
+ CORBA::NVList_var _tao_interceptor_args;
+ CORBA::Object_var _tao_objref;
+ if (_tao_vfr.valid ())
+ {
+ _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_objref = _tao_server_request.objref (ACE_TRY_ENV);
+ ACE_CHECK;
+ }
+
+ ACE_TRY
+ {
+ _tao_vfr.preinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_finder",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_retval = _tao_impl->create_finder (
+ id.in (),
+ name.in (),
+ version.in (),
+ params,
+ exceptions,
+ ACE_TRY_ENV
+ );
+
+ TAO_INTERCEPTOR_CHECK;
+
+#if defined (TAO_HAS_INTERCEPTORS)
+ _tao_vfr.postinvoke (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_finder",
+ _tao_server_request.service_info (),
+ _tao_interceptor_args.inout (),
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ TAO_INTERCEPTOR_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ _tao_vfr.exception_occurred (
+ _tao_server_request.request_id (),
+ 1,
+ _tao_objref.in (),
+ "create_finder",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL () );
+
+}
+
+void POA_IR::HomeDef::_is_a_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!((_tao_in >> value.out ())))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::HomeDef::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply (ACE_TRY_ENV);
+ ACE_CHECK;
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval))))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+CORBA::Boolean POA_IR::HomeDef::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/HomeDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::HomeDef::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/HomeDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::HomeDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Container:1.0") == 0)
+ return ACE_static_cast (POA_IR::Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/Contained:1.0") == 0)
+ return ACE_static_cast (POA_IR::Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_IR::IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+const char* POA_IR::HomeDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/HomeDef:1.0";
+}
+
+IR::HomeDef*
+POA_IR::HomeDef::_this (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ())
+ {
+ case TAO_ORB_Core::THRU_POA:
+ {
+ ::IR::HomeDef_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_IR::_tao_thru_poa_collocated_HomeDef (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ default:
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
+ }
+ else
+ {
+ // stub->_incr_refcnt ();
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0);
+ CORBA::Object_var obj = tmp;
+ return ::IR::HomeDef::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_IR::_tao_thru_poa_collocated_HomeDef::_tao_thru_poa_collocated_HomeDef (
+ TAO_Stub *stub
+)
+ : ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_InterfaceDef) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Container) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_Contained) (stub),
+ ACE_NESTED_CLASS (POA_IR,_tao_thru_poa_collocated_IDLType) (stub),
+ ACE_NESTED_CLASS (POA_CORBA,_tao_thru_poa_collocated_IRObject) (stub),
+ CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_HomeDef::_is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_is_a",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_HomeDef::_non_existent(
+ CORBA_Environment &ACE_TRY_ENV
+ )
+
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "_non_existent",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+IR::HomeDef_ptr POA_IR::_tao_thru_poa_collocated_HomeDef::base_home (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::HomeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "base_home",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->base_home (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::ComponentDef_ptr POA_IR::_tao_thru_poa_collocated_HomeDef::managed_component (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ComponentDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "managed_component",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->managed_component (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::PrimaryKeyDef_ptr POA_IR::_tao_thru_poa_collocated_HomeDef::primary_key (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PrimaryKeyDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "primary_key",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->primary_key (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::FactoryDefSeq * POA_IR::_tao_thru_poa_collocated_HomeDef::factories (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FactoryDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "factories",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->factories (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::FinderDefSeq * POA_IR::_tao_thru_poa_collocated_HomeDef::finders (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FinderDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "finders",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->finders (
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::Boolean POA_IR::_tao_thru_poa_collocated_HomeDef::is_basic (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "is_basic",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->is_basic (
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::PrimaryKeyDef_ptr POA_IR::_tao_thru_poa_collocated_HomeDef::create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PrimaryKeyDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_primary_key",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->create_primary_key (
+ id,
+ name,
+ version,
+ primary_key,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::FactoryDef_ptr POA_IR::_tao_thru_poa_collocated_HomeDef::create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FactoryDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_factory",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->create_factory (
+ id,
+ name,
+ version,
+ params,
+ exceptions,
+ ACE_TRY_ENV
+ );
+
+}
+
+IR::FinderDef_ptr POA_IR::_tao_thru_poa_collocated_HomeDef::create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FinderDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter ()
+ );
+ servant_upcall.prepare_for_upcall (
+ this->_object_key (),
+ "create_finder",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->create_finder (
+ id,
+ name,
+ version,
+ params,
+ exceptions,
+ ACE_TRY_ENV
+ );
+
+}
+
+
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceS.h b/TAO/orbsvcs/IFR_Service/InterfaceS.h
new file mode 100644
index 00000000000..e7b0fbd8417
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceS.h
@@ -0,0 +1,20461 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
+// TAO and the TAO IDL Compiler have been developed by the Center for
+// Distributed Object Computing at Washington University, St. Louis.
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// Contains all skeleton header code generated from Interface.idl
+// except that for CORBA::IRObject and CORBA::TypeCodeFactory, which
+// is included in tao/POA_CORBA.h
+
+#ifndef TAO_IDL_INTERFACES_H
+#define TAO_IDL_INTERFACES_H
+#include "ace/pre.h"
+
+#include "tao/POA_CORBA.h"
+#include "tao/Operation_Table.h"
+#include "tao/Stub.h"
+#include "tao/ORB_Core.h"
+#include "tao/Server_Request.h"
+#include "tao/NVList.h"
+#include "tao/Object_Adapter.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+TAO_NAMESPACE POA_IR
+{
+ class Contained;
+ typedef Contained *Contained_ptr;
+ class Contained : public virtual POA_CORBA::IRObject
+ {
+ protected:
+ Contained (void);
+
+ public:
+ Contained (const Contained& rhs);
+ virtual ~Contained (void);
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::Contained *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void describe_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void move_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_CONTAINED___THRU_POA_COLLOCATED_SH_)
+#define _IR_CONTAINED___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_Contained : public virtual ::IR::Contained,
+ public virtual POA_CORBA::_tao_thru_poa_collocated_IRObject
+ {
+ public:
+ _tao_thru_poa_collocated_Contained (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class Contained_tie : public Contained
+ {
+ public:
+ Contained_tie (T &t);
+ // the T& ctor
+ Contained_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ Contained_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~Contained_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ Contained_tie (const Contained_tie &);
+ void operator= (const Contained_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class Container;
+ typedef Container *Container_ptr;
+ class Container : public virtual POA_CORBA::IRObject
+ {
+ protected:
+ Container (void);
+
+ public:
+ Container (const Container& rhs);
+ virtual ~Container (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::Container *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void lookup_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void contents_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_module_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_union_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_value_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_native_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_CONTAINER___THRU_POA_COLLOCATED_SH_)
+#define _IR_CONTAINER___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_Container : public virtual ::IR::Container,
+ public virtual POA_CORBA::_tao_thru_poa_collocated_IRObject
+ {
+ public:
+ _tao_thru_poa_collocated_Container (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class Container_tie : public Container
+ {
+ public:
+ Container_tie (T &t);
+ // the T& ctor
+ Container_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ Container_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~Container_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ Container_tie (const Container_tie &);
+ void operator= (const Container_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class IDLType;
+ typedef IDLType *IDLType_ptr;
+ class IDLType : public virtual POA_CORBA::IRObject
+ {
+ protected:
+ IDLType (void);
+
+ public:
+ IDLType (const IDLType& rhs);
+ virtual ~IDLType (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::IDLType *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_IDLTYPE___THRU_POA_COLLOCATED_SH_)
+#define _IR_IDLTYPE___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_IDLType : public virtual ::IR::IDLType,
+ public virtual POA_CORBA::_tao_thru_poa_collocated_IRObject
+ {
+ public:
+ _tao_thru_poa_collocated_IDLType (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class IDLType_tie : public IDLType
+ {
+ public:
+ IDLType_tie (T &t);
+ // the T& ctor
+ IDLType_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ IDLType_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~IDLType_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ IDLType_tie (const IDLType_tie &);
+ void operator= (const IDLType_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class Repository;
+ typedef Repository *Repository_ptr;
+ class Repository : public virtual Container
+ {
+ protected:
+ Repository (void);
+
+ public:
+ Repository (const Repository& rhs);
+ virtual ~Repository (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::Repository *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::Contained_ptr lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void lookup_id_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void get_canonical_typecode_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::PrimitiveDef_ptr get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void get_primitive_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::StringDef_ptr create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_string_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::WstringDef_ptr create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_wstring_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_sequence_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_array_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_fixed_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_REPOSITORY___THRU_POA_COLLOCATED_SH_)
+#define _IR_REPOSITORY___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_Repository : public virtual ::IR::Repository,
+ public virtual _tao_thru_poa_collocated_Container
+ {
+ public:
+ _tao_thru_poa_collocated_Repository (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::Contained_ptr lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PrimitiveDef_ptr get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::StringDef_ptr create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::WstringDef_ptr create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class Repository_tie : public virtual Repository,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ Repository_tie (T &t);
+ // the T& ctor
+ Repository_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ Repository_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~Repository_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::Contained_ptr lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PrimitiveDef_ptr get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StringDef_ptr create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::WstringDef_ptr create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ Repository_tie (const Repository_tie &);
+ void operator= (const Repository_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ComponentRepository;
+ typedef ComponentRepository *ComponentRepository_ptr;
+ class ComponentRepository : public virtual Repository
+ {
+ protected:
+ ComponentRepository (void);
+
+ public:
+ ComponentRepository (const ComponentRepository& rhs);
+ virtual ~ComponentRepository (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ComponentRepository *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::ComponentDef_ptr create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_component_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::HomeDef_ptr create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_home_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void lookup_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void get_canonical_typecode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void get_primitive_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_string_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_wstring_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_sequence_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_array_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_fixed_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_COMPONENTREPOSITORY___THRU_POA_COLLOCATED_SH_)
+#define _IR_COMPONENTREPOSITORY___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ComponentRepository : public virtual ::IR::ComponentRepository,
+ public virtual _tao_thru_poa_collocated_Repository
+ {
+ public:
+ _tao_thru_poa_collocated_ComponentRepository (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::ComponentDef_ptr create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::HomeDef_ptr create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ComponentRepository_tie
+ : public virtual ComponentRepository,
+ public virtual PortableServer::RefCountServantBase
+ {
+ public:
+ ComponentRepository_tie (T &t);
+ // the T& ctor
+ ComponentRepository_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ComponentRepository_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ComponentRepository_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::ComponentDef_ptr create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::HomeDef_ptr create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PrimitiveDef_ptr get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StringDef_ptr create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::WstringDef_ptr create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ComponentRepository_tie (const ComponentRepository_tie &);
+ void operator= (const ComponentRepository_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ModuleDef;
+ typedef ModuleDef *ModuleDef_ptr;
+ class ModuleDef : public virtual Container, public virtual Contained
+ {
+ protected:
+ ModuleDef (void);
+
+ public:
+ ModuleDef (const ModuleDef& rhs);
+ virtual ~ModuleDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ModuleDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_MODULEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_MODULEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ModuleDef : public virtual ::IR::ModuleDef,
+ public virtual _tao_thru_poa_collocated_Container,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_ModuleDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ModuleDef_tie : public ModuleDef
+ {
+ public:
+ ModuleDef_tie (T &t);
+ // the T& ctor
+ ModuleDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ModuleDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ModuleDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ModuleDef_tie (const ModuleDef_tie &);
+ void operator= (const ModuleDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ConstantDef;
+ typedef ConstantDef *ConstantDef_ptr;
+ class ConstantDef : public virtual Contained
+ {
+ protected:
+ ConstantDef (void);
+
+ public:
+ ConstantDef (const ConstantDef& rhs);
+ virtual ~ConstantDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ConstantDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Any * value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_value_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void value (
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_value_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_CONSTANTDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_CONSTANTDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ConstantDef : public virtual ::IR::ConstantDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_ConstantDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Any * value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void value (
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ConstantDef_tie : public ConstantDef
+ {
+ public:
+ ConstantDef_tie (T &t);
+ // the T& ctor
+ ConstantDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ConstantDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ConstantDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Any * value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void value (
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ConstantDef_tie (const ConstantDef_tie &);
+ void operator= (const ConstantDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class TypedefDef;
+ typedef TypedefDef *TypedefDef_ptr;
+ class TypedefDef : public virtual Contained, public virtual IDLType
+ {
+ protected:
+ TypedefDef (void);
+
+ public:
+ TypedefDef (const TypedefDef& rhs);
+ virtual ~TypedefDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::TypedefDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_TYPEDEFDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_TYPEDEFDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_TypedefDef : public virtual ::IR::TypedefDef,
+ public virtual _tao_thru_poa_collocated_Contained,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_TypedefDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class TypedefDef_tie : public TypedefDef
+ {
+ public:
+ TypedefDef_tie (T &t);
+ // the T& ctor
+ TypedefDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ TypedefDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~TypedefDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ TypedefDef_tie (const TypedefDef_tie &);
+ void operator= (const TypedefDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class StructDef;
+ typedef StructDef *StructDef_ptr;
+ class StructDef : public virtual TypedefDef, public virtual Container
+ {
+ protected:
+ StructDef (void);
+
+ public:
+ StructDef (const StructDef& rhs);
+ virtual ~StructDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::StructDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::StructMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_STRUCTDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_STRUCTDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_StructDef : public virtual ::IR::StructDef,
+ public virtual _tao_thru_poa_collocated_TypedefDef,
+ public virtual _tao_thru_poa_collocated_Container
+ {
+ public:
+ _tao_thru_poa_collocated_StructDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::StructMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class StructDef_tie : public StructDef
+ {
+ public:
+ StructDef_tie (T &t);
+ // the T& ctor
+ StructDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ StructDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~StructDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::StructMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ StructDef_tie (const StructDef_tie &);
+ void operator= (const StructDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class UnionDef;
+ typedef UnionDef *UnionDef_ptr;
+ class UnionDef : public virtual TypedefDef, public virtual Container
+ {
+ protected:
+ UnionDef (void);
+
+ public:
+ UnionDef (const UnionDef& rhs);
+ virtual ~UnionDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::UnionDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr discriminator_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_discriminator_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr discriminator_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_discriminator_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_discriminator_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::UnionMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void members (
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_UNIONDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_UNIONDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_UnionDef : public virtual ::IR::UnionDef,
+ public virtual _tao_thru_poa_collocated_TypedefDef,
+ public virtual _tao_thru_poa_collocated_Container
+ {
+ public:
+ _tao_thru_poa_collocated_UnionDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr discriminator_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr discriminator_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UnionMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class UnionDef_tie : public UnionDef
+ {
+ public:
+ UnionDef_tie (T &t);
+ // the T& ctor
+ UnionDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ UnionDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~UnionDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr discriminator_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr discriminator_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ UnionDef_tie (const UnionDef_tie &);
+ void operator= (const UnionDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class EnumDef;
+ typedef EnumDef *EnumDef_ptr;
+ class EnumDef : public virtual TypedefDef
+ {
+ protected:
+ EnumDef (void);
+
+ public:
+ EnumDef (const EnumDef& rhs);
+ virtual ~EnumDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::EnumDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::EnumMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void members (
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_ENUMDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_ENUMDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_EnumDef : public virtual ::IR::EnumDef,
+ public virtual _tao_thru_poa_collocated_TypedefDef
+ {
+ public:
+ _tao_thru_poa_collocated_EnumDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::EnumMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class EnumDef_tie : public EnumDef
+ {
+ public:
+ EnumDef_tie (T &t);
+ // the T& ctor
+ EnumDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ EnumDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~EnumDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::EnumMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ EnumDef_tie (const EnumDef_tie &);
+ void operator= (const EnumDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class AliasDef;
+ typedef AliasDef *AliasDef_ptr;
+ class AliasDef : public virtual TypedefDef
+ {
+ protected:
+ AliasDef (void);
+
+ public:
+ AliasDef (const AliasDef& rhs);
+ virtual ~AliasDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::AliasDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_original_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_original_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_ALIASDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_ALIASDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_AliasDef : public virtual ::IR::AliasDef,
+ public virtual _tao_thru_poa_collocated_TypedefDef
+ {
+ public:
+ _tao_thru_poa_collocated_AliasDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class AliasDef_tie : public AliasDef
+ {
+ public:
+ AliasDef_tie (T &t);
+ // the T& ctor
+ AliasDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ AliasDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~AliasDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ AliasDef_tie (const AliasDef_tie &);
+ void operator= (const AliasDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class NativeDef;
+ typedef NativeDef *NativeDef_ptr;
+ class NativeDef : public virtual TypedefDef
+ {
+ protected:
+ NativeDef (void);
+
+ public:
+ NativeDef (const NativeDef& rhs);
+ virtual ~NativeDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::NativeDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_NATIVEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_NATIVEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_NativeDef : public virtual ::IR::NativeDef,
+ public virtual _tao_thru_poa_collocated_TypedefDef
+ {
+ public:
+ _tao_thru_poa_collocated_NativeDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class NativeDef_tie : public NativeDef
+ {
+ public:
+ NativeDef_tie (T &t);
+ // the T& ctor
+ NativeDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ NativeDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~NativeDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ NativeDef_tie (const NativeDef_tie &);
+ void operator= (const NativeDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class PrimitiveDef;
+ typedef PrimitiveDef *PrimitiveDef_ptr;
+ class PrimitiveDef : public virtual IDLType
+ {
+ protected:
+ PrimitiveDef (void);
+
+ public:
+ PrimitiveDef (const PrimitiveDef& rhs);
+ virtual ~PrimitiveDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::PrimitiveDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::PrimitiveKind kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_kind_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_PRIMITIVEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_PRIMITIVEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_PrimitiveDef : public virtual ::IR::PrimitiveDef,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_PrimitiveDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::PrimitiveKind kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class PrimitiveDef_tie : public PrimitiveDef
+ {
+ public:
+ PrimitiveDef_tie (T &t);
+ // the T& ctor
+ PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ PrimitiveDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~PrimitiveDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::PrimitiveKind kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ PrimitiveDef_tie (const PrimitiveDef_tie &);
+ void operator= (const PrimitiveDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class StringDef;
+ typedef StringDef *StringDef_ptr;
+ class StringDef : public virtual IDLType
+ {
+ protected:
+ StringDef (void);
+
+ public:
+ StringDef (const StringDef& rhs);
+ virtual ~StringDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::StringDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_bound_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_bound_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_STRINGDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_STRINGDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_StringDef : public virtual ::IR::StringDef,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_StringDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class StringDef_tie : public StringDef
+ {
+ public:
+ StringDef_tie (T &t);
+ // the T& ctor
+ StringDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ StringDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~StringDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ StringDef_tie (const StringDef_tie &);
+ void operator= (const StringDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class WstringDef;
+ typedef WstringDef *WstringDef_ptr;
+ class WstringDef : public virtual IDLType
+ {
+ protected:
+ WstringDef (void);
+
+ public:
+ WstringDef (const WstringDef& rhs);
+ virtual ~WstringDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::WstringDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_bound_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_bound_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_WSTRINGDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_WSTRINGDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_WstringDef : public virtual ::IR::WstringDef,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_WstringDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class WstringDef_tie : public WstringDef
+ {
+ public:
+ WstringDef_tie (T &t);
+ // the T& ctor
+ WstringDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ WstringDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~WstringDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ WstringDef_tie (const WstringDef_tie &);
+ void operator= (const WstringDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class FixedDef;
+ typedef FixedDef *FixedDef_ptr;
+ class FixedDef : public virtual IDLType
+ {
+ protected:
+ FixedDef (void);
+
+ public:
+ FixedDef (const FixedDef& rhs);
+ virtual ~FixedDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::FixedDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::UShort digits (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_digits_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void digits (
+ CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_digits_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Short scale (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_scale_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void scale (
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_scale_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_FIXEDDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_FIXEDDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_FixedDef : public virtual ::IR::FixedDef,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_FixedDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::UShort digits (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void digits (
+ CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Short scale (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void scale (
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class FixedDef_tie : public FixedDef
+ {
+ public:
+ FixedDef_tie (T &t);
+ // the T& ctor
+ FixedDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ FixedDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~FixedDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::UShort digits (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void digits (
+ CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Short scale (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void scale (
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ FixedDef_tie (const FixedDef_tie &);
+ void operator= (const FixedDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class SequenceDef;
+ typedef SequenceDef *SequenceDef_ptr;
+ class SequenceDef : public virtual IDLType
+ {
+ protected:
+ SequenceDef (void);
+
+ public:
+ SequenceDef (const SequenceDef& rhs);
+ virtual ~SequenceDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::SequenceDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_bound_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_bound_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_element_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_SEQUENCEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_SEQUENCEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_SequenceDef : public virtual ::IR::SequenceDef,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_SequenceDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class SequenceDef_tie : public SequenceDef
+ {
+ public:
+ SequenceDef_tie (T &t);
+ // the T& ctor
+ SequenceDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ SequenceDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~SequenceDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ SequenceDef_tie (const SequenceDef_tie &);
+ void operator= (const SequenceDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ArrayDef;
+ typedef ArrayDef *ArrayDef_ptr;
+ class ArrayDef : public virtual IDLType
+ {
+ protected:
+ ArrayDef (void);
+
+ public:
+ ArrayDef (const ArrayDef& rhs);
+ virtual ~ArrayDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ArrayDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong length (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_length_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void length (
+ CORBA::ULong length,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_length_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_element_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_ARRAYDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_ARRAYDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ArrayDef : public virtual ::IR::ArrayDef,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_ArrayDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::ULong length (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void length (
+ CORBA::ULong length,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ArrayDef_tie : public ArrayDef
+ {
+ public:
+ ArrayDef_tie (T &t);
+ // the T& ctor
+ ArrayDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ArrayDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ArrayDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::ULong length (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void length (
+ CORBA::ULong length,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ArrayDef_tie (const ArrayDef_tie &);
+ void operator= (const ArrayDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ExceptionDef;
+ typedef ExceptionDef *ExceptionDef_ptr;
+ class ExceptionDef : public virtual Contained, public virtual Container
+ {
+ protected:
+ ExceptionDef (void);
+
+ public:
+ ExceptionDef (const ExceptionDef& rhs);
+ virtual ~ExceptionDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ExceptionDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::StructMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_EXCEPTIONDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_EXCEPTIONDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ExceptionDef : public virtual ::IR::ExceptionDef,
+ public virtual _tao_thru_poa_collocated_Contained,
+ public virtual _tao_thru_poa_collocated_Container
+ {
+ public:
+ _tao_thru_poa_collocated_ExceptionDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::StructMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ExceptionDef_tie : public ExceptionDef
+ {
+ public:
+ ExceptionDef_tie (T &t);
+ // the T& ctor
+ ExceptionDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ExceptionDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ExceptionDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructMemberSeq * members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ExceptionDef_tie (const ExceptionDef_tie &);
+ void operator= (const ExceptionDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class AttributeDef;
+ typedef AttributeDef *AttributeDef_ptr;
+ class AttributeDef : public virtual Contained
+ {
+ protected:
+ AttributeDef (void);
+
+ public:
+ AttributeDef (const AttributeDef& rhs);
+ virtual ~AttributeDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::AttributeDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::AttributeMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_mode_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void mode (
+ IR::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_mode_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_ATTRIBUTEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_ATTRIBUTEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_AttributeDef : public virtual ::IR::AttributeDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_AttributeDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::AttributeMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void mode (
+ IR::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class AttributeDef_tie : public AttributeDef
+ {
+ public:
+ AttributeDef_tie (T &t);
+ // the T& ctor
+ AttributeDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ AttributeDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~AttributeDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AttributeMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ IR::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ AttributeDef_tie (const AttributeDef_tie &);
+ void operator= (const AttributeDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class OperationDef;
+ typedef OperationDef *OperationDef_ptr;
+ class OperationDef : public virtual Contained
+ {
+ protected:
+ OperationDef (void);
+
+ public:
+ OperationDef (const OperationDef& rhs);
+ virtual ~OperationDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::OperationDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_result_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_result_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_result_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_params_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_params_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_mode_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_mode_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_contexts_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_contexts_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_exceptions_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_exceptions_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_OPERATIONDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_OPERATIONDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_OperationDef : public virtual ::IR::OperationDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_OperationDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class OperationDef_tie : public OperationDef
+ {
+ public:
+ OperationDef_tie (T &t);
+ // the T& ctor
+ OperationDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ OperationDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~OperationDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ OperationDef_tie (const OperationDef_tie &);
+ void operator= (const OperationDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class InterfaceDef;
+ typedef InterfaceDef *InterfaceDef_ptr;
+ class InterfaceDef : public virtual Container, public virtual Contained, public virtual IDLType
+ {
+ protected:
+ InterfaceDef (void);
+
+ public:
+ InterfaceDef (const InterfaceDef& rhs);
+ virtual ~InterfaceDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::InterfaceDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_base_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_abstract_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_abstract_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_local (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_local_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_local_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_attribute_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_operation_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_INTERFACEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_INTERFACEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_InterfaceDef : public virtual ::IR::InterfaceDef,
+ public virtual _tao_thru_poa_collocated_Container,
+ public virtual _tao_thru_poa_collocated_Contained,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_InterfaceDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_local (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class InterfaceDef_tie : public InterfaceDef
+ {
+ public:
+ InterfaceDef_tie (T &t);
+ // the T& ctor
+ InterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ InterfaceDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~InterfaceDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_local (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ InterfaceDef_tie (const InterfaceDef_tie &);
+ void operator= (const InterfaceDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ValueMemberDef;
+ typedef ValueMemberDef *ValueMemberDef_ptr;
+ class ValueMemberDef : public virtual Contained
+ {
+ protected:
+ ValueMemberDef (void);
+
+ public:
+ ValueMemberDef (const ValueMemberDef& rhs);
+ virtual ~ValueMemberDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ValueMemberDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Visibility access (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_access_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void access (
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_access_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_VALUEMEMBERDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_VALUEMEMBERDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ValueMemberDef : public virtual ::IR::ValueMemberDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_ValueMemberDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Visibility access (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void access (
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ValueMemberDef_tie : public ValueMemberDef
+ {
+ public:
+ ValueMemberDef_tie (T &t);
+ // the T& ctor
+ ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ValueMemberDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ValueMemberDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Visibility access (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void access (
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ValueMemberDef_tie (const ValueMemberDef_tie &);
+ void operator= (const ValueMemberDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ValueDef;
+ typedef ValueDef *ValueDef_ptr;
+ class ValueDef : public virtual Container, public virtual Contained, public virtual IDLType
+ {
+ protected:
+ ValueDef (void);
+
+ public:
+ ValueDef (const ValueDef& rhs);
+ virtual ~ValueDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ValueDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::InitializerSeq * initializers (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_initializers_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void initializers (
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_initializers_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueDef_ptr base_value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_value_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void base_value (
+ IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_base_value_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueDefSeq * abstract_base_values (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_abstract_base_values_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void abstract_base_values (
+ const IR::ValueDefSeq & abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_abstract_base_values_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_abstract_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_abstract_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_custom (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_custom_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void is_custom (
+ CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_custom_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_truncatable (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_truncatable_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void is_truncatable (
+ CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_truncatable_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_a (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueMemberDef_ptr create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_value_member_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_attribute_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_operation_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_VALUEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_VALUEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ValueDef : public virtual ::IR::ValueDef,
+ public virtual _tao_thru_poa_collocated_Container,
+ public virtual _tao_thru_poa_collocated_Contained,
+ public virtual _tao_thru_poa_collocated_IDLType
+ {
+ public:
+ _tao_thru_poa_collocated_ValueDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::InitializerSeq * initializers (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void initializers (
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueDef_ptr base_value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void base_value (
+ IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueDefSeq * abstract_base_values (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void abstract_base_values (
+ const IR::ValueDefSeq & abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_custom (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_custom (
+ CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_truncatable (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_truncatable (
+ CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_a (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueMemberDef_ptr create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ValueDef_tie : public ValueDef
+ {
+ public:
+ ValueDef_tie (T &t);
+ // the T& ctor
+ ValueDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ValueDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ValueDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InitializerSeq * initializers (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void initializers (
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr base_value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_value (
+ IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDefSeq * abstract_base_values (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void abstract_base_values (
+ const IR::ValueDefSeq & abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_custom (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_custom (
+ CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_truncatable (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_truncatable (
+ CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueMemberDef_ptr create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ValueDef_tie (const ValueDef_tie &);
+ void operator= (const ValueDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ValueBoxDef;
+ typedef ValueBoxDef *ValueBoxDef_ptr;
+ class ValueBoxDef : public virtual TypedefDef
+ {
+ protected:
+ ValueBoxDef (void);
+
+ public:
+ ValueBoxDef (const ValueBoxDef& rhs);
+ virtual ~ValueBoxDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ValueBoxDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_original_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_original_type_def_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_VALUEBOXDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_VALUEBOXDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ValueBoxDef : public virtual ::IR::ValueBoxDef,
+ public virtual _tao_thru_poa_collocated_TypedefDef
+ {
+ public:
+ _tao_thru_poa_collocated_ValueBoxDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ValueBoxDef_tie : public ValueBoxDef
+ {
+ public:
+ ValueBoxDef_tie (T &t);
+ // the T& ctor
+ ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ValueBoxDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ValueBoxDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ValueBoxDef_tie (const ValueBoxDef_tie &);
+ void operator= (const ValueBoxDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ProvidesDef;
+ typedef ProvidesDef *ProvidesDef_ptr;
+ class ProvidesDef : public virtual Contained
+ {
+ protected:
+ ProvidesDef (void);
+
+ public:
+ ProvidesDef (const ProvidesDef& rhs);
+ virtual ~ProvidesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ProvidesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_interface_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_PROVIDESDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_PROVIDESDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ProvidesDef : public virtual ::IR::ProvidesDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_ProvidesDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ProvidesDef_tie : public ProvidesDef
+ {
+ public:
+ ProvidesDef_tie (T &t);
+ // the T& ctor
+ ProvidesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ProvidesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ProvidesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ProvidesDef_tie (const ProvidesDef_tie &);
+ void operator= (const ProvidesDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class UsesDef;
+ typedef UsesDef *UsesDef_ptr;
+ class UsesDef : public virtual Contained
+ {
+ protected:
+ UsesDef (void);
+
+ public:
+ UsesDef (const UsesDef& rhs);
+ virtual ~UsesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::UsesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_interface_type_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_multiple (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_multiple_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_USESDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_USESDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_UsesDef : public virtual ::IR::UsesDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_UsesDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_multiple (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class UsesDef_tie : public UsesDef
+ {
+ public:
+ UsesDef_tie (T &t);
+ // the T& ctor
+ UsesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ UsesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~UsesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_multiple (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ UsesDef_tie (const UsesDef_tie &);
+ void operator= (const UsesDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class EventDef;
+ typedef EventDef *EventDef_ptr;
+ class EventDef : public virtual Contained
+ {
+ protected:
+ EventDef (void);
+
+ public:
+ EventDef (const EventDef& rhs);
+ virtual ~EventDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::EventDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::Boolean is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_event_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_EVENTDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_EVENTDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_EventDef : public virtual ::IR::EventDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_EventDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class EventDef_tie : public EventDef
+ {
+ public:
+ EventDef_tie (T &t);
+ // the T& ctor
+ EventDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ EventDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~EventDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::Boolean is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ EventDef_tie (const EventDef_tie &);
+ void operator= (const EventDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class EmitsDef;
+ typedef EmitsDef *EmitsDef_ptr;
+ class EmitsDef : public virtual EventDef
+ {
+ protected:
+ EmitsDef (void);
+
+ public:
+ EmitsDef (const EmitsDef& rhs);
+ virtual ~EmitsDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::EmitsDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_event_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_EMITSDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_EMITSDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_EmitsDef : public virtual ::IR::EmitsDef,
+ public virtual _tao_thru_poa_collocated_EventDef
+ {
+ public:
+ _tao_thru_poa_collocated_EmitsDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class EmitsDef_tie : public EmitsDef
+ {
+ public:
+ EmitsDef_tie (T &t);
+ // the T& ctor
+ EmitsDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ EmitsDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~EmitsDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::Boolean is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ EmitsDef_tie (const EmitsDef_tie &);
+ void operator= (const EmitsDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class PublishesDef;
+ typedef PublishesDef *PublishesDef_ptr;
+ class PublishesDef : public virtual EventDef
+ {
+ protected:
+ PublishesDef (void);
+
+ public:
+ PublishesDef (const PublishesDef& rhs);
+ virtual ~PublishesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::PublishesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_event_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_PUBLISHESDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_PUBLISHESDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_PublishesDef : public virtual ::IR::PublishesDef,
+ public virtual _tao_thru_poa_collocated_EventDef
+ {
+ public:
+ _tao_thru_poa_collocated_PublishesDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class PublishesDef_tie : public PublishesDef
+ {
+ public:
+ PublishesDef_tie (T &t);
+ // the T& ctor
+ PublishesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ PublishesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~PublishesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::Boolean is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ PublishesDef_tie (const PublishesDef_tie &);
+ void operator= (const PublishesDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ConsumesDef;
+ typedef ConsumesDef *ConsumesDef_ptr;
+ class ConsumesDef : public virtual EventDef
+ {
+ protected:
+ ConsumesDef (void);
+
+ public:
+ ConsumesDef (const ConsumesDef& rhs);
+ virtual ~ConsumesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ConsumesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_event_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_CONSUMESDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_CONSUMESDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ConsumesDef : public virtual ::IR::ConsumesDef,
+ public virtual _tao_thru_poa_collocated_EventDef
+ {
+ public:
+ _tao_thru_poa_collocated_ConsumesDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ConsumesDef_tie : public ConsumesDef
+ {
+ public:
+ ConsumesDef_tie (T &t);
+ // the T& ctor
+ ConsumesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ConsumesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ConsumesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::Boolean is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr event (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ConsumesDef_tie (const ConsumesDef_tie &);
+ void operator= (const ConsumesDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class ComponentDef;
+ typedef ComponentDef *ComponentDef_ptr;
+ class ComponentDef : public virtual InterfaceDef
+ {
+ protected:
+ ComponentDef (void);
+
+ public:
+ ComponentDef (const ComponentDef& rhs);
+ virtual ~ComponentDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::ComponentDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_supported_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ComponentDef_ptr base_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_component_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ProvidesDefSeq * provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_provides_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::UsesDefSeq * uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_uses_interfaces_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::EmitsDefSeq * emits_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_emits_events_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::PublishesDefSeq * publishes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_publishes_events_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ConsumesDefSeq * consumes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_consumes_events_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_basic_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ProvidesDef_ptr create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_provides_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::UsesDef_ptr create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_uses_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::EmitsDef_ptr create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_emits_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_publishes_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_consumes_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_attribute_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_operation_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_COMPONENTDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_COMPONENTDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_ComponentDef : public virtual ::IR::ComponentDef,
+ public virtual _tao_thru_poa_collocated_InterfaceDef
+ {
+ public:
+ _tao_thru_poa_collocated_ComponentDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ComponentDef_ptr base_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ProvidesDefSeq * provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UsesDefSeq * uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EmitsDefSeq * emits_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PublishesDefSeq * publishes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConsumesDefSeq * consumes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ProvidesDef_ptr create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UsesDef_ptr create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EmitsDef_ptr create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ComponentDef_tie : public ComponentDef
+ {
+ public:
+ ComponentDef_tie (T &t);
+ // the T& ctor
+ ComponentDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ComponentDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ComponentDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ComponentDef_ptr base_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ProvidesDefSeq * provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UsesDefSeq * uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EmitsDefSeq * emits_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PublishesDefSeq * publishes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConsumesDefSeq * consumes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ProvidesDef_ptr create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UsesDef_ptr create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EmitsDef_ptr create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PublishesDef_ptr create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConsumesDef_ptr create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_local (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ComponentDef_tie (const ComponentDef_tie &);
+ void operator= (const ComponentDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class PrimaryKeyDef;
+ typedef PrimaryKeyDef *PrimaryKeyDef_ptr;
+ class PrimaryKeyDef : public virtual Contained
+ {
+ protected:
+ PrimaryKeyDef (void);
+
+ public:
+ PrimaryKeyDef (const PrimaryKeyDef& rhs);
+ virtual ~PrimaryKeyDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::PrimaryKeyDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::Boolean is_a (
+ const char * primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ValueDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_primary_key_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_PRIMARYKEYDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_PRIMARYKEYDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_PrimaryKeyDef : public virtual ::IR::PrimaryKeyDef,
+ public virtual _tao_thru_poa_collocated_Contained
+ {
+ public:
+ _tao_thru_poa_collocated_PrimaryKeyDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_a (
+ const char * primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ValueDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class PrimaryKeyDef_tie : public PrimaryKeyDef
+ {
+ public:
+ PrimaryKeyDef_tie (T &t);
+ // the T& ctor
+ PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ PrimaryKeyDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~PrimaryKeyDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::Boolean is_a (
+ const char * primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ PrimaryKeyDef_tie (const PrimaryKeyDef_tie &);
+ void operator= (const PrimaryKeyDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class FactoryDef;
+ typedef FactoryDef *FactoryDef_ptr;
+ class FactoryDef : public virtual OperationDef
+ {
+ protected:
+ FactoryDef (void);
+
+ public:
+ FactoryDef (const FactoryDef& rhs);
+ virtual ~FactoryDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::FactoryDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_result_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_FACTORYDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_FACTORYDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_FactoryDef : public virtual ::IR::FactoryDef,
+ public virtual _tao_thru_poa_collocated_OperationDef
+ {
+ public:
+ _tao_thru_poa_collocated_FactoryDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class FactoryDef_tie : public FactoryDef
+ {
+ public:
+ FactoryDef_tie (T &t);
+ // the T& ctor
+ FactoryDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ FactoryDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~FactoryDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ FactoryDef_tie (const FactoryDef_tie &);
+ void operator= (const FactoryDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class FinderDef;
+ typedef FinderDef *FinderDef_ptr;
+ class FinderDef : public virtual OperationDef
+ {
+ protected:
+ FinderDef (void);
+
+ public:
+ FinderDef (const FinderDef& rhs);
+ virtual ~FinderDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::FinderDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_result_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_FINDERDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_FINDERDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_FinderDef : public virtual ::IR::FinderDef,
+ public virtual _tao_thru_poa_collocated_OperationDef
+ {
+ public:
+ _tao_thru_poa_collocated_FinderDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class FinderDef_tie : public FinderDef
+ {
+ public:
+ FinderDef_tie (T &t);
+ // the T& ctor
+ FinderDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ FinderDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~FinderDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ CORBA::TypeCode_ptr result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ FinderDef_tie (const FinderDef_tie &);
+ void operator= (const FinderDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+ class HomeDef;
+ typedef HomeDef *HomeDef_ptr;
+ class HomeDef : public virtual InterfaceDef
+ {
+ protected:
+ HomeDef (void);
+
+ public:
+ HomeDef (const HomeDef& rhs);
+ virtual ~HomeDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _non_existent_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void _dispatch (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ ::IR::HomeDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::HomeDef_ptr base_home (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_home_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ComponentDef_ptr managed_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_managed_component_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::PrimaryKeyDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_primary_key_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::FactoryDefSeq * factories (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_factories_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::FinderDefSeq * finders (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_finders_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_basic_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::PrimaryKeyDef_ptr create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_primary_key_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::FactoryDef_ptr create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_factory_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::FinderDef_ptr create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_finder_skel (
+ CORBA::ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void _get_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_attribute_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_operation_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void _get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+ static void destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+
+
+ };
+
+
+#if !defined (_IR_HOMEDEF___THRU_POA_COLLOCATED_SH_)
+#define _IR_HOMEDEF___THRU_POA_COLLOCATED_SH_
+
+ class _tao_thru_poa_collocated_HomeDef : public virtual ::IR::HomeDef,
+ public virtual _tao_thru_poa_collocated_InterfaceDef
+ {
+ public:
+ _tao_thru_poa_collocated_HomeDef (
+ TAO_Stub *stub
+ );
+ virtual CORBA::Boolean _is_a(
+ const CORBA::Char *logical_type_id,
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual CORBA::Boolean _non_existent(
+ CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
+ );
+
+ virtual IR::HomeDef_ptr base_home (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ComponentDef_ptr managed_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PrimaryKeyDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FactoryDefSeq * factories (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FinderDefSeq * finders (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PrimaryKeyDef_ptr create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FactoryDef_ptr create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FinderDef_ptr create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ };
+
+
+#endif /* end #if !defined */
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class HomeDef_tie : public HomeDef
+ {
+ public:
+ HomeDef_tie (T &t);
+ // the T& ctor
+ HomeDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ HomeDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~HomeDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ CORBA::Environment &env =
+ TAO_default_environment ()
+ );
+ IR::HomeDef_ptr base_home (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ComponentDef_ptr managed_component (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PrimaryKeyDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FactoryDefSeq * factories (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FinderDefSeq * finders (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_basic (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PrimaryKeyDef_ptr create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FactoryDef_ptr create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FinderDef_ptr create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_local (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container::DescriptionSeq * describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Container_ptr defined_in (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ HomeDef_tie (const HomeDef_tie &);
+ void operator= (const HomeDef_tie &);
+ };
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+}
+TAO_NAMESPACE_CLOSE
+
+#include "InterfaceS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "InterfaceS.i"
+#endif /* defined INLINE */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include "ace/post.h"
+#endif /* ifndef TAO_IDL_INTERFACES_H */
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceS.i b/TAO/orbsvcs/IFR_Service/InterfaceS.i
new file mode 100644
index 00000000000..80cb9e9104c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceS.i
@@ -0,0 +1,8725 @@
+/* -*- C++ -*- */
+//$Id$
+
+// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
+// TAO and the TAO IDL Compiler have been developed by the Center for
+// Distributed Object Computing at Washington University, St. Louis.
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+ACE_INLINE void POA_IR::Contained::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::Contained_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Contained::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::Contained_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Container::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::Container_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Container::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::Container_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::IDLType::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::IDLType_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::IDLType::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::IDLType_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::Repository::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::Repository_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::lookup_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::lookup_id_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::get_canonical_typecode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::get_canonical_typecode_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::get_primitive_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::get_primitive_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_string_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::create_string_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_wstring_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::create_wstring_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_sequence_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::create_sequence_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_array_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::create_array_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_fixed_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Repository::create_fixed_skel (
+ req,
+ (POA_IR::Repository_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ModuleDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ModuleDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConstantDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ConstantDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::TypedefDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::TypedefDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StructDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::StructDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UnionDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::UnionDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EnumDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::EnumDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AliasDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::AliasDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::NativeDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::NativeDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimitiveDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::PrimitiveDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimitiveDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::PrimitiveDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimitiveDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::PrimitiveDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StringDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::StringDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StringDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::StringDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::StringDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::StringDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::WstringDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::WstringDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::WstringDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::WstringDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::WstringDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::WstringDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FixedDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::FixedDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FixedDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::FixedDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FixedDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::FixedDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::SequenceDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::SequenceDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::SequenceDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::SequenceDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::SequenceDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::SequenceDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ArrayDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::ArrayDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ArrayDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ArrayDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ArrayDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ArrayDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ExceptionDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ExceptionDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::AttributeDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::AttributeDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::OperationDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::OperationDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::InterfaceDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::InterfaceDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueMemberDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ValueMemberDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ValueDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ValueBoxDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ValueBoxDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EventDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::EventDef::is_a_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_event_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::EventDef::_get_event_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::EventDef::is_a_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_event_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::EventDef::_get_event_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::EventDef::is_a_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_event_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::EventDef::_get_event_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::_get_base_interfaces_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::_set_base_interfaces_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::_get_is_abstract_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::_set_is_abstract_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::_get_is_local_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::_set_is_local_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::is_a_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_attribute_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::create_attribute_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_operation_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::InterfaceDef::create_operation_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_result_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_get_result_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_get_result_def_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_set_result_def_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_get_params_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_set_params_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_get_mode_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_set_mode_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_get_contexts_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_set_contexts_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_get_exceptions_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::OperationDef::_set_exceptions_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_result_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_get_result_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_get_result_def_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_result_def_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_set_result_def_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_get_params_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_params_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_set_params_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_get_mode_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_mode_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_set_mode_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_get_contexts_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_contexts_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_set_contexts_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_get_exceptions_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_exceptions_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::OperationDef::_set_exceptions_skel (
+ req,
+ (POA_IR::OperationDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::_get_base_interfaces_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_base_interfaces_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::_set_base_interfaces_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::_get_is_abstract_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_is_abstract_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::_set_is_abstract_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::_get_is_local_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_is_local_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::_set_is_local_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::is_a_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::is_a_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_attribute_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::create_attribute_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_operation_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::InterfaceDef::create_operation_skel (
+ req,
+ (POA_IR::InterfaceDef_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::lookup_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::lookup_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::lookup_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::lookup_name_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::describe_contents_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::describe_contents_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_module_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_module_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_constant_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_constant_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_struct_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_struct_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_union_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_union_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_enum_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_enum_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_alias_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_alias_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_interface_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_interface_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_value_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_value_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_value_box_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_value_box_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_exception_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_exception_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_native_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Container::create_native_skel (
+ req,
+ (POA_IR::Container_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_get_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_id_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_set_id_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_get_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_set_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_get_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_version_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_set_version_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_defined_in_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_get_defined_in_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_absolute_name_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_get_absolute_name_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_containing_repository_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::_get_containing_repository_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::describe_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::describe_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::move_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::Contained::move_skel (
+ req,
+ (POA_IR::Contained_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_type_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_IR::IDLType_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_IR::IDLType::_get_type_skel (
+ req,
+ (POA_IR::IDLType_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_def_kind_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA::IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::destroy_skel (
+ CORBA::ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &env
+ )
+{
+ POA_CORBA::IRObject_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA::IRObject::destroy_skel (
+ req,
+ (POA_CORBA::IRObject_ptr) impl,
+ context,
+ env
+ );
+}
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceS_T.cpp b/TAO/orbsvcs/IFR_Service/InterfaceS_T.cpp
new file mode 100644
index 00000000000..30967c5e94f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceS_T.cpp
@@ -0,0 +1,23 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
+// TAO and the TAO IDL Compiler have been developed by the Center for
+// Distributed Object Computing at Washington University, St. Louis.
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_INTERFACES_T_CPP_
+#define _TAO_IDL_INTERFACES_T_CPP_
+
+#include "InterfaceS_T.h"
+
+ACE_RCSID(IFR_Service, InterfaceS_T, "$Id$")
+
+#if !defined (__ACE_INLINE__)
+#include "InterfaceS_T.i"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef _TAO_IDL_INTERFACES_T_CPP_ */
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceS_T.h b/TAO/orbsvcs/IFR_Service/InterfaceS_T.h
new file mode 100644
index 00000000000..e84af682124
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceS_T.h
@@ -0,0 +1,40 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
+// TAO and the TAO IDL Compiler have been developed by the Center for
+// Distributed Object Computing at Washington University, St. Louis.
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_INTERFACES_T_H_
+#define _TAO_IDL_INTERFACES_T_H_
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+
+#if defined (__ACE_INLINE__)
+#include "workS_T.i"
+#endif /* defined INLINE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "InterfaceS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("InterfaceS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* ifndef _TAO_IDL_INTERFACES_T_H_ */
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceS_T.i b/TAO/orbsvcs/IFR_Service/InterfaceS_T.i
new file mode 100644
index 00000000000..5d4a07751cb
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceS_T.i
@@ -0,0 +1,14617 @@
+/* -*- C++ -*- */
+//$Id$
+
+// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
+// TAO and the TAO IDL Compiler have been developed by the Center for
+// Distributed Object Computing at Washington University, St. Louis.
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::Contained_tie<T>::Contained_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Contained_tie<T>::Contained_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Contained_tie<T>::Contained_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Contained_tie<T>::Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Contained_tie<T>::~Contained_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::Contained_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Contained_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Contained_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::Contained_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Contained_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::Contained_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->Contained::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::Contained_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Contained_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::Contained_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Contained_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::Contained_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Contained_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::Contained_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::Contained_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::Contained_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::Contained_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Contained_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::Contained_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Contained_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::Container_tie<T>::Container_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Container_tie<T>::Container_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Container_tie<T>::Container_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Container_tie<T>::Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Container_tie<T>::~Container_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::Container_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Container_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Container_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::Container_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Container_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::Container_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->Container::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::Container_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::Container_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::Container_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::Container_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::Container_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::Container_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::Container_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::Container_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::Container_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::Container_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::Container_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::Container_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::Container_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::Container_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::Container_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::Container_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Container_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::IDLType_tie<T>::IDLType_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::IDLType_tie<T>::IDLType_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::IDLType_tie<T>::IDLType_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::IDLType_tie<T>::IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::IDLType_tie<T>::~IDLType_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::IDLType_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::IDLType_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::IDLType_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::IDLType_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::IDLType_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::IDLType_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->IDLType::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::IDLType_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::IDLType_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::IDLType_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::Repository_tie<T>::Repository_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Repository_tie<T>::Repository_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Repository_tie<T>::Repository_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Repository_tie<T>::Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::Repository_tie<T>::~Repository_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::Repository_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Repository_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Repository_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::Repository_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::Repository_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::Repository_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->Repository::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::Repository_tie<T>::lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_id (
+ search_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::Repository_tie<T>::get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_canonical_typecode (
+ tc,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PrimitiveDef_ptr POA_IR::Repository_tie<T>::get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_primitive (
+ kind,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StringDef_ptr POA_IR::Repository_tie<T>::create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_string (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::WstringDef_ptr POA_IR::Repository_tie<T>::create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_wstring (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::SequenceDef_ptr POA_IR::Repository_tie<T>::create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_sequence (
+ bound,
+ element_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ArrayDef_ptr POA_IR::Repository_tie<T>::create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_array (
+ length,
+ element_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FixedDef_ptr POA_IR::Repository_tie<T>::create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_fixed (
+ digits,
+ scale,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::Repository_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::Repository_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::Repository_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::Repository_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::Repository_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::Repository_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::Repository_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::Repository_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::Repository_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::Repository_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::Repository_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::Repository_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::Repository_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::Repository_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::Repository_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::Repository_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::Repository_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::~ComponentRepository_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ComponentRepository_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentRepository_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentRepository_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ComponentRepository_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentRepository_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ComponentRepository_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ComponentRepository::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::ComponentDef_ptr POA_IR::ComponentRepository_tie<T>::create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const IR::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_component (
+ id,
+ name,
+ version,
+ base_component,
+ supports_interfaces,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::HomeDef_ptr POA_IR::ComponentRepository_tie<T>::create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_home (
+ id,
+ name,
+ version,
+ base_home,
+ managed_component,
+ primary_key,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::ComponentRepository_tie<T>::lookup_id (
+ const char * search_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_id (
+ search_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ComponentRepository_tie<T>::get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_canonical_typecode (
+ tc,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PrimitiveDef_ptr POA_IR::ComponentRepository_tie<T>::get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_primitive (
+ kind,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StringDef_ptr POA_IR::ComponentRepository_tie<T>::create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_string (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::WstringDef_ptr POA_IR::ComponentRepository_tie<T>::create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_wstring (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::SequenceDef_ptr POA_IR::ComponentRepository_tie<T>::create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_sequence (
+ bound,
+ element_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ArrayDef_ptr POA_IR::ComponentRepository_tie<T>::create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_array (
+ length,
+ element_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FixedDef_ptr POA_IR::ComponentRepository_tie<T>::create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_fixed (
+ digits,
+ scale,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::ComponentRepository_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ComponentRepository_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ComponentRepository_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::ComponentRepository_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::ComponentRepository_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::ComponentRepository_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::ComponentRepository_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::ComponentRepository_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::ComponentRepository_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::ComponentRepository_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::ComponentRepository_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ComponentRepository_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::ComponentRepository_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::ComponentRepository_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::ComponentRepository_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ComponentRepository_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentRepository_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ModuleDef_tie<T>::ModuleDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ModuleDef_tie<T>::ModuleDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ModuleDef_tie<T>::ModuleDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ModuleDef_tie<T>::ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ModuleDef_tie<T>::~ModuleDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ModuleDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ModuleDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ModuleDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ModuleDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ModuleDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ModuleDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ModuleDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::ModuleDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ModuleDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ModuleDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::ModuleDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::ModuleDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::ModuleDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::ModuleDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::ModuleDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::ModuleDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::ModuleDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::ModuleDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ModuleDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::ModuleDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::ModuleDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::ModuleDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ModuleDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ModuleDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ModuleDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ModuleDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ModuleDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ModuleDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ModuleDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ModuleDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ModuleDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ModuleDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ModuleDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ModuleDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ModuleDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ConstantDef_tie<T>::ConstantDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConstantDef_tie<T>::ConstantDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConstantDef_tie<T>::ConstantDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConstantDef_tie<T>::ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConstantDef_tie<T>::~ConstantDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ConstantDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConstantDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConstantDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ConstantDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConstantDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ConstantDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ConstantDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ConstantDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::ConstantDef_tie<T>::type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->type_def (
+ type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Any * POA_IR::ConstantDef_tie<T>::value (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->value (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::value (
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->value (
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConstantDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConstantDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConstantDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ConstantDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConstantDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ConstantDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ConstantDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ConstantDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConstantDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::TypedefDef_tie<T>::TypedefDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::TypedefDef_tie<T>::TypedefDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::TypedefDef_tie<T>::TypedefDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::TypedefDef_tie<T>::TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::TypedefDef_tie<T>::~TypedefDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::TypedefDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::TypedefDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::TypedefDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::TypedefDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::TypedefDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::TypedefDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->TypedefDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::TypedefDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::TypedefDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::TypedefDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::TypedefDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::TypedefDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::TypedefDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::TypedefDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::TypedefDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::TypedefDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::TypedefDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::TypedefDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::TypedefDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::TypedefDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::TypedefDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::StructDef_tie<T>::StructDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StructDef_tie<T>::StructDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StructDef_tie<T>::StructDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StructDef_tie<T>::StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StructDef_tie<T>::~StructDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::StructDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::StructDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::StructDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::StructDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::StructDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::StructDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->StructDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::StructMemberSeq * POA_IR::StructDef_tie<T>::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StructDef_tie<T>::members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::StructDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::StructDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::StructDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::StructDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::StructDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::StructDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::StructDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::StructDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::StructDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::StructDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::StructDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::StructDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::StructDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::StructDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::StructDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::StructDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StructDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::StructDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StructDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::StructDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StructDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::StructDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::StructDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::StructDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::StructDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StructDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::StructDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::StructDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StructDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::UnionDef_tie<T>::UnionDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UnionDef_tie<T>::UnionDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UnionDef_tie<T>::UnionDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UnionDef_tie<T>::UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UnionDef_tie<T>::~UnionDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::UnionDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UnionDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UnionDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::UnionDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UnionDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::UnionDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->UnionDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::UnionDef_tie<T>::discriminator_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->discriminator_type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::UnionDef_tie<T>::discriminator_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->discriminator_type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->discriminator_type_def (
+ discriminator_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionMemberSeq * POA_IR::UnionDef_tie<T>::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::members (
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::UnionDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::UnionDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::UnionDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::UnionDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::UnionDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::UnionDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::UnionDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::UnionDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::UnionDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::UnionDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::UnionDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::UnionDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::UnionDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::UnionDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::UnionDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UnionDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UnionDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UnionDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::UnionDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UnionDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::UnionDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::UnionDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::UnionDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::UnionDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UnionDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::EnumDef_tie<T>::EnumDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EnumDef_tie<T>::EnumDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EnumDef_tie<T>::EnumDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EnumDef_tie<T>::EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EnumDef_tie<T>::~EnumDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::EnumDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EnumDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EnumDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::EnumDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EnumDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::EnumDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->EnumDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::EnumMemberSeq * POA_IR::EnumDef_tie<T>::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EnumDef_tie<T>::members (
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EnumDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EnumDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EnumDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EnumDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EnumDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EnumDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::EnumDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EnumDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::EnumDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::EnumDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EnumDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::EnumDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::EnumDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EnumDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::AliasDef_tie<T>::AliasDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AliasDef_tie<T>::AliasDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AliasDef_tie<T>::AliasDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AliasDef_tie<T>::AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AliasDef_tie<T>::~AliasDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::AliasDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::AliasDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::AliasDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::AliasDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::AliasDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::AliasDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->AliasDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::AliasDef_tie<T>::original_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->original_type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AliasDef_tie<T>::original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->original_type_def (
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AliasDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AliasDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AliasDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AliasDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AliasDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AliasDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::AliasDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AliasDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::AliasDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::AliasDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AliasDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::AliasDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::AliasDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AliasDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::NativeDef_tie<T>::NativeDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::NativeDef_tie<T>::NativeDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::NativeDef_tie<T>::NativeDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::NativeDef_tie<T>::NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::NativeDef_tie<T>::~NativeDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::NativeDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::NativeDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::NativeDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::NativeDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::NativeDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::NativeDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->NativeDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::NativeDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::NativeDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::NativeDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::NativeDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::NativeDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::NativeDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::NativeDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::NativeDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::NativeDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::NativeDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::NativeDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::NativeDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::NativeDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::NativeDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::PrimitiveDef_tie<T>::PrimitiveDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimitiveDef_tie<T>::PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimitiveDef_tie<T>::PrimitiveDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimitiveDef_tie<T>::PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimitiveDef_tie<T>::~PrimitiveDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::PrimitiveDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimitiveDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimitiveDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::PrimitiveDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimitiveDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::PrimitiveDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->PrimitiveDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::PrimitiveKind POA_IR::PrimitiveDef_tie<T>::kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::PrimitiveDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::PrimitiveDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimitiveDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::StringDef_tie<T>::StringDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StringDef_tie<T>::StringDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StringDef_tie<T>::StringDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StringDef_tie<T>::StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::StringDef_tie<T>::~StringDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::StringDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::StringDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::StringDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::StringDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::StringDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::StringDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->StringDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_IR::StringDef_tie<T>::bound (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->bound (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StringDef_tie<T>::bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::StringDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::StringDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::StringDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::WstringDef_tie<T>::WstringDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::WstringDef_tie<T>::WstringDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::WstringDef_tie<T>::WstringDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::WstringDef_tie<T>::WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::WstringDef_tie<T>::~WstringDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::WstringDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::WstringDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::WstringDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::WstringDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::WstringDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::WstringDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->WstringDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_IR::WstringDef_tie<T>::bound (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->bound (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::WstringDef_tie<T>::bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::WstringDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::WstringDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::WstringDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::FixedDef_tie<T>::FixedDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FixedDef_tie<T>::FixedDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FixedDef_tie<T>::FixedDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FixedDef_tie<T>::FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FixedDef_tie<T>::~FixedDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::FixedDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FixedDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FixedDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::FixedDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FixedDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::FixedDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->FixedDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::UShort POA_IR::FixedDef_tie<T>::digits (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->digits (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FixedDef_tie<T>::digits (
+ CORBA::UShort digits,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->digits (
+ digits,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Short POA_IR::FixedDef_tie<T>::scale (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->scale (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FixedDef_tie<T>::scale (
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->scale (
+ scale,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::FixedDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::FixedDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FixedDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::SequenceDef_tie<T>::SequenceDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::SequenceDef_tie<T>::SequenceDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::SequenceDef_tie<T>::SequenceDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::SequenceDef_tie<T>::SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::SequenceDef_tie<T>::~SequenceDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::SequenceDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::SequenceDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::SequenceDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::SequenceDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::SequenceDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::SequenceDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->SequenceDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_IR::SequenceDef_tie<T>::bound (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->bound (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::SequenceDef_tie<T>::bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->bound (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::SequenceDef_tie<T>::element_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::SequenceDef_tie<T>::element_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::SequenceDef_tie<T>::element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->element_type_def (
+ element_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::SequenceDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::SequenceDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::SequenceDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ArrayDef_tie<T>::ArrayDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ArrayDef_tie<T>::ArrayDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ArrayDef_tie<T>::ArrayDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ArrayDef_tie<T>::ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ArrayDef_tie<T>::~ArrayDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ArrayDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ArrayDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ArrayDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ArrayDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ArrayDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ArrayDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ArrayDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_IR::ArrayDef_tie<T>::length (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->length (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ArrayDef_tie<T>::length (
+ CORBA::ULong length,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->length (
+ length,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ArrayDef_tie<T>::element_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::ArrayDef_tie<T>::element_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ArrayDef_tie<T>::element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->element_type_def (
+ element_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ArrayDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ArrayDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ArrayDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ExceptionDef_tie<T>::ExceptionDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ExceptionDef_tie<T>::ExceptionDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ExceptionDef_tie<T>::ExceptionDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ExceptionDef_tie<T>::ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ExceptionDef_tie<T>::~ExceptionDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ExceptionDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ExceptionDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ExceptionDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ExceptionDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ExceptionDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ExceptionDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ExceptionDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ExceptionDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructMemberSeq * POA_IR::ExceptionDef_tie<T>::members (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ExceptionDef_tie<T>::members (
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ExceptionDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ExceptionDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ExceptionDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ExceptionDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ExceptionDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ExceptionDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ExceptionDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ExceptionDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ExceptionDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ExceptionDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ExceptionDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::ExceptionDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ExceptionDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ExceptionDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::ExceptionDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::ExceptionDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::ExceptionDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::ExceptionDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::ExceptionDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::ExceptionDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::ExceptionDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::ExceptionDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ExceptionDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::ExceptionDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::ExceptionDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::ExceptionDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ExceptionDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ExceptionDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::AttributeDef_tie<T>::AttributeDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AttributeDef_tie<T>::AttributeDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AttributeDef_tie<T>::AttributeDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AttributeDef_tie<T>::AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::AttributeDef_tie<T>::~AttributeDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::AttributeDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::AttributeDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::AttributeDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::AttributeDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::AttributeDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::AttributeDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->AttributeDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::AttributeDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::AttributeDef_tie<T>::type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->type_def (
+ type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AttributeMode POA_IR::AttributeDef_tie<T>::mode (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::mode (
+ IR::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AttributeDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AttributeDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AttributeDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::AttributeDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::AttributeDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::AttributeDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::AttributeDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::AttributeDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::AttributeDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::OperationDef_tie<T>::OperationDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::OperationDef_tie<T>::OperationDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::OperationDef_tie<T>::OperationDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::OperationDef_tie<T>::OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::OperationDef_tie<T>::~OperationDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::OperationDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::OperationDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::OperationDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::OperationDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::OperationDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::OperationDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->OperationDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::OperationDef_tie<T>::result (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::OperationDef_tie<T>::result_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->result_def (
+ result_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ParDescriptionSeq * POA_IR::OperationDef_tie<T>::params (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->params (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->params (
+ params,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationMode POA_IR::OperationDef_tie<T>::mode (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContextIdSeq * POA_IR::OperationDef_tie<T>::contexts (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contexts (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->contexts (
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDefSeq * POA_IR::OperationDef_tie<T>::exceptions (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->exceptions (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->exceptions (
+ exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::OperationDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::OperationDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::OperationDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::OperationDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::OperationDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::OperationDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::OperationDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::OperationDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::OperationDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::InterfaceDef_tie<T>::InterfaceDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::InterfaceDef_tie<T>::InterfaceDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::InterfaceDef_tie<T>::InterfaceDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::InterfaceDef_tie<T>::InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::InterfaceDef_tie<T>::~InterfaceDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::InterfaceDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::InterfaceDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::InterfaceDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::InterfaceDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::InterfaceDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::InterfaceDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->InterfaceDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDefSeq * POA_IR::InterfaceDef_tie<T>::base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+ base_interfaces,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::InterfaceDef_tie<T>::is_abstract (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_abstract (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::InterfaceDef_tie<T>::is_local (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_local (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_local (
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::InterfaceDef_tie<T>::is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ interface_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AttributeDef_ptr POA_IR::InterfaceDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationDef_ptr POA_IR::InterfaceDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::InterfaceDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::InterfaceDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::InterfaceDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::InterfaceDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::InterfaceDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::InterfaceDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::InterfaceDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::InterfaceDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::InterfaceDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::InterfaceDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::InterfaceDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::InterfaceDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::InterfaceDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::InterfaceDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::InterfaceDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::InterfaceDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::InterfaceDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::InterfaceDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::InterfaceDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::InterfaceDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::InterfaceDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::InterfaceDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::InterfaceDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::InterfaceDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::InterfaceDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ValueMemberDef_tie<T>::ValueMemberDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueMemberDef_tie<T>::ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueMemberDef_tie<T>::ValueMemberDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueMemberDef_tie<T>::ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueMemberDef_tie<T>::~ValueMemberDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ValueMemberDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueMemberDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueMemberDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ValueMemberDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueMemberDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ValueMemberDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ValueMemberDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ValueMemberDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::ValueMemberDef_tie<T>::type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->type_def (
+ type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Visibility POA_IR::ValueMemberDef_tie<T>::access (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->access (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::access (
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->access (
+ access,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueMemberDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueMemberDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueMemberDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ValueMemberDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueMemberDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ValueMemberDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ValueMemberDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ValueMemberDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueMemberDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ValueDef_tie<T>::ValueDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueDef_tie<T>::ValueDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueDef_tie<T>::ValueDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueDef_tie<T>::ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueDef_tie<T>::~ValueDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ValueDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ValueDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ValueDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ValueDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDefSeq * POA_IR::ValueDef_tie<T>::supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->supported_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->supported_interfaces (
+ supported_interfaces,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InitializerSeq * POA_IR::ValueDef_tie<T>::initializers (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->initializers (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::initializers (
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->initializers (
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ValueDef_tie<T>::base_value (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_value (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::base_value (
+ IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_value (
+ base_value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDefSeq * POA_IR::ValueDef_tie<T>::abstract_base_values (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->abstract_base_values (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::abstract_base_values (
+ const IR::ValueDefSeq & abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->abstract_base_values (
+ abstract_base_values,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ValueDef_tie<T>::is_abstract (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_abstract (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ValueDef_tie<T>::is_custom (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_custom (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::is_custom (
+ CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_custom (
+ is_custom,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ValueDef_tie<T>::is_truncatable (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_truncatable (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::is_truncatable (
+ CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_truncatable (
+ is_truncatable,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ValueDef_tie<T>::is_a (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueMemberDef_ptr POA_IR::ValueDef_tie<T>::create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_member (
+ id,
+ name,
+ version,
+ type,
+ access,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AttributeDef_ptr POA_IR::ValueDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationDef_ptr POA_IR::ValueDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::ValueDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ValueDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ValueDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::ValueDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::ValueDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::ValueDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::ValueDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::ValueDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::ValueDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::ValueDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::ValueDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ValueDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::ValueDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::ValueDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::ValueDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ValueDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ValueDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ValueDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ValueDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ValueDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ValueBoxDef_tie<T>::ValueBoxDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueBoxDef_tie<T>::ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueBoxDef_tie<T>::ValueBoxDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueBoxDef_tie<T>::ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ValueBoxDef_tie<T>::~ValueBoxDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ValueBoxDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueBoxDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueBoxDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ValueBoxDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ValueBoxDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ValueBoxDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ValueBoxDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::ValueBoxDef_tie<T>::original_type_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->original_type_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueBoxDef_tie<T>::original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->original_type_def (
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueBoxDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueBoxDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueBoxDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueBoxDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueBoxDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueBoxDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ValueBoxDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ValueBoxDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ValueBoxDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ValueBoxDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueBoxDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ValueBoxDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ValueBoxDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ValueBoxDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::~ProvidesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ProvidesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ProvidesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ProvidesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ProvidesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ProvidesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ProvidesDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ProvidesDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::ProvidesDef_tie<T>::interface_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->interface_type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ProvidesDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ProvidesDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ProvidesDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ProvidesDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::~UsesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::UsesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UsesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UsesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::UsesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UsesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::UsesDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->UsesDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::UsesDef_tie<T>::interface_type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->interface_type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::UsesDef_tie<T>::is_multiple (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_multiple (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::UsesDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::UsesDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::UsesDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::UsesDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::~EventDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::EventDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EventDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EventDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::EventDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EventDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::EventDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->EventDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::EventDef_tie<T>::is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ event_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::EventDef_tie<T>::event (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::EventDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::EventDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::EventDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::EventDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::~EmitsDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::EmitsDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EmitsDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EmitsDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::EmitsDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EmitsDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::EmitsDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->EmitsDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::EmitsDef_tie<T>::is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ event_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::EmitsDef_tie<T>::event (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::EmitsDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::EmitsDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::EmitsDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::EmitsDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::~PublishesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::PublishesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PublishesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PublishesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::PublishesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PublishesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::PublishesDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->PublishesDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::PublishesDef_tie<T>::is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ event_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::PublishesDef_tie<T>::event (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::PublishesDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::PublishesDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::PublishesDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::PublishesDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::~ConsumesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ConsumesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConsumesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConsumesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ConsumesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConsumesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ConsumesDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ConsumesDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ConsumesDef_tie<T>::is_a (
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ event_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ConsumesDef_tie<T>::event (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ConsumesDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ConsumesDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ConsumesDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ConsumesDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::~ComponentDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ComponentDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ComponentDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ComponentDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ComponentDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDefSeq * POA_IR::ComponentDef_tie<T>::supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->supported_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->supported_interfaces (
+ supported_interfaces,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ComponentDef_ptr POA_IR::ComponentDef_tie<T>::base_component (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_component (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ProvidesDefSeq * POA_IR::ComponentDef_tie<T>::provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->provides_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UsesDefSeq * POA_IR::ComponentDef_tie<T>::uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->uses_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EmitsDefSeq * POA_IR::ComponentDef_tie<T>::emits_events (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->emits_events (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PublishesDefSeq * POA_IR::ComponentDef_tie<T>::publishes_events (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->publishes_events (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConsumesDefSeq * POA_IR::ComponentDef_tie<T>::consumes_events (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->consumes_events (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ComponentDef_tie<T>::is_basic (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_basic (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ProvidesDef_ptr POA_IR::ComponentDef_tie<T>::create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_provides (
+ id,
+ name,
+ version,
+ interface_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UsesDef_ptr POA_IR::ComponentDef_tie<T>::create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_uses (
+ id,
+ name,
+ version,
+ interface_type,
+ is_multiple,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EmitsDef_ptr POA_IR::ComponentDef_tie<T>::create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_emits (
+ id,
+ name,
+ version,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PublishesDef_ptr POA_IR::ComponentDef_tie<T>::create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_publishes (
+ id,
+ name,
+ version,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConsumesDef_ptr POA_IR::ComponentDef_tie<T>::create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_consumes (
+ id,
+ name,
+ version,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDefSeq * POA_IR::ComponentDef_tie<T>::base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+ base_interfaces,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ComponentDef_tie<T>::is_abstract (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_abstract (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ComponentDef_tie<T>::is_local (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_local (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_local (
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ComponentDef_tie<T>::is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ interface_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AttributeDef_ptr POA_IR::ComponentDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationDef_ptr POA_IR::ComponentDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::ComponentDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ComponentDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::ComponentDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::ComponentDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::ComponentDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::ComponentDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::ComponentDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::ComponentDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::ComponentDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::ComponentDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::ComponentDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::ComponentDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::ComponentDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::ComponentDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::ComponentDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::ComponentDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::ComponentDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::ComponentDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ComponentDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::ComponentDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::~PrimaryKeyDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::PrimaryKeyDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimaryKeyDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimaryKeyDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::PrimaryKeyDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimaryKeyDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::PrimaryKeyDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->PrimaryKeyDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::PrimaryKeyDef_tie<T>::is_a (
+ const char * primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ primary_key_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::PrimaryKeyDef_tie<T>::primary_key (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->primary_key (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::PrimaryKeyDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::PrimaryKeyDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::PrimaryKeyDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::PrimaryKeyDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::~FactoryDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::FactoryDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FactoryDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FactoryDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::FactoryDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FactoryDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::FactoryDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->FactoryDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::FactoryDef_tie<T>::result (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::FactoryDef_tie<T>::result_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->result_def (
+ result_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ParDescriptionSeq * POA_IR::FactoryDef_tie<T>::params (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->params (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->params (
+ params,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationMode POA_IR::FactoryDef_tie<T>::mode (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContextIdSeq * POA_IR::FactoryDef_tie<T>::contexts (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contexts (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->contexts (
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDefSeq * POA_IR::FactoryDef_tie<T>::exceptions (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->exceptions (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->exceptions (
+ exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::FactoryDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::FactoryDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::FactoryDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::FactoryDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::~FinderDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::FinderDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FinderDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FinderDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::FinderDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FinderDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::FinderDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->FinderDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::FinderDef_tie<T>::result (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::IDLType_ptr POA_IR::FinderDef_tie<T>::result_def (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result_def (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->result_def (
+ result_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ParDescriptionSeq * POA_IR::FinderDef_tie<T>::params (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->params (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::params (
+ const IR::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->params (
+ params,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationMode POA_IR::FinderDef_tie<T>::mode (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+ mode,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContextIdSeq * POA_IR::FinderDef_tie<T>::contexts (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contexts (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::contexts (
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->contexts (
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDefSeq * POA_IR::FinderDef_tie<T>::exceptions (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->exceptions (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::exceptions (
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->exceptions (
+ exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::FinderDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::FinderDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::FinderDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::FinderDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::~HomeDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::HomeDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::HomeDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::HomeDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::HomeDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::HomeDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::HomeDef_tie<T>::_default_POA (CORBA::Environment &env)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->HomeDef::_default_POA (env);
+}
+
+template <class T> ACE_INLINE
+IR::HomeDef_ptr POA_IR::HomeDef_tie<T>::base_home (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_home (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ComponentDef_ptr POA_IR::HomeDef_tie<T>::managed_component (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->managed_component (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PrimaryKeyDef_ptr POA_IR::HomeDef_tie<T>::primary_key (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->primary_key (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FactoryDefSeq * POA_IR::HomeDef_tie<T>::factories (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->factories (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FinderDefSeq * POA_IR::HomeDef_tie<T>::finders (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->finders (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::HomeDef_tie<T>::is_basic (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_basic (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PrimaryKeyDef_ptr POA_IR::HomeDef_tie<T>::create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_primary_key (
+ id,
+ name,
+ version,
+ primary_key,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FactoryDef_ptr POA_IR::HomeDef_tie<T>::create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_factory (
+ id,
+ name,
+ version,
+ params,
+ exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FinderDef_ptr POA_IR::HomeDef_tie<T>::create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_finder (
+ id,
+ name,
+ version,
+ params,
+ exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDefSeq * POA_IR::HomeDef_tie<T>::base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::base_interfaces (
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+ base_interfaces,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::HomeDef_tie<T>::is_abstract (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_abstract (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_abstract (
+ is_abstract,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::HomeDef_tie<T>::is_local (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_local (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::is_local (
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_local (
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::HomeDef_tie<T>::is_a (
+ const char * interface_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+ interface_id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AttributeDef_ptr POA_IR::HomeDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq & get_exceptions,
+ const IR::ExceptionDefSeq & put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode,
+ get_exceptions,
+ put_exceptions,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::OperationDef_ptr POA_IR::HomeDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq & params,
+ const IR::ExceptionDefSeq & exceptions,
+ const IR::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained_ptr POA_IR::HomeDef_tie<T>::lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+ search_name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::HomeDef_tie<T>::contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ContainedSeq * POA_IR::HomeDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container::DescriptionSeq * POA_IR::HomeDef_tie<T>::describe_contents (
+ IR::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ModuleDef_ptr POA_IR::HomeDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConstantDef_ptr POA_IR::HomeDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::StructDef_ptr POA_IR::HomeDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UnionDef_ptr POA_IR::HomeDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EnumDef_ptr POA_IR::HomeDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::AliasDef_ptr POA_IR::HomeDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+ id,
+ name,
+ version,
+ original_type,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::InterfaceDef_ptr POA_IR::HomeDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::InterfaceDefSeq & base_interfaces,
+ CORBA::Boolean is_abstract,
+ CORBA::Boolean is_local,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces,
+ is_abstract,
+ is_local,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueDef_ptr POA_IR::HomeDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ IR::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const IR::ValueDefSeq & abstract_base_values,
+ const IR::InterfaceDefSeq & supported_interfaces,
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ValueBoxDef_ptr POA_IR::HomeDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ExceptionDef_ptr POA_IR::HomeDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+ id,
+ name,
+ version,
+ members,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::NativeDef_ptr POA_IR::HomeDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+ id,
+ name,
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::id (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::id (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+ id,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::name (
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+ name,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::version (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::version (
+ const char * version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+ version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Container_ptr POA_IR::HomeDef_tie<T>::defined_in (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::absolute_name (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Repository_ptr POA_IR::HomeDef_tie<T>::containing_repository (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::Contained::Description * POA_IR::HomeDef_tie<T>::describe (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::move (
+ IR::Container_ptr new_container,
+ const char * new_name,
+ const char * new_version,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+ new_container,
+ new_name,
+ new_version,
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::HomeDef_tie<T>::type (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+IR::DefinitionKind POA_IR::HomeDef_tie<T>::def_kind (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_TRY_ENV
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::destroy (
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_TRY_ENV
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
diff --git a/TAO/orbsvcs/IFR_Service/Makefile b/TAO/orbsvcs/IFR_Service/Makefile
new file mode 100644
index 00000000000..123873c27f3
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Makefile
@@ -0,0 +1,152 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+LDLIBS = -lTAO_Svc_Utils -lTAO
+
+PROG_SRCS = \
+ AliasDef_i.cpp \
+ ArrayDef_i.cpp \
+ AttributeDef_i.cpp \
+ ComponentDef_i.cpp \
+ ComponentRepository_i.cpp \
+ ConstantDef_i.cpp \
+ ConsumesDef_i.cpp \
+ Contained_i.cpp \
+ Container_i.cpp \
+ EmitsDef_i.cpp \
+ EnumDef_i.cpp \
+ EventDef_i.cpp \
+ ExceptionDef_i.cpp \
+ FactoryDef_i.cpp \
+ FinderDef_i.cpp \
+ FixedDef_i.cpp \
+ HomeDef_i.cpp \
+ IDLType_i.cpp \
+ IFR_Server.cpp \
+ IFR_Service.cpp \
+ InterfaceDef_i.cpp \
+ InterfaceS.cpp \
+ IRObject_i.cpp \
+ ModuleDef_i.cpp \
+ NativeDef_i.cpp \
+ OperationDef_i.cpp \
+ Options.cpp \
+ PrimaryKeyDef_i.cpp \
+ PrimitiveDef_i.cpp \
+ ProvidesDef_i.cpp \
+ PublishesDef_i.cpp \
+ Repository_i.cpp \
+ SequenceDef_i.cpp \
+ Servant_Factory.cpp \
+ Servant_Locator.cpp \
+ StringDef_i.cpp \
+ StructDef_i.cpp \
+ tmplinst.cpp \
+ TypedefDef_i.cpp \
+ UnionDef_i.cpp \
+ UsesDef_i.cpp \
+ ValueBoxDef_i.cpp \
+ ValueDef_i.cpp \
+ ValueMemberDef_i.cpp \
+ WstringDef_i.cpp
+
+SRC = $(PROG_SRCS)
+
+IFR_SVR_OBJS = \
+ AliasDef_i.o \
+ ArrayDef_i.o \
+ AttributeDef_i.o \
+ ComponentDef_i.o \
+ ComponentRepository_i.o \
+ ConstantDef_i.o \
+ ConsumesDef_i.o \
+ Contained_i.o \
+ Container_i.o \
+ EmitsDef_i.o \
+ EnumDef_i.o \
+ EventDef_i.o \
+ ExceptionDef_i.o \
+ FactoryDef_i.o \
+ FinderDef_i.o \
+ FixedDef_i.o \
+ HomeDef_i.o \
+ IDLType_i.o \
+ IFR_Server.o \
+ IFR_Service.o \
+ InterfaceDef_i.o \
+ InterfaceS.o \
+ IRObject_i.o \
+ ModuleDef_i.o \
+ NativeDef_i.o \
+ OperationDef_i.o \
+ Options.o \
+ PrimaryKeyDef_i.o \
+ PrimitiveDef_i.o \
+ ProvidesDef_i.o \
+ PublishesDef_i.o \
+ Repository_i.o \
+ SequenceDef_i.o \
+ Servant_Factory.o \
+ Servant_Locator.o \
+ StringDef_i.o \
+ StructDef_i.o \
+ tmplinst.o \
+ TypedefDef_i.o \
+ UnionDef_i.o \
+ UsesDef_i.o \
+ ValueBoxDef_i.o \
+ ValueDef_i.o \
+ ValueMemberDef_i.o \
+ WstringDef_i.o
+
+BIN_UNCHECKED = IFR_Service
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+
+ifeq ($(interface_repo),1)
+ BIN = $(BIN_UNCHECKED)
+endif # interface_repo
+
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+include $(TAO_ROOT)/taoconfig.mk
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+
+LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs
+
+IFR_Service: $(addprefix $(VDIR),$(IFR_SVR_OBJS))
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+realclean: clean
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp b/TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp
new file mode 100644
index 00000000000..2cd01c8e947
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp
@@ -0,0 +1,79 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ModuleDef_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, ModuleDef_i, "$Id$")
+
+TAO_ModuleDef_i::TAO_ModuleDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ModuleDef_i::~TAO_ModuleDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ModuleDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Module;
+}
+
+void
+TAO_ModuleDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+IR::Contained::Description *
+TAO_ModuleDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::ModuleDescription md;
+
+ md.name = this->name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ md.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ md.defined_in = container_id.c_str ();
+
+ md.version = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= md;
+
+ return retval._retn ();
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ModuleDef_i.h b/TAO/orbsvcs/IFR_Service/ModuleDef_i.h
new file mode 100644
index 00000000000..8cfd48bd9e2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ModuleDef_i.h
@@ -0,0 +1,80 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ModuleDef_i.h
+//
+// = DESCRIPTION
+// IR::ModuleDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_MODULEDEF_I_H
+#define TAO_MODULEDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ModuleDef_i : public virtual TAO_Container_i,
+ public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ModuleDef_i
+ //
+ // = DESCRIPTION
+ // Represents a module definition.
+ //
+public:
+ TAO_ModuleDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ModuleDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_MODULEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/NativeDef_i.cpp b/TAO/orbsvcs/IFR_Service/NativeDef_i.cpp
new file mode 100644
index 00000000000..43a48fd1806
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/NativeDef_i.cpp
@@ -0,0 +1,47 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "NativeDef_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, NativeDef_i, "$Id$")
+
+TAO_NativeDef_i::TAO_NativeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_NativeDef_i::~TAO_NativeDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_NativeDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Native;
+}
+
+CORBA::TypeCode_ptr
+TAO_NativeDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ return this->repo_->tc_factory ()->create_native_tc (id.c_str (),
+ name.c_str (),
+ ACE_TRY_ENV);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/NativeDef_i.h b/TAO/orbsvcs/IFR_Service/NativeDef_i.h
new file mode 100644
index 00000000000..75f1eacc62e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/NativeDef_i.h
@@ -0,0 +1,73 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// NativeDef_i.h
+//
+// = DESCRIPTION
+// IR::NativeDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_NATIVEDEF_I_H
+#define TAO_NATIVEDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_NativeDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_NativeDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL native definition.
+ //
+public:
+ TAO_NativeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_NativeDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_NATIVEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp b/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp
new file mode 100644
index 00000000000..f6fdaae850e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp
@@ -0,0 +1,664 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "OperationDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "ExceptionDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, OperationDef_i, "$Id$")
+
+TAO_OperationDef_i::TAO_OperationDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_OperationDef_i::~TAO_OperationDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_OperationDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Operation;
+}
+
+IR::Contained::Description *
+TAO_OperationDef_i::describe (CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= this->make_description (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_OperationDef_i::result (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString result_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "result",
+ result_path);
+
+ ACE_Configuration_Section_Key result_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ result_path,
+ result_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (result_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_OperationDef_i::result_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString result_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "result",
+ result_path);
+
+ ACE_Configuration_Section_Key result_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ result_path,
+ result_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (result_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ result_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_OperationDef_i::result_def (IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (result_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var result_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "result",
+ result_path.in ());
+}
+
+IR::ParDescriptionSeq *
+TAO_OperationDef_i::params (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong i = 0;
+ ACE_Configuration_Section_Key params_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "params",
+ 0,
+ params_key);
+
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (params_key,
+ "count",
+ count);
+
+ for (i = 0; i < count; ++i)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+ ACE_Configuration_Section_Key param_key;
+ status =
+ this->repo_->config ()->open_section (params_key,
+ section_name.in (),
+ 0,
+ param_key);
+
+ if (status == 0)
+ key_queue.enqueue_tail (param_key);
+ }
+ }
+
+ size_t size = key_queue.size ();
+
+ IR::ParDescriptionSeq *pd_seq = 0;
+ ACE_NEW_THROW_EX (pd_seq,
+ IR::ParDescriptionSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ pd_seq->length (size);
+
+ if (size == 0)
+ return pd_seq;
+
+ IR::ParDescriptionSeq_var retval = pd_seq;
+
+ for (i = 0; i < size; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ IR::ParameterDescription pd;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (key,
+ "name",
+ name);
+
+ pd.name = name.c_str ();
+
+ u_int mode = 0;
+ this->repo_->config ()->get_integer_value (key,
+ "mode",
+ mode);
+
+ pd.mode = ACE_static_cast (IR::ParameterMode, mode);
+
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (key,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (type_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ pd.type = impl->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (type_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ type_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ pd.type_def = IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = pd;
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_OperationDef_i::params (const IR::ParDescriptionSeq &params,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "params",
+ 1);
+
+ CORBA::ULong length = params.length ();
+
+ if (length == 0)
+ return;
+
+ ACE_Configuration_Section_Key params_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "params",
+ 1,
+ params_key);
+
+ this->repo_->config ()->set_integer_value (params_key,
+ "count",
+ length);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ ACE_Configuration_Section_Key param_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->open_section (params_key,
+ section_name.in (),
+ 1,
+ param_key);
+
+ const char *name = params[i].name;
+ this->repo_->config ()->set_string_value (param_key,
+ "name",
+ name);
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (params[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (param_key,
+ "type_path",
+ type_path.in ());
+
+ this->repo_->config ()->set_integer_value (param_key,
+ "mode",
+ params[i].mode);
+ }
+}
+
+IR::OperationMode
+TAO_OperationDef_i::mode (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int mode;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "mode",
+ mode);
+
+ return ACE_static_cast (IR::OperationMode, mode);
+}
+
+void
+TAO_OperationDef_i::mode (IR::OperationMode mode,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "mode",
+ mode);
+}
+
+IR::ContextIdSeq *
+TAO_OperationDef_i::contexts (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key contexts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "contexts",
+ 0,
+ contexts_key);
+
+ int index = 0;
+ ACE_Unbounded_Queue<ACE_TString> context_queue;
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ int index = 0;
+ CORBA::String_var field_name = this->int_to_string (index);
+ ACE_TString context;
+
+ // Don't have to worry about gaps here - contexts are not
+ // IR objects so they can't be destroyed one at a time. To
+ // make a change one has to call the mutator version of this
+ // function and make a completely new list.
+ while (this->repo_->config ()->get_string_value (contexts_key,
+ field_name.in (),
+ context)
+ == 0)
+ {
+ context_queue.enqueue_tail (context);
+ field_name = this->int_to_string (++index);
+ }
+ }
+
+ size_t size = context_queue.size ();
+
+ IR::ContextIdSeq *ci_seq = 0;
+ ACE_NEW_THROW_EX (ci_seq,
+ IR::ContextIdSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ ci_seq->length (size);
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ ACE_TString context_string;
+ context_queue.dequeue_head (context_string);
+
+ (*ci_seq)[i] = context_string.c_str ();
+ }
+
+ return ci_seq;
+}
+
+void
+TAO_OperationDef_i::contexts (const IR::ContextIdSeq &contexts,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "contexts",
+ 0);
+
+ CORBA::ULong length = contexts.length ();
+
+ if (length == 0)
+ return;
+
+ ACE_Configuration_Section_Key contexts_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "contexts",
+ 1,
+ contexts_key);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ const char *context = contexts[i];
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (contexts_key,
+ section_name.in (),
+ context);
+ }
+}
+
+IR::ExceptionDefSeq *
+TAO_OperationDef_i::exceptions (CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "excepts",
+ 0,
+ excepts_key);
+
+ int index = 0;
+ ACE_Unbounded_Queue<IR::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ ACE_TString field_name;
+ ACE_Configuration::VALUETYPE type;
+
+ while (this->repo_->config ()->enumerate_values (excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (excepts_key,
+ field_name.c_str (),
+ type_path);
+
+ path_queue.enqueue_tail (type_path);
+
+ ACE_Configuration_Section_Key except_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ except_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (except_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ ++index;
+ }
+ }
+
+ IR::ExceptionDefSeq *ed_seq = 0;
+ ACE_NEW_THROW_EX (ed_seq,
+ IR::ExceptionDefSeq (index),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ ed_seq->length (index);
+
+ if (index == 0)
+ return ed_seq;
+
+ IR::ExceptionDefSeq_var retval = ed_seq;
+
+ for (CORBA::ULong i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ IR::DefinitionKind def_kind;
+ kind_queue.dequeue_head (def_kind);
+
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = IR::ExceptionDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_OperationDef_i::exceptions (const IR::ExceptionDefSeq &exceptions,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "excepts",
+ 0);
+
+ CORBA::ULong length = exceptions.length ();
+
+ if (length == 0)
+ return;
+
+ ACE_Configuration_Section_Key excepts_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "excepts",
+ 1,
+ excepts_key);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (exceptions[i],
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (excepts_key,
+ section_name.in (),
+ type_path.in ());
+ }
+
+}
+
+IR::OperationDescription
+TAO_OperationDef_i::make_description (
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::OperationDescription od;
+
+ od.name = this->name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ od.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ od.defined_in = container_id.c_str ();
+
+ od.version = this->version (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ od.result = this->result (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ od.mode = this->mode (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::ContextIdSeq_var cid_seq = this->contexts (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ od.contexts = cid_seq.in ();
+
+ IR::ParDescriptionSeq_var pd_seq = this->params (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ od.parameters = pd_seq.in ();
+
+ ACE_Configuration_Section_Key excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "excepts",
+ 0,
+ excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ int index = 0;
+ ACE_TString field_name;
+ ACE_Configuration::VALUETYPE type;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ while (this->repo_->config ()->enumerate_values (excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (excepts_key,
+ field_name.c_str (),
+ type_path);
+
+ path_queue.enqueue_tail (type_path);
+ ++index;
+ }
+
+ od.exceptions.length (index);
+
+ for (CORBA::ULong i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_TString type_path;
+ path_queue.dequeue_head (type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (type_key,
+ "name",
+ name);
+
+ od.exceptions[i].name = name.c_str ();
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (type_key,
+ "id",
+ id);
+
+ od.exceptions[i].id = id.c_str ();
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (type_key,
+ "container_id",
+ container_id);
+
+ od.exceptions[i].defined_in = container_id.c_str ();
+
+ ACE_TString version;
+ this->repo_->config ()->get_string_value (type_key,
+ "version",
+ version);
+
+ od.exceptions[i].version = version.c_str ();
+
+ TAO_ExceptionDef_i impl (this->repo_,
+ type_key);
+
+ od.exceptions[i].type = impl.type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+ }
+ else
+ {
+ od.exceptions.length (0);
+ }
+
+ return od;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/OperationDef_i.h b/TAO/orbsvcs/IFR_Service/OperationDef_i.h
new file mode 100644
index 00000000000..e3323778a33
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/OperationDef_i.h
@@ -0,0 +1,154 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// OperationDef_i.h
+//
+// = DESCRIPTION
+// IR::OperationDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_OPERATIONDEF_I_H
+#define TAO_OPERATIONDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_OperationDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_OperationDef_i
+ //
+ // = DESCRIPTION
+ // Represents the information needed to describe an operation
+ // of an interface.
+ //
+public:
+ TAO_OperationDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_OperationDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void result_def (
+ IR::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ParDescriptionSeq *params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void params (
+ const IR::ParDescriptionSeq &params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void mode (
+ IR::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ContextIdSeq *contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void contexts (
+ const IR::ContextIdSeq &contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ExceptionDefSeq *exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void exceptions (
+ const IR::ExceptionDefSeq &exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::OperationDescription make_description (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Common code for InterfaceDef to call in
+ // making its own description.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_OPERATIONDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Options.cpp b/TAO/orbsvcs/IFR_Service/Options.cpp
new file mode 100644
index 00000000000..64c5aac7ce1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Options.cpp
@@ -0,0 +1,109 @@
+// $Id$
+
+#include "Options.h"
+#include "ace/Get_Opt.h"
+
+// Default Constructor
+Options::Options ()
+ : ior_output_file_ ("if_repo.ior"),
+ persistent_ (0),
+ persistent_file_ ("ifr_default_backing_store"),
+ using_registry_ (0)
+{
+}
+
+Options::~Options ()
+{
+}
+
+int
+Options::parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:pb:r");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o': // Set the IOR output filename.
+ this->ior_output_file_ = get_opts.optarg;
+ break;
+ case 'p': // Make the IFR persistent
+ this->persistent_ = 1;
+ this->using_registry_ = 0;
+ break;
+ case 'b':
+ this->persistent_file_ = get_opts.optarg;
+ break;
+ case 'r': // win32 registry implementation
+#if defined (ACE_WIN32)
+ if (this->persistent_ == 0)
+ this->using_registry_ = 1;
+#else /* ACE_WIN32 */
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("parse_args: not a win32 platform\n"),
+ ),
+ 1
+ );
+#endif /* ACE_WIN32 */
+ break;
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Usage: %s"
+ " [-o] <ior_output_file>"
+ " [-r]"
+ " [-p]"
+ " [-b] <persistence_file>"
+ "\n",
+ argv [0]),
+ 1);
+ }
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+const char *
+Options::ior_output_file (void) const
+{
+ return this->ior_output_file_;
+}
+
+int
+Options::persistent (void) const
+{
+ return this->persistent_;
+}
+
+const char *
+Options::persistent_file (void) const
+{
+ return this->persistent_file_;
+}
+
+int
+Options::using_registry (void) const
+{
+ return this->using_registry_;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Options, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Options, ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Options.h b/TAO/orbsvcs/IFR_Service/Options.h
new file mode 100644
index 00000000000..8f1723f32e9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Options.h
@@ -0,0 +1,75 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Options.h
+//
+// = DESCRIPTION
+// This class implements the Options container for the Interface
+// Repository.
+//
+// = AUTHOR
+// Jeff Parsons
+//
+// ============================================================================
+
+#ifndef OPTIONS_H
+#define OPTIONS_H
+
+#include "ace/Singleton.h"
+
+class Options
+{
+ // = TITLE
+ // Maintains the global options.
+ //
+ // = DESCRIPTION
+ // This class is converted into a Singleton by the
+ // <ACE_Singleton> template.
+public:
+ Options ();
+ // Default Constructor
+
+ ~Options();
+ // dtor
+
+ int parse_args (int argc,
+ ACE_TCHAR *argv[]);
+ // Parse the command-line arguments and initialize the options.
+
+ const char *ior_output_file (void) const;
+ // Return the file where the IOR of the server object is stored.
+
+ int persistent (void) const;
+ // Is the Interface Repository persistent?
+
+ const char *persistent_file (void) const;
+ // Return the default filename for persistent IFR.
+
+ int using_registry (void) const;
+ // Are we using a WIN32 registry as the backing store?
+
+private:
+ char *ior_output_file_;
+ // File where the IOR of the server object is stored.
+
+ int persistent_;
+ // Is the Interface Repository persistent?
+
+ char *persistent_file_;
+ // Default filename for persistent IFR.
+
+ int using_registry_;
+ // Are we using a WIN32 registry as the backing store?
+};
+
+// Typedef an Options Singleton.
+typedef ACE_Singleton <Options, ACE_Null_Mutex> OPTIONS;
+
+#endif /* OPTIONS_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp
new file mode 100644
index 00000000000..2fabf6c97d4
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "PrimaryKeyDef_i.h"
+
+ACE_RCSID(IFR_Service, PrimaryKeyDef_i, "$Id$")
+
+TAO_PrimaryKeyDef_i::TAO_PrimaryKeyDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_PrimaryKeyDef_i::~TAO_PrimaryKeyDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_PrimaryKeyDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_PrimaryKey;
+}
+
+void
+TAO_PrimaryKeyDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_PrimaryKeyDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_PrimaryKeyDef_i::is_a (const char *primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ValueDef_ptr
+TAO_PrimaryKeyDef_i::primary_key (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h
new file mode 100644
index 00000000000..a458f178d30
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h
@@ -0,0 +1,94 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// PrimaryKeyDef_i.h
+//
+// = DESCRIPTION
+// IR::PrimaryKeyDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PRIMARYKEYDEF_I_H
+#define TAO_PRIMARYKEYDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PrimaryKeyDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_PrimaryKeyDef_i
+ //
+ // = DESCRIPTION
+ // Represents a primary key definition. It refers to a ValueDef
+ // object which contains the actual information about the
+ // primary key.
+ //
+public:
+ TAO_PrimaryKeyDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_PrimaryKeyDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::Boolean is_a (
+ const char *primary_key_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueDef_ptr primary_key (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PRIMARYKEYDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp
new file mode 100644
index 00000000000..bee3a1ea0b1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp
@@ -0,0 +1,107 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "PrimitiveDef_i.h"
+
+ACE_RCSID(IFR_Service, PrimitiveDef_i, "$Id$")
+
+TAO_PrimitiveDef_i::TAO_PrimitiveDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_PrimitiveDef_i::~TAO_PrimitiveDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_PrimitiveDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Primitive;
+}
+
+void
+TAO_PrimitiveDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW (CORBA::BAD_INV_ORDER (2, CORBA::COMPLETED_NO));
+}
+
+CORBA::TypeCode_ptr
+TAO_PrimitiveDef_i::type (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int pkind = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "pkind",
+ pkind);
+
+ switch (ACE_static_cast (IR::PrimitiveKind, pkind))
+ {
+ case IR::pk_null:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_null);
+ case IR::pk_void:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_void);
+ case IR::pk_short:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_short);
+ case IR::pk_long:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_long);
+ case IR::pk_ushort:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_ushort);
+ case IR::pk_ulong:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_ulong);
+ case IR::pk_float:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_float);
+ case IR::pk_double:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_double);
+ case IR::pk_boolean:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_boolean);
+ case IR::pk_char:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_char);
+ case IR::pk_octet:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_octet);
+ case IR::pk_any:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_any);
+ case IR::pk_TypeCode:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_TypeCode);
+ case IR::pk_Principal:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_Principal);
+ case IR::pk_string:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_string);
+ case IR::pk_objref:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_Object);
+ case IR::pk_longlong:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_longlong);
+ case IR::pk_ulonglong:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_ulonglong);
+ case IR::pk_longdouble:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_longdouble);
+ case IR::pk_wchar:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_wchar);
+ case IR::pk_wstring:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_wstring);
+ case IR::pk_value_base:
+ // TODO - we haven't added this typecode constant yet.
+ default:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_null);
+ }
+}
+
+IR::PrimitiveKind
+TAO_PrimitiveDef_i::kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int pkind = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "pkind",
+ pkind);
+
+ return ACE_static_cast (IR::PrimitiveKind, pkind);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h
new file mode 100644
index 00000000000..06390305179
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h
@@ -0,0 +1,84 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// PrimitiveDef_i.h
+//
+// = DESCRIPTION
+// IR::PrimitiveDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PRIMITIVEDEF_I_H
+#define TAO_PRIMITIVEDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PrimitiveDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_PrimitiveDef_i
+ //
+ // = DESCRIPTION
+ // Represents any of the OMG IDL primitive types
+ //
+public:
+ TAO_PrimitiveDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_PrimitiveDef_i (void);
+ // Destructor.
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // May not be called on a primitive kind - raises BAD_INV_ORDER.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PrimitiveKind kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PRIMITIVEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp
new file mode 100644
index 00000000000..44a33100603
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp
@@ -0,0 +1,51 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ProvidesDef_i.h"
+
+ACE_RCSID(IFR_Service, ProvidesDef_i, "$Id$")
+
+TAO_ProvidesDef_i::TAO_ProvidesDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ProvidesDef_i::~TAO_ProvidesDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ProvidesDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Provides;
+}
+
+void
+TAO_ProvidesDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_ProvidesDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::InterfaceDef_ptr
+TAO_ProvidesDef_i::interface_type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ProvidesDef_i.h b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.h
new file mode 100644
index 00000000000..9f659dbfb93
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.h
@@ -0,0 +1,85 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ProvidesDef_i.h
+//
+// = DESCRIPTION
+// IR::ProvidesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PROVIDESDEF_I_H
+#define TAO_PROVIDESDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ProvidesDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ProvidesDef_i
+ //
+ // = DESCRIPTION
+ // Represents an interface that is provided by a component.
+ //
+public:
+ TAO_ProvidesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ProvidesDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PROVIDESDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp b/TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp
new file mode 100644
index 00000000000..082cb063159
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp
@@ -0,0 +1,44 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "PublishesDef_i.h"
+
+ACE_RCSID(IFR_Service, PublishesDef_i, "$Id$")
+
+TAO_PublishesDef_i::TAO_PublishesDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_EventDef_i (repo, section_key)
+{
+}
+
+TAO_PublishesDef_i::~TAO_PublishesDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_PublishesDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Publishes;
+}
+
+void
+TAO_PublishesDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_PublishesDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/PublishesDef_i.h b/TAO/orbsvcs/IFR_Service/PublishesDef_i.h
new file mode 100644
index 00000000000..a281ebced9b
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PublishesDef_i.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// PublishesDef_i.h
+//
+// = DESCRIPTION
+// IR::PublishesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PUBLISHESDEF_I_H
+#define TAO_PUBLISHESDEF_I_H
+
+#include "EventDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PublishesDef_i : public virtual TAO_EventDef_i
+{
+ // = TITLE
+ // TAO_PublishesDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of an event that is published
+ // by a component.
+ //
+public:
+ TAO_PublishesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_PublishesDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PUBLISHESDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/README b/TAO/orbsvcs/IFR_Service/README
new file mode 100644
index 00000000000..3d036c461f2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/README
@@ -0,0 +1,50 @@
+$Id$
+
+
+TypeCodeFactory
+
+The TypeCodeFactory is built as a DLL and is loaded
+into the ORB dynamically. Applications can get the
+object reference with
+'orb->resolve_initial_references ("TypeCodeFactory");'
+
+The makefile for this library is Makefile.TypeCodeFactory,
+and for the build to succeed, the TAO library must be built
+with either the compiler option 'interface_repo=1' or (for
+MSVC users) the line #define TAO_HAS_INTERFACE_REPOSITORY 1
+uncommented in TAO/tao/orbconf.h.
+
+
+Interface Repository
+
+Requires TAO library built with the same condition as
+given above for TypeCodeFactory. Also requires TypeCodeFactory
+(this directory) and TAO_Svc_Utils (found in TAO/orbsvcs/orbsvcs)
+libraries. Executable name is IFR_Service.
+
+Command line options are:
+
+ -p Makes the Interface Repository persistent.
+
+ -b <filename> Overrides the default filename used for
+ persistent storage. The default filename
+ is "ifr_default_backing_store".
+
+ -r Uses win32 registry for the database. Not
+ available with persistence. If -p is on
+ the command line, this option is ignored.
+ If the platform is not win32, an error
+ message is output.
+
+ -o <filename> Overrides the default filename used for
+ outputting the Interface Repository IOR.
+ The default filename is "if_repo.ior".
+
+Test code for the Interface Repository can be found in
+TAO/orbsvcs/tests/InterfaceRepo.
+
+More information about the Interface Repository can be found in
+TAO/docs/releasenotes/index.html.
+
+
+- Jeff Parsons <parsons@cs.wustl.edu>
diff --git a/TAO/orbsvcs/IFR_Service/Repository_i.cpp b/TAO/orbsvcs/IFR_Service/Repository_i.cpp
new file mode 100644
index 00000000000..427914cad79
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Repository_i.cpp
@@ -0,0 +1,751 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "ExceptionDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Repository_i, "$Id$")
+
+TAO_Repository_i::TAO_Repository_i (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config)
+ : TAO_IRObject_i (0, ACE_Configuration_Section_Key ()),
+ TAO_Container_i (0, ACE_Configuration_Section_Key ()),
+ orb_ (orb),
+ ir_poa_ (poa),
+ config_ (config),
+ servant_factory_ (0),
+ extension_ (CORBA::string_dup ("TAO_IFR_name_extension"))
+{
+ ACE_TRY_NEW_ENV
+ {
+ ACE_NEW_THROW_EX (this->servant_factory_,
+ IFR_Servant_Factory (this),
+ CORBA::NO_MEMORY ());
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var object =
+ this->orb_->resolve_initial_references ("TypeCodeFactory",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (!CORBA::is_nil (object.in ()))
+ {
+ this->tc_factory_ =
+ CORBA::TypeCodeFactory::_narrow (object.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (this->tc_factory_.in ()))
+ ACE_ERROR ((
+ LM_ERROR,
+ ACE_TEXT ("Repository: TypeCodeFactory narrow failed\n")
+ ));
+ }
+ else
+ {
+ ACE_ERROR ((
+ LM_ERROR,
+ ACE_TEXT ("Repository: TypeCodeFactory resolve failed\n")
+ ));
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ ACE_TEXT ("Repository: Initialization failed\n")
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+
+ this->config_->open_section (config_->root_section (),
+ "root",
+ 1, // Will create if IFR is not persistent.
+ this->root_key_);
+
+ this->config_->open_section (this->root_key_,
+ "defns",
+ 1, // Will create if IFR is not persistent.
+ this->named_objs_key_);
+
+ this->config_->open_section (this->root_key_,
+ "repo_ids",
+ 1, // Will create if IFR is not persistent.
+ this->repo_ids_key_);
+
+ int status =
+ this->config_->open_section (this->root_key_,
+ "pkinds",
+ 0, // Don't create
+ this->pkinds_key_);
+
+ if (status != 0)
+ // IFR is non-persistent or is being run for the first time.
+ // Must add entries for primitive kinds.
+ {
+ this->config_->open_section (this->root_key_,
+ "pkinds",
+ 1, // It doesn't exist so create it.
+ this->pkinds_key_);
+
+ u_int num_pkinds = this->num_pkinds ();
+ for (u_int i = 0; i < num_pkinds; i++)
+ {
+ ACE_Configuration_Section_Key key;
+ IR::PrimitiveKind pkind = ACE_static_cast (IR::PrimitiveKind,
+ i);
+
+ this->config_->open_section (this->pkinds_key_,
+ this->pkind_to_string (pkind),
+ 1,
+ key);
+
+ this->config_->set_integer_value (key,
+ "def_kind",
+ IR::dk_Primitive);
+
+ this->config_->set_integer_value (key,
+ "pkind",
+ i);
+
+ }
+ }
+
+ this->config_->open_section (this->root_key_,
+ "strings",
+ 1,
+ this->strings_key_);
+
+ this->config_->open_section (this->root_key_,
+ "wstrings",
+ 1,
+ this->wstrings_key_);
+
+ this->config_->open_section (this->root_key_,
+ "fixeds",
+ 1,
+ this->fixeds_key_);
+
+ this->config_->open_section (this->root_key_,
+ "arrays",
+ 1,
+ this->arrays_key_);
+
+ this->config_->open_section (this->root_key_,
+ "sequences",
+ 1,
+ this->sequences_key_);
+
+ u_int count = 0;
+
+ // If repository is not persistent, we need to set all
+ // the "count" fields to 0. We test just one for existence.
+ status =
+ this->config_->get_integer_value (this->strings_key_,
+ "count",
+ count);
+
+ if (status == -3) // Field "count" does not exist.
+ {
+ this->config_->set_integer_value (this->strings_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->wstrings_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->fixeds_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->arrays_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->sequences_key_,
+ "count",
+ 0);
+ }
+
+ // The following are done because we are also a Container.
+ this->repo_ = this;
+ this->section_key_ = this->root_key_;
+
+ this->config_->set_string_value (this->section_key_,
+ "absolute_name",
+ "");
+
+ this->config_->set_string_value (this->section_key_,
+ "id",
+ ""); // required by spec
+
+ this->config_->set_string_value (this->section_key_,
+ "name",
+ "");
+
+ this->config_->set_integer_value (this->section_key_,
+ "def_kind",
+ IR::dk_Repository);
+}
+
+TAO_Repository_i::~TAO_Repository_i (void)
+{
+ delete this->servant_factory_;
+}
+
+IR::DefinitionKind
+TAO_Repository_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Repository;
+}
+
+void
+TAO_Repository_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW (CORBA::BAD_INV_ORDER (2, CORBA::COMPLETED_NO));
+}
+
+IR::Contained_ptr
+TAO_Repository_i::lookup_id (const char *search_id,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString path;
+ if (this->config_->get_string_value (this->repo_ids_key_,
+ search_id,
+ path)
+ == 0)
+ {
+ return IR::Contained::_nil ();
+ }
+
+ ACE_Configuration_Section_Key key;
+ this->config_->expand_path (this->root_key_,
+ path,
+ key);
+
+ u_int kind = 0;
+ this->config_->get_integer_value (key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind = ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (def_kind,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::Contained::_nil ());
+
+ return IR::Contained::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+CORBA::TypeCode_ptr
+TAO_Repository_i::get_canonical_typecode (CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TCKind kind = tc->kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ switch (kind)
+ {
+ // For all the TCKinds not covered below, no change is needed.
+ default:
+ return CORBA::TypeCode::_duplicate (tc);
+ case CORBA::tk_fixed:
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::TypeCode::_nil ());
+ case CORBA::tk_array:
+ {
+ CORBA::ULong length = tc->length (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var ctype = tc->content_type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var canon_ctype =
+ this->get_canonical_typecode (ctype.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->tc_factory ()->create_array_tc (length,
+ canon_ctype.in (),
+ ACE_TRY_ENV);
+ }
+ case CORBA::tk_sequence:
+ {
+ CORBA::ULong length = tc->length (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var ctype = tc->content_type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var canon_ctype =
+ this->get_canonical_typecode (ctype.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->tc_factory ()->create_sequence_tc (length,
+ canon_ctype.in (),
+ ACE_TRY_ENV);
+ }
+ case CORBA::tk_alias:
+ case CORBA::tk_objref:
+ case CORBA::tk_struct:
+ case CORBA::tk_union:
+ case CORBA::tk_enum:
+ case CORBA::tk_except:
+ case CORBA::tk_value:
+ case CORBA::tk_value_box:
+ case CORBA::tk_native:
+ case CORBA::tk_abstract_interface:
+ case CORBA::tk_component:
+ case CORBA::tk_home:
+ {
+ CORBA::String_var id = tc->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ ACE_TString path;
+ int status =
+ this->config ()->get_string_value (this->repo_ids_key (),
+ id.in (),
+ path);
+
+ // TODO - something in case the repo id is an empty string,
+ // or if it is not found in this repository
+ if (status != 0)
+ return CORBA::TypeCode::_nil ();
+
+ ACE_Configuration_Section_Key key;
+ this->config ()->expand_path (this->root_key (),
+ path,
+ key,
+ 0);
+
+ // An ExceptionDef is not an IDLType.
+ if (kind == CORBA::tk_except)
+ {
+ TAO_ExceptionDef_i impl (this,
+ key);
+
+ return impl.type (ACE_TRY_ENV);
+ }
+ else
+ {
+ TAO_IDLType_i *impl =
+ this->servant_factory ()->create_idltype (key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+ }
+ }
+ }
+
+ return 0;
+}
+
+IR::PrimitiveDef_ptr
+TAO_Repository_i::get_primitive (IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString obj_id ("pkinds\\");
+
+ obj_id += this->pkind_to_string (kind);
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (IR::dk_Primitive,
+ obj_id.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::PrimitiveDef::_nil ());
+
+ return IR::PrimitiveDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::StringDef_ptr
+TAO_Repository_i::create_string (CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int count = 0;
+ this->config_->get_integer_value (this->strings_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->strings_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->strings_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ this->config_->set_integer_value (new_key,
+ "bound",
+ bound);
+
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ IR::dk_String);
+
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("strings\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (IR::dk_String,
+ obj_id.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StringDef::_nil ());
+
+ return IR::StringDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::WstringDef_ptr
+TAO_Repository_i::create_wstring (CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int count = 0;
+ this->config_->get_integer_value (this->wstrings_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->wstrings_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->wstrings_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ this->config_->set_integer_value (new_key,
+ "bound",
+ bound);
+
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ IR::dk_Wstring);
+
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("wstrings\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (IR::dk_Wstring,
+ obj_id.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::WstringDef::_nil ());
+
+ return IR::WstringDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::SequenceDef_ptr
+TAO_Repository_i::create_sequence (CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->ir_poa_->reference_to_id (element_type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::SequenceDef::_nil ());
+
+ CORBA::String_var element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ u_int count = 0;
+ this->config_->get_integer_value (this->sequences_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->sequences_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->sequences_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ // Set the bound attribute.
+ this->config_->set_integer_value (new_key,
+ "bound",
+ bound);
+
+ // Set the def_kind attribute.
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ IR::dk_Sequence);
+
+ // Set the "name" for destroy to use.
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // To get key to element type.
+ this->config_->set_string_value (new_key,
+ "element_path",
+ element_path.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("sequences\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (IR::dk_Sequence,
+ obj_id.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::SequenceDef::_nil ());
+
+ return IR::SequenceDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::ArrayDef_ptr
+TAO_Repository_i::create_array (CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->ir_poa_->reference_to_id (element_type,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ArrayDef::_nil ());
+
+ CORBA::String_var element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ u_int count = 0;
+ this->config_->get_integer_value (this->arrays_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->arrays_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->arrays_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ // Set the length attribute.
+ this->config_->set_integer_value (new_key,
+ "length",
+ length);
+
+ // Set the def_kind attribute.
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ IR::dk_Array);
+
+ // Set the "name" for destroy to use.
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // To get key to element type.
+ this->config_->set_string_value (new_key,
+ "element_path",
+ element_path.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("arrays\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (IR::dk_Array,
+ obj_id.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::ArrayDef::_nil ());
+
+ return IR::ArrayDef::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+IR::FixedDef_ptr
+TAO_Repository_i::create_fixed (CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), IR::FixedDef::_nil ());
+}
+
+PortableServer::POA_ptr
+TAO_Repository_i::ir_poa (void) const
+{
+ return this->ir_poa_;
+}
+
+ACE_Configuration *
+TAO_Repository_i::config (void) const
+{
+ return this->config_;
+}
+
+IFR_Servant_Factory *
+TAO_Repository_i::servant_factory (void) const
+{
+ return this->servant_factory_;
+}
+
+CORBA::TypeCodeFactory_ptr
+TAO_Repository_i::tc_factory (void) const
+{
+ return this->tc_factory_.in ();
+}
+
+IR::Repository_ptr
+TAO_Repository_i::repo_objref (void) const
+{
+ return IR::Repository::_duplicate (this->repo_objref_);
+}
+
+void
+TAO_Repository_i::repo_objref (IR::Repository_ptr objref)
+{
+ this->repo_objref_ = objref;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::root_key (void) const
+{
+ return this->root_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::named_objs_key (void) const
+{
+ return this->named_objs_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::repo_ids_key (void) const
+{
+ return this->repo_ids_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::pkinds_key (void) const
+{
+ return this->pkinds_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::strings_key (void) const
+{
+ return this->strings_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::wstrings_key (void) const
+{
+ return this->wstrings_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::fixeds_key (void) const
+{
+ return this->fixeds_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::arrays_key (void) const
+{
+ return this->arrays_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::sequences_key (void) const
+{
+ return this->sequences_key_;
+}
+
+const char *
+TAO_Repository_i::extension (void)
+{
+ return this->extension_.in ();
+}
+
+const char *TAO_Repository_i::TAO_IFR_primitive_kinds[] =
+ {
+ "pk_null",
+ "pk_void",
+ "pk_short",
+ "pk_long",
+ "pk_ushort",
+ "pk_ulong",
+ "pk_float",
+ "pk_double",
+ "pk_boolean",
+ "pk_char",
+ "pk_octet",
+ "pk_any",
+ "pk_TypeCode",
+ "pk_Principal",
+ "pk_string",
+ "pk_objref",
+ "pk_longlong",
+ "pk_ulonglong",
+ "pk_longdouble",
+ "pk_wchar",
+ "pk_wstring",
+ "pk_value_base"
+ };
+
+const char *
+TAO_Repository_i::pkind_to_string (IR::PrimitiveKind pkind) const
+{
+ return TAO_Repository_i::TAO_IFR_primitive_kinds[pkind];
+}
+
+u_int
+TAO_Repository_i::num_pkinds (void) const
+{
+ return sizeof (TAO_Repository_i::TAO_IFR_primitive_kinds) / sizeof (char*);
+}
+
+void
+TAO_Repository_i::shutdown (void)
+{
+ this->orb_->shutdown (0);
+}
diff --git a/TAO/orbsvcs/IFR_Service/Repository_i.h b/TAO/orbsvcs/IFR_Service/Repository_i.h
new file mode 100644
index 00000000000..cd25492f832
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Repository_i.h
@@ -0,0 +1,247 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Repository_i.h
+//
+// = DESCRIPTION
+// IR::Repository servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef REPOSITORY_I_H
+#define REPOSITORY_I_H
+
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class IFR_Servant_Factory;
+
+class TAO_Repository_i : public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_Repository_i
+ //
+ // = DESCRIPTION
+ // Provides global access to the Interface Repository, but
+ // does not support access to information related to
+ // CORBA Components.
+ //
+public:
+ TAO_Repository_i (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config);
+ // Constructor.
+
+ virtual ~TAO_Repository_i (void);
+ // Destructor.
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Accessor for the readonly attribute.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // May not be called on a repository - raises BAD_INV_ORDER.
+
+ virtual IR::Contained_ptr lookup_id (
+ const char *search_id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PrimitiveDef_ptr get_primitive (
+ IR::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC (( CORBA::SystemException));
+
+ virtual IR::StringDef_ptr create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::WstringDef_ptr create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC (( CORBA::SystemException));
+
+ virtual IR::ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ IR::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ PortableServer::POA_ptr ir_poa (void) const;
+ // Accessor for the POA that creates the servants.
+
+ ACE_Configuration *config (void) const;
+ // Accessor for the ACE_Configuration database.
+
+ IFR_Servant_Factory *servant_factory (void) const;
+ // Accessor for the servant factory.
+
+ CORBA::TypeCodeFactory_ptr tc_factory (void) const;
+ // Accessor for the Typecode factory.
+
+ IR::Repository_ptr repo_objref (void) const;
+ void repo_objref (IR::Repository_ptr objref);
+ // Accessor/mutator for our object reference.
+
+ ACE_Configuration_Section_Key root_key (void) const;
+ // Accessor for the root key for all IR objects.
+
+ ACE_Configuration_Section_Key named_objs_key (void) const;
+ // Accessor for the named IR objects root key.
+
+ ACE_Configuration_Section_Key repo_ids_key (void) const;
+ // Accessor for the repository ids root key.
+
+ ACE_Configuration_Section_Key pkinds_key (void) const;
+ // Accessor for the primitive kinds section.
+
+ ACE_Configuration_Section_Key strings_key (void) const;
+ // Accessor for the bounded strings section.
+
+ ACE_Configuration_Section_Key wstrings_key (void) const;
+ // Accessor for the bounded wstrings section.
+
+ ACE_Configuration_Section_Key fixeds_key (void) const;
+ // Accessor for the fixed types section.
+
+ ACE_Configuration_Section_Key arrays_key (void) const;
+ // Accessor for the anonymous arrays section.
+
+ ACE_Configuration_Section_Key sequences_key (void) const;
+ // Accessor for the anonymous sequences section.
+
+ const char *extension (void);
+ // Accessor for the name extension string.
+
+ void shutdown (void);
+ // Used ONLY with Purify, for memory leak checking.
+ // A call to this can be temporariily appended to the
+ // destroy() method of the last thing to be destroyed
+ // by the test code.
+protected:
+ CORBA::ORB_ptr orb_;
+ // Reference to our ORB.
+
+ PortableServer::POA_ptr ir_poa_;
+ // Reference to the POA that creates the servants.
+
+ ACE_Configuration *config_;
+ // Our ACE_Configuration database.
+
+ IFR_Servant_Factory *servant_factory_;
+ // Creates _i and _tie instances.
+
+ CORBA::TypeCodeFactory_var tc_factory_;
+ // Our Typecode factory.
+
+ IR::Repository_ptr repo_objref_;
+ // The object reference of this servant.
+
+ ACE_Configuration_Section_Key root_key_;
+ // Root of all IR objects.
+
+ ACE_Configuration_Section_Key named_objs_key_;
+ // Root of named IFR objects subtree.
+
+ ACE_Configuration_Section_Key repo_ids_key_;
+ // Flat section of Interface Repository ids.
+
+ ACE_Configuration_Section_Key pkinds_key_;
+ // Section holding the primitive kinds.
+
+ ACE_Configuration_Section_Key strings_key_;
+ // Section holding the bounded strings.
+
+ ACE_Configuration_Section_Key wstrings_key_;
+ // Section holding the bounded wstrings.
+
+ ACE_Configuration_Section_Key fixeds_key_;
+ // Section holding the fixed types.
+
+ ACE_Configuration_Section_Key arrays_key_;
+ // Section holding the anonymous arrays.
+
+ ACE_Configuration_Section_Key sequences_key_;
+ // Section holding the anonymous sequences.
+
+ CORBA::String_var extension_;
+ // Added to names to temporarily avoid name clashes.
+
+private:
+ static const char *TAO_IFR_primitive_kinds[];
+ // Set of strings corresponding to the IR::PrimitiveKind
+ // enum values.
+
+ const char *pkind_to_string (IR::PrimitiveKind pkind) const;
+ // Convert the enum value to the equivalent string.
+
+ u_int num_pkinds (void) const;
+ // Return the number of entries in the IR::PrimitiveKind enum.
+
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_REPOSITORY_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp b/TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp
new file mode 100644
index 00000000000..f79696997e0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp
@@ -0,0 +1,222 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "SequenceDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, SequenceDef_i, "$Id$")
+
+TAO_SequenceDef_i::TAO_SequenceDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_SequenceDef_i::~TAO_SequenceDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_SequenceDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Sequence;
+}
+
+void
+TAO_SequenceDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Only if it is (w)string, fixed, array or sequence.
+ this->destroy_element_type (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->sequences_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_SequenceDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var element_typecode =
+ this->element_type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::ULong bound = this->bound (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_sequence_tc (
+ bound,
+ element_typecode.in (),
+ ACE_TRY_ENV
+ );
+}
+
+CORBA::ULong
+TAO_SequenceDef_i::bound (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int bound = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "bound",
+ bound);
+
+ return ACE_static_cast (CORBA::ULong, bound);
+}
+
+void
+TAO_SequenceDef_i::bound (CORBA::ULong bound,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "bound",
+ bound);
+}
+
+CORBA::TypeCode_ptr
+TAO_SequenceDef_i::element_type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_SequenceDef_i::element_type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ element_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_SequenceDef_i::element_type_def (IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->destroy_element_type (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (element_type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "element_path",
+ element_path.in ());
+}
+
+void
+TAO_SequenceDef_i::destroy_element_type (
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ switch (def_kind)
+ {
+ // These exist only as our elements, so the type should
+ // be destroyed when we are destroyed or our element type
+ // is mutated.
+ case IR::dk_String:
+ case IR::dk_Wstring:
+ case IR::dk_Fixed:
+ case IR::dk_Array:
+ case IR::dk_Sequence:
+ {
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ impl->destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ break;
+ }
+ default:
+ break;
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/SequenceDef_i.h b/TAO/orbsvcs/IFR_Service/SequenceDef_i.h
new file mode 100644
index 00000000000..d86b78f917e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/SequenceDef_i.h
@@ -0,0 +1,119 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// SequenceDef_i.h
+//
+// = DESCRIPTION
+// IR::SequenceDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef SEQUENCEDEF_I_H
+#define SEQUENCEDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_SequenceDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_SequenceDef_i
+ //
+ // = DESCRIPTION
+ // Represents an IDL sequence type.
+ //
+public:
+ TAO_SequenceDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_SequenceDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr element_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void element_type_def (
+ IR::IDLType_ptr element_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ void destroy_element_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Destroys an anonymous non-primitive element type.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_SEQUENCEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Factory.cpp b/TAO/orbsvcs/IFR_Service/Servant_Factory.cpp
new file mode 100644
index 00000000000..b68a827807d
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Factory.cpp
@@ -0,0 +1,1365 @@
+// $Id$
+
+#include "Servant_Factory.h"
+#include "concrete_classes.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Servant_Factory, "$Id$")
+
+IFR_Servant_Factory::IFR_Servant_Factory (TAO_Repository_i *repo)
+ : repo_ (repo)
+{
+}
+
+TAO_IDLType_i *
+IFR_Servant_Factory::create_idltype (ACE_Configuration_Section_Key servant_key,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (IR::DefinitionKind, def_kind))
+ {
+ case IR::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Alias:
+ {
+ TAO_AliasDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AliasDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Enum:
+ {
+ TAO_EnumDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EnumDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Primitive:
+ {
+ TAO_PrimitiveDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimitiveDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_String:
+ {
+ TAO_StringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Sequence:
+ {
+ TAO_SequenceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_SequenceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Array:
+ {
+ TAO_ArrayDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ArrayDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Wstring:
+ {
+ TAO_WstringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_WstringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Fixed:
+ {
+ TAO_FixedDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FixedDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueBoxDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Native:
+ {
+ TAO_NativeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_NativeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ default:
+ return 0;
+ }
+}
+
+TAO_Contained_i *
+IFR_Servant_Factory::create_contained (
+ ACE_Configuration_Section_Key servant_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (IR::DefinitionKind, def_kind))
+ {
+ case IR::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Alias:
+ {
+ TAO_AliasDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AliasDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Enum:
+ {
+ TAO_EnumDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EnumDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Module:
+ {
+ TAO_ModuleDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ModuleDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Exception:
+ {
+ TAO_ExceptionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ExceptionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Constant:
+ {
+ TAO_ConstantDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConstantDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_ValueMember:
+ {
+ TAO_ValueMemberDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueMemberDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Uses:
+ {
+ TAO_UsesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UsesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Provides:
+ {
+ TAO_ProvidesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ProvidesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_PrimaryKey:
+ {
+ TAO_PrimaryKeyDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimaryKeyDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Emits:
+ {
+ TAO_EmitsDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EmitsDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Publishes:
+ {
+ TAO_PublishesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PublishesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Consumes:
+ {
+ TAO_ConsumesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConsumesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Attribute:
+ {
+ TAO_AttributeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AttributeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Operation:
+ {
+ TAO_OperationDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_OperationDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueBoxDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Native:
+ {
+ TAO_NativeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_NativeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ default:
+ return 0;
+ }
+}
+
+TAO_Container_i *
+IFR_Servant_Factory::create_container (
+ ACE_Configuration_Section_Key servant_key,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (IR::DefinitionKind, def_kind))
+ {
+ case IR::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Module:
+ {
+ TAO_ModuleDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ModuleDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Exception:
+ {
+ TAO_ExceptionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ExceptionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case IR::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ default:
+ return 0;
+ }
+}
+
+PortableServer::Servant
+IFR_Servant_Factory::create_tie (ACE_Configuration_Section_Key servant_key,
+ PortableServer::POA_ptr poa,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (IR::DefinitionKind, def_kind))
+ {
+ case IR::dk_Attribute:
+ {
+ TAO_AttributeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AttributeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_AttributeDef_i> safety (impl);
+
+ POA_IR::AttributeDef_tie<TAO_AttributeDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::AttributeDef_tie<TAO_AttributeDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Constant:
+ {
+ TAO_ConstantDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConstantDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ConstantDef_i> safety (impl);
+
+ POA_IR::ConstantDef_tie<TAO_ConstantDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ConstantDef_tie<TAO_ConstantDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Exception:
+ {
+ TAO_ExceptionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ExceptionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ExceptionDef_i> safety (impl);
+
+ POA_IR::ExceptionDef_tie<TAO_ExceptionDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ExceptionDef_tie<TAO_ExceptionDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_InterfaceDef_i> safety (impl);
+
+ POA_IR::InterfaceDef_tie<TAO_InterfaceDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::InterfaceDef_tie<TAO_InterfaceDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Module:
+ {
+ TAO_ModuleDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ModuleDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ModuleDef_i> safety (impl);
+
+ POA_IR::ModuleDef_tie<TAO_ModuleDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ModuleDef_tie<TAO_ModuleDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Operation:
+ {
+ TAO_OperationDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_OperationDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_OperationDef_i> safety (impl);
+
+ POA_IR::OperationDef_tie<TAO_OperationDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::OperationDef_tie<TAO_OperationDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Alias:
+ {
+ TAO_AliasDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AliasDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_AliasDef_i> safety (impl);
+
+ POA_IR::AliasDef_tie<TAO_AliasDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::AliasDef_tie<TAO_AliasDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_StructDef_i> safety (impl);
+
+ POA_IR::StructDef_tie<TAO_StructDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::StructDef_tie<TAO_StructDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_UnionDef_i> safety (impl);
+
+ POA_IR::UnionDef_tie<TAO_UnionDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::UnionDef_tie<TAO_UnionDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Enum:
+ {
+ TAO_EnumDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EnumDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_EnumDef_i> safety (impl);
+
+ POA_IR::EnumDef_tie<TAO_EnumDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::EnumDef_tie<TAO_EnumDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Primitive:
+ {
+ TAO_PrimitiveDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimitiveDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_PrimitiveDef_i> safety (impl);
+
+ POA_IR::PrimitiveDef_tie<TAO_PrimitiveDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::PrimitiveDef_tie<TAO_PrimitiveDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_String:
+ {
+ TAO_StringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_StringDef_i> safety (impl);
+
+ POA_IR::StringDef_tie<TAO_StringDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::StringDef_tie<TAO_StringDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Sequence:
+ {
+ TAO_SequenceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_SequenceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_SequenceDef_i> safety (impl);
+
+ POA_IR::SequenceDef_tie<TAO_SequenceDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::SequenceDef_tie<TAO_SequenceDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Array:
+ {
+ TAO_ArrayDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ArrayDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ArrayDef_i> safety (impl);
+
+ POA_IR::ArrayDef_tie<TAO_ArrayDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ArrayDef_tie<TAO_ArrayDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Wstring:
+ {
+ TAO_WstringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_WstringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_WstringDef_i> safety (impl);
+
+ POA_IR::WstringDef_tie<TAO_WstringDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::WstringDef_tie<TAO_WstringDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Fixed:
+ {
+ TAO_FixedDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FixedDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_FixedDef_i> safety (impl);
+
+ POA_IR::FixedDef_tie<TAO_FixedDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::FixedDef_tie<TAO_FixedDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ValueDef_i> safety (impl);
+
+ POA_IR::ValueDef_tie<TAO_ValueDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ValueDef_tie<TAO_ValueDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueBoxDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ValueBoxDef_i> safety (impl);
+
+ POA_IR::ValueBoxDef_tie<TAO_ValueBoxDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ValueBoxDef_tie<TAO_ValueBoxDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_ValueMember:
+ {
+ TAO_ValueMemberDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueMemberDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ValueMemberDef_i> safety (impl);
+
+ POA_IR::ValueMemberDef_tie<TAO_ValueMemberDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ValueMemberDef_tie<TAO_ValueMemberDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Native:
+ {
+ TAO_NativeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_NativeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_NativeDef_i> safety (impl);
+
+ POA_IR::NativeDef_tie<TAO_NativeDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::NativeDef_tie<TAO_NativeDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ComponentDef_i> safety (impl);
+
+ POA_IR::ComponentDef_tie<TAO_ComponentDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ComponentDef_tie<TAO_ComponentDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_HomeDef_i> safety (impl);
+
+ POA_IR::HomeDef_tie<TAO_HomeDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::HomeDef_tie<TAO_HomeDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Factory:
+ {
+ TAO_FactoryDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FactoryDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_FactoryDef_i> safety (impl);
+
+ POA_IR::FactoryDef_tie<TAO_FactoryDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::FactoryDef_tie<TAO_FactoryDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Finder:
+ {
+ TAO_FinderDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FinderDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_FinderDef_i> safety (impl);
+
+ POA_IR::FinderDef_tie<TAO_FinderDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::FinderDef_tie<TAO_FinderDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_PrimaryKey:
+ {
+ TAO_PrimaryKeyDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimaryKeyDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_PrimaryKeyDef_i> safety (impl);
+
+ POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Emits:
+ {
+ TAO_EmitsDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EmitsDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_EmitsDef_i> safety (impl);
+
+ POA_IR::EmitsDef_tie<TAO_EmitsDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::EmitsDef_tie<TAO_EmitsDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Publishes:
+ {
+ TAO_PublishesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PublishesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_PublishesDef_i> safety (impl);
+
+ POA_IR::PublishesDef_tie<TAO_PublishesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::PublishesDef_tie<TAO_PublishesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Consumes:
+ {
+ TAO_ConsumesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConsumesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ConsumesDef_i> safety (impl);
+
+ POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Provides:
+ {
+ TAO_ProvidesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ProvidesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ProvidesDef_i> safety (impl);
+
+ POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case IR::dk_Uses:
+ {
+ TAO_UsesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UsesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_UsesDef_i> safety (impl);
+
+ POA_IR::UsesDef_tie<TAO_UsesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::UsesDef_tie<TAO_UsesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ default:
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ }
+}
+
+CORBA::Object_ptr
+IFR_Servant_Factory::create_objref (IR::DefinitionKind def_kind,
+ const char *obj_id,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ PortableServer::ObjectId_var oid =
+ PortableServer::string_to_ObjectId (obj_id);
+
+ // Can plug in prefix tricks here.
+ ACE_TString repo_id ("IDL:omg.org/IR/");
+
+ switch (def_kind)
+ {
+ case IR::dk_Attribute:
+ repo_id += "AttributeDef:";
+ break;
+ case IR::dk_Constant:
+ repo_id += "ConstantDef:";
+ break;
+ case IR::dk_Exception:
+ repo_id += "ExceptionDef:";
+ break;
+ case IR::dk_Interface:
+ repo_id += "InterfaceDef:";
+ break;
+ case IR::dk_Module:
+ repo_id += "ModuleDef:";
+ break;
+ case IR::dk_Operation:
+ repo_id += "OperationDef:";
+ break;
+ case IR::dk_Typedef:
+ repo_id += "TypedefDef:";
+ break;
+ case IR::dk_Alias:
+ repo_id += "AliasDef:";
+ break;
+ case IR::dk_Struct:
+ repo_id += "StructDef:";
+ break;
+ case IR::dk_Union:
+ repo_id += "UnionDef:";
+ break;
+ case IR::dk_Enum:
+ repo_id += "EnumDef:";
+ break;
+ case IR::dk_Primitive:
+ repo_id += "PrimitiveDef:";
+ break;
+ case IR::dk_String:
+ repo_id += "StringDef:";
+ break;
+ case IR::dk_Sequence:
+ repo_id += "SequenceDef:";
+ break;
+ case IR::dk_Array:
+ repo_id += "ArrayDef:";
+ break;
+ case IR::dk_Wstring:
+ repo_id += "WstringDef:";
+ break;
+ case IR::dk_Fixed:
+ repo_id += "FixedDef:";
+ break;
+ case IR::dk_Value:
+ repo_id += "ValueDef:";
+ break;
+ case IR::dk_ValueBox:
+ repo_id += "ValueBoxDef:";
+ break;
+ case IR::dk_ValueMember:
+ repo_id += "ValueMemberDef:";
+ break;
+ case IR::dk_Native:
+ repo_id += "NativeDef:";
+ break;
+ case IR::dk_Component:
+ repo_id += "ComponentDef:";
+ break;
+ case IR::dk_Home:
+ repo_id += "HomeDef:";
+ break;
+ case IR::dk_Factory:
+ repo_id += "FactoryDef:";
+ break;
+ case IR::dk_Finder:
+ repo_id += "FinderDef:";
+ break;
+ case IR::dk_PrimaryKey:
+ repo_id += "PrimaryKeyDef:";
+ break;
+ case IR::dk_Emits:
+ repo_id += "EmitsDef:";
+ break;
+ case IR::dk_Publishes:
+ repo_id += "PublishesDef:";
+ break;
+ case IR::dk_Consumes:
+ repo_id += "ConsumesDef:";
+ break;
+ case IR::dk_Provides:
+ repo_id += "ProvidesDef:";
+ break;
+ case IR::dk_Uses:
+ repo_id += "UsesDef:";
+ break;
+ default:
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ }
+
+ // Can plug in version tricks here.
+ repo_id += "1.0";
+
+ return this->repo_->ir_poa ()->create_reference_with_id (oid.in (),
+ repo_id.c_str (),
+ ACE_TRY_ENV);
+}
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Factory.h b/TAO/orbsvcs/IFR_Service/Servant_Factory.h
new file mode 100644
index 00000000000..bbb6749e4c9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Factory.h
@@ -0,0 +1,79 @@
+// $Id$
+
+//==========================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Servant_Factory.h
+//
+// = DESCRIPTION
+// Defines a factory class to create the various forms and types
+// of servants.
+//
+// = AUTHOR
+// Jeff Parsons
+//
+//==========================================================================
+
+#ifndef IFR_SERVANT_FACTORY_H
+#define IFR_SERVANT_FACTORY_H
+
+#include "tao/POAC.h"
+#include "tao/ifrfwd.h"
+#include "ace/Configuration.h"
+
+class TAO_IDLType_i;
+class TAO_Contained_i;
+class TAO_Container_i;
+class TAO_Repository_i;
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class IFR_Servant_Factory
+{
+ // = TITLE
+ // Servant_Factory
+ //
+ // = DESCRIPTION
+ // This class is used to create _i classes, _tie classes and
+ // object references.
+ //
+public:
+ IFR_Servant_Factory (TAO_Repository_i *repo);
+ // constructor
+
+ TAO_IDLType_i *create_idltype (ACE_Configuration_Section_Key key,
+ CORBA::Environment &ACE_TRY_ENV);
+ // For internal use - faster than creating an object reference and
+ // sending a request, and can call utility functions not in IDL.
+
+ TAO_Contained_i *create_contained (ACE_Configuration_Section_Key key,
+ CORBA::Environment &ACE_TRY_ENV);
+ // For internal use - faster than creating an object reference and
+ // sending a request, and can call utility functions not in IDL.
+
+ TAO_Container_i *create_container (ACE_Configuration_Section_Key key,
+ CORBA::Environment &ACE_TRY_ENV);
+ // For internal use - faster than creating an object reference and
+ // sending a request, and can call utility functions not in IDL.
+
+ PortableServer::Servant create_tie (ACE_Configuration_Section_Key key,
+ PortableServer::POA_ptr poa,
+ CORBA::Environment &ACE_TRY_ENV);
+ // Used by the servant locator to create a servant.
+
+ CORBA::Object_ptr create_objref (IR::DefinitionKind def_kind,
+ const char *obj_id,
+ CORBA::Environment &ACE_TRY_ENV);
+ // Used to create return values.
+private:
+ TAO_Repository_i *repo_;
+ // Reference to the repository, where most of the state is stored.
+};
+
+#endif /* IFR_SERVANT_FACTORY_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Locator.cpp b/TAO/orbsvcs/IFR_Service/Servant_Locator.cpp
new file mode 100644
index 00000000000..f07dc101b08
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Locator.cpp
@@ -0,0 +1,65 @@
+// $Id$
+
+#include "Servant_Locator.h"
+#include "Servant_Factory.h"
+
+ACE_RCSID(IFR_Service, Servant_Locator, "$Id$")
+
+IFR_ServantLocator::IFR_ServantLocator (TAO_Repository_i *repo)
+ : repo_ (repo)
+{
+}
+
+PortableServer::Servant
+IFR_ServantLocator::preinvoke (
+ const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr poa,
+ const char * /* operation */,
+ PortableServer::ServantLocator::Cookie &cookie
+ TAO_ENV_ARG_DECL
+ )
+{
+ TAO_ENV_ARG_DEFN;
+
+ CORBA::String_var s =
+ PortableServer::ObjectId_to_string (oid);
+
+ ACE_TString full_name (s.in ());
+
+ ACE_Configuration_Section_Key servant_key;
+
+ int status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ full_name,
+ servant_key,
+ 0);
+
+ if (status != 0)
+ {
+ // If we're here, destroy() has been called.
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ }
+
+ PortableServer::Servant servant =
+ this->repo_->servant_factory ()->create_tie (servant_key,
+ poa,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ cookie = servant;
+
+ return servant;
+}
+
+void
+IFR_ServantLocator::postinvoke (
+ const PortableServer::ObjectId & /* oid */,
+ PortableServer::POA_ptr /* poa */,
+ const char * /* operation */,
+ PortableServer::ServantLocator::Cookie /* cookie */,
+ PortableServer::Servant servant
+ TAO_ENV_ARG_DECL_NOT_USED
+ )
+{
+ delete servant;
+}
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Locator.h b/TAO/orbsvcs/IFR_Service/Servant_Locator.h
new file mode 100644
index 00000000000..9c557a0f1a4
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Locator.h
@@ -0,0 +1,69 @@
+// $Id$
+
+//==========================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Servant_Locator.h
+//
+// = DESCRIPTION
+// Defines a servant activator subclass, used by the IFR and its POA
+//
+// = AUTHOR
+// Jeff Parsons
+//
+//==========================================================================
+
+#ifndef IFR_SERVANT_LOCATOR_H
+#define IFR_SERVANT_LOCATOR_H
+
+#include "Repository_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class IFR_ServantLocator : public POA_PortableServer::ServantLocator
+{
+ // = TITLE
+ // IFR_ServantLocator
+ //
+ // = DESCRIPTION
+ // This class is used by the Interface Repository to create
+ // servants on demand
+ //
+public:
+ IFR_ServantLocator (TAO_Repository_i *repo);
+ // constructor
+
+ virtual PortableServer::Servant preinvoke (
+ const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr adapter,
+ const char *operation,
+ PortableServer::ServantLocator::Cookie &the_cookie
+ TAO_ENV_ARG_DECL
+ );
+ // This method is invoked by the IFR's POA whenever it receives a request
+ // for an IR object.
+
+ virtual void postinvoke (
+ const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr adapter,
+ const char *operation,
+ PortableServer::ServantLocator::Cookie the_cookie,
+ PortableServer::Servant the_servant
+ TAO_ENV_ARG_DECL
+ );
+ // This method is invoked whenever an IR object servant completes a
+ // request.
+
+
+private:
+ TAO_Repository_i *repo_;
+ // Passed in to each created servant.
+};
+
+#endif /* IFR_SERVANT_LOCATOR_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/StringDef_i.cpp b/TAO/orbsvcs/IFR_Service/StringDef_i.cpp
new file mode 100644
index 00000000000..aff7e6c0190
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StringDef_i.cpp
@@ -0,0 +1,75 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "StringDef_i.h"
+
+ACE_RCSID(IFR_Service, StringDef_i, "$Id$")
+
+TAO_StringDef_i::TAO_StringDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_StringDef_i::~TAO_StringDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_StringDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_String;
+}
+
+void
+TAO_StringDef_i::destroy (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->strings_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_StringDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong bound = this->bound (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_string_tc (
+ bound,
+ ACE_TRY_ENV
+ );
+}
+
+CORBA::ULong
+TAO_StringDef_i::bound (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int retval = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "bound",
+ retval);
+
+ return ACE_static_cast (CORBA::ULong, retval);
+}
+
+void
+TAO_StringDef_i::bound (CORBA::ULong bound,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "bound",
+ bound);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/StringDef_i.h b/TAO/orbsvcs/IFR_Service/StringDef_i.h
new file mode 100644
index 00000000000..f8233d13169
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StringDef_i.h
@@ -0,0 +1,92 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// StringDef_i.h
+//
+// = DESCRIPTION
+// IR::StringDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_STRINGDEF_I_H
+#define TAO_STRINGDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_StringDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_StringDef_i
+ //
+ // = DESCRIPTION
+ // Represents a bounded string (unbounded strings
+ // are included in PrimitiveDef).
+ //
+public:
+ TAO_StringDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_StringDef_i (void);
+ // Destructor.
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_STRINGDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/StructDef_i.cpp b/TAO/orbsvcs/IFR_Service/StructDef_i.cpp
new file mode 100644
index 00000000000..78e4e7dc53e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StructDef_i.cpp
@@ -0,0 +1,227 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "StructDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, StructDef_i, "$Id$")
+
+TAO_StructDef_i::TAO_StructDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key),
+ TAO_Container_i (repo, section_key)
+{
+}
+
+TAO_StructDef_i::~TAO_StructDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_StructDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Struct;
+}
+
+void
+TAO_StructDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+CORBA::TypeCode_ptr
+TAO_StructDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ IR::StructMemberSeq_var members = this->members (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_struct_tc (id.c_str (),
+ name.c_str (),
+ members.in (),
+ ACE_TRY_ENV);
+}
+
+IR::StructMemberSeq *
+TAO_StructDef_i::members (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<IR::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ ACE_Unbounded_Queue<ACE_TString> name_queue;
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 0,
+ member_key);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ int status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ // This entry may have been removed.
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (path);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ name_queue.enqueue_tail (name);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (entry_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ IR::StructMemberSeq *members = 0;
+ ACE_NEW_THROW_EX (members,
+ IR::StructMemberSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ members->length (size);
+
+ IR::StructMemberSeq_var retval = members;
+
+ for (size_t k = 0; k < size; k++)
+ {
+ ACE_TString name;
+ name_queue.dequeue_head (name);
+
+ retval[k].name = name.c_str ();
+
+ IR::DefinitionKind kind;
+ kind_queue.dequeue_head (kind);
+
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (kind,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type_def = IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type = retval[k].type_def->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_StructDef_i::members (const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our old members, both refs and defns.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::ULong count = members.length ();
+
+ int index = 0;
+ ACE_TString section_name;
+ ACE_Configuration_Section_Key refs_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ // Create a section for each new member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ CORBA::String_var path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ path.in ());
+ }
+
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/StructDef_i.h b/TAO/orbsvcs/IFR_Service/StructDef_i.h
new file mode 100644
index 00000000000..2505b5a4347
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StructDef_i.h
@@ -0,0 +1,94 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// StructDef_i.h
+//
+// = DESCRIPTION
+// IR::StructDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_STRUCTDEF_I_H
+#define TAO_STRUCTDEF_I_H
+
+#include "TypedefDef_i.h"
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_StructDef_i : public virtual TAO_TypedefDef_i,
+ public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_StructDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL structure definition.
+ //
+public:
+ TAO_StructDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_StructDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry and its contents.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::StructMemberSeq *members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_STRUCTDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp b/TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp
new file mode 100644
index 00000000000..c113b26bb8b
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp
@@ -0,0 +1,64 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "TypedefDef_i.h"
+
+ACE_RCSID(IFR_Service, TypedefDef_i, "$Id$")
+
+TAO_TypedefDef_i::TAO_TypedefDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_TypedefDef_i::~TAO_TypedefDef_i (void)
+{
+}
+
+IR::Contained::Description *
+TAO_TypedefDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ IR::Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ IR::Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ IR::Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ IR::TypeDescription td;
+
+ ACE_CHECK_RETURN (0);
+ td.name = this->name (ACE_TRY_ENV);
+
+ td.id = this->id (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ td.defined_in = container_id.c_str ();
+
+ td.version = this->version (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ td.type = this->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= td;
+
+ return retval._retn ();
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/TypedefDef_i.h b/TAO/orbsvcs/IFR_Service/TypedefDef_i.h
new file mode 100644
index 00000000000..c6a83914022
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypedefDef_i.h
@@ -0,0 +1,68 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// TypedefDef_i.h
+//
+// = DESCRIPTION
+// IR::TypedefDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_TYPEDEFDEF_I_H
+#define TAO_TYPEDEFDEF_I_H
+
+#include "Contained_i.h"
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_TypedefDef_i : public virtual TAO_Contained_i,
+ public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_TypedefDef_i
+ //
+ // = DESCRIPTION
+ // Base interface inherited by all named non-object types:
+ // struct, union, enum, alias, native, and valuebox.
+ //
+public:
+ TAO_TypedefDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_TypedefDef_i (void);
+ // Destructor
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_TYPEDEFDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/UnionDef_i.cpp b/TAO/orbsvcs/IFR_Service/UnionDef_i.cpp
new file mode 100644
index 00000000000..572bad44f54
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UnionDef_i.cpp
@@ -0,0 +1,394 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "UnionDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, UnionDef_i, "$Id$")
+
+TAO_UnionDef_i::TAO_UnionDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key),
+ TAO_Container_i (repo, section_key)
+{
+}
+
+TAO_UnionDef_i::~TAO_UnionDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_UnionDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Union;
+}
+
+void
+TAO_UnionDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+}
+
+CORBA::TypeCode_ptr
+TAO_UnionDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ CORBA::TypeCode_var tc = this->discriminator_type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ IR::UnionMemberSeq_var members = this->members (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_union_tc (id.c_str (),
+ name.c_str (),
+ tc.in (),
+ members.in (),
+ ACE_TRY_ENV);
+}
+
+CORBA::TypeCode_ptr
+TAO_UnionDef_i::discriminator_type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString disc_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "disc_path",
+ disc_path);
+
+ ACE_Configuration_Section_Key disc_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ disc_path,
+ disc_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (disc_key,
+ ACE_TRY_ENV);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type (ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_UnionDef_i::discriminator_type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString disc_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "disc_path",
+ disc_path);
+
+ ACE_Configuration_Section_Key disc_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ disc_path,
+ disc_key,
+ 0);
+
+ u_int kind;
+ this->repo_->config ()->get_integer_value (disc_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ disc_path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_UnionDef_i::discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (discriminator_type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::UnionDef::_nil ());
+
+ CORBA::String_var disc_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "disc_path",
+ disc_path.in ());
+}
+
+IR::UnionMemberSeq *
+TAO_UnionDef_i::members (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ u_int count;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ if (this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 0,
+ member_key)
+ == 0)
+ {
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+
+ // This entry may have been removed.
+ if (this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0)
+ == 0)
+ {
+ key_queue.enqueue_tail (member_key);
+ }
+ }
+ }
+
+ size_t size = key_queue.size ();
+
+ IR::UnionMemberSeq *members = 0;
+ ACE_NEW_THROW_EX (members,
+ IR::UnionMemberSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ members->length (size);
+
+ IR::UnionMemberSeq_var retval = members;
+
+ for (size_t k = 0; k < size; k++)
+ {
+ ACE_Configuration_Section_Key next_key;
+ key_queue.dequeue_head (next_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (next_key,
+ "name",
+ name);
+
+ retval[k].name = name.c_str ();
+
+ this->fetch_label (next_key,
+ retval[k],
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (next_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ u_int kind;
+ this->repo_->config ()->get_integer_value (entry_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ path.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type_def = IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type = retval[k].type_def->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_UnionDef_i::members (const IR::UnionMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our old members, both refs and defns.
+ TAO_Container_i::destroy (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ int index = 0;
+ ACE_TString section_name;
+ ACE_Configuration_Section_Key refs_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ // Store the new member count of the union.
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We store the member
+ // name, its label value, and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ char *section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name,
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::StructDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+
+ this->store_label (member_key,
+ members[i].label,
+ ACE_TRY_ENV);
+ }
+}
+
+void
+TAO_UnionDef_i::fetch_label (const ACE_Configuration_Section_Key member_key,
+ IR::UnionMember &member,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration::VALUETYPE vt;
+ this->repo_->config ()->find_value (member_key,
+ "label",
+ vt);
+
+ if (vt == ACE_Configuration::STRING)
+ {
+ member.label <<= CORBA::Any::from_octet (0);
+
+ return;
+ }
+
+ u_int value = 0;
+ this->repo_->config ()->get_integer_value (member_key,
+ "label",
+ value);
+
+ CORBA::TypeCode_var tc = this->discriminator_type (ACE_TRY_ENV)
+ ACE_CHECK;
+
+ CORBA::TCKind kind = tc->kind (ACE_TRY_ENV);
+ ACE_CHECK;
+
+ switch (kind)
+ {
+ case CORBA::tk_char:
+ member.label <<= CORBA::Any::from_char (ACE_static_cast (CORBA::Char,
+ value));
+ break;
+ case CORBA::tk_wchar:
+ member.label <<= CORBA::Any::from_wchar (ACE_static_cast (CORBA::WChar,
+ value));
+ break;
+ case CORBA::tk_boolean:
+ member.label <<= CORBA::Any::from_boolean (ACE_static_cast (CORBA::Boolean,
+ value));
+ break;
+ case CORBA::tk_short:
+ member.label <<= ACE_static_cast (CORBA::Short, value);
+ break;
+ case CORBA::tk_ushort:
+ member.label <<= ACE_static_cast (CORBA::UShort, value);
+ break;
+ case CORBA::tk_long:
+ member.label <<= ACE_static_cast (CORBA::Long, value);
+ break;
+ case CORBA::tk_ulong:
+ member.label <<= ACE_static_cast (CORBA::ULong, value);
+ break;
+#if !defined (ACE_LACKS_LONGLONG_T)
+ case CORBA::tk_longlong:
+ member.label <<= ACE_static_cast (CORBA::LongLong, value);
+ break;
+#endif /* ACE_LACKS_LONGLONG_T */
+ case CORBA::tk_ulonglong:
+ member.label <<= ACE_static_cast (CORBA::ULongLong, value);
+ break;
+ case CORBA::tk_enum:
+ {
+ TAO_OutputCDR cdr;
+ cdr.write_ulong (ACE_static_cast (CORBA::ULong, value));
+ member.label._tao_replace (tc.in (),
+ TAO_ENCAP_BYTE_ORDER,
+ cdr.begin ());
+ break;
+ }
+ default:
+ break;
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/UnionDef_i.h b/TAO/orbsvcs/IFR_Service/UnionDef_i.h
new file mode 100644
index 00000000000..f28a2988f28
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UnionDef_i.h
@@ -0,0 +1,124 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// UnionDef_i.h
+//
+// = DESCRIPTION
+// IR::UnionDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_UNIONDEF_I_H
+#define TAO_UNIONDEF_I_H
+
+#include "TypedefDef_i.h"
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_UnionDef_i : public virtual TAO_TypedefDef_i,
+ public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_UnionDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL union definition.
+ //
+public:
+ TAO_UnionDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_UnionDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry and its contents.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr discriminator_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr discriminator_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void discriminator_type_def (
+ IR::IDLType_ptr discriminator_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::UnionMemberSeq *members (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const IR::UnionMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ void fetch_label (
+ const ACE_Configuration_Section_Key member_key,
+ IR::UnionMember &member,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Used by members() to get each member's label value.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_UNIONDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/UsesDef_i.cpp b/TAO/orbsvcs/IFR_Service/UsesDef_i.cpp
new file mode 100644
index 00000000000..0bb8bbbcc2a
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UsesDef_i.cpp
@@ -0,0 +1,57 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "UsesDef_i.h"
+
+ACE_RCSID(IFR_Service, UsesDef_i, "$Id$")
+
+TAO_UsesDef_i::TAO_UsesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_UsesDef_i::~TAO_UsesDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_UsesDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Uses;
+}
+
+void
+TAO_UsesDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_UsesDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::InterfaceDef_ptr
+TAO_UsesDef_i::interface_type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_UsesDef_i::is_multiple (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/UsesDef_i.h b/TAO/orbsvcs/IFR_Service/UsesDef_i.h
new file mode 100644
index 00000000000..2ac8f716260
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UsesDef_i.h
@@ -0,0 +1,91 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// UsesDef_i.h
+//
+// = DESCRIPTION
+// IR::UsesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_USESDEF_I_H
+#define TAO_USESDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_UsesDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_UsesDef_i
+ //
+ // = DESCRIPTION
+ // Represents an interface that is used by a component.
+ //
+public:
+ TAO_UsesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_UsesDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual IR::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_multiple (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_USESDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp
new file mode 100644
index 00000000000..38b9bbda17e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp
@@ -0,0 +1,124 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ValueBoxDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ValueBoxDef_i, "$Id$")
+
+TAO_ValueBoxDef_i::TAO_ValueBoxDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_ValueBoxDef_i::~TAO_ValueBoxDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ValueBoxDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_ValueBox;
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueBoxDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ ACE_TString boxed_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "boxed_type",
+ boxed_type);
+
+ ACE_Configuration_Section_Key boxed_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ boxed_type,
+ boxed_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (boxed_key,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ CORBA::TypeCode_var tc = impl->type (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_value_box_tc (id.c_str (),
+ name.c_str (),
+ tc.in (),
+ ACE_TRY_ENV);
+}
+
+IR::IDLType_ptr
+TAO_ValueBoxDef_i::original_type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString boxed_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "boxed_type",
+ boxed_type);
+
+ ACE_Configuration_Section_Key boxed_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ boxed_type,
+ boxed_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (boxed_key,
+ "def_kind",
+ kind);
+
+ IR::DefinitionKind def_kind =
+ ACE_static_cast (IR::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ boxed_type.c_str (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (IR::IDLType::_nil ());
+
+ return IR::IDLType::_narrow (obj.in (),
+ ACE_TRY_ENV);
+}
+
+void
+TAO_ValueBoxDef_i::original_type_def (IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type_def,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
+ CORBA::String_var boxed_type =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "boxed_type",
+ boxed_type.in ());
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h
new file mode 100644
index 00000000000..69992957653
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h
@@ -0,0 +1,86 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ValueBoxDef_i.h
+//
+// = DESCRIPTION
+// IR::ValueBoxDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_VALUEBOXDEF_I_H
+#define TAO_VALUEBOXDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ValueBoxDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_ValueBoxDef_i
+ //
+ // = DESCRIPTION
+ // Represents an value box definition.
+ //
+public:
+ TAO_ValueBoxDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ValueBoxDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::IDLType_ptr original_type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void original_type_def (
+ IR::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_VALUEBOXDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueDef_i.cpp b/TAO/orbsvcs/IFR_Service/ValueDef_i.cpp
new file mode 100644
index 00000000000..e6c4a0abffe
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueDef_i.cpp
@@ -0,0 +1,220 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ValueDef_i.h"
+
+ACE_RCSID(IFR_Service, ValueDef_i, "$Id$")
+
+TAO_ValueDef_i::TAO_ValueDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_ValueDef_i::~TAO_ValueDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ValueDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Value;
+}
+
+void
+TAO_ValueDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_ValueDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::InterfaceDefSeq *
+TAO_ValueDef_i::supported_interfaces (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::supported_interfaces (
+ const IR::InterfaceDefSeq &supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::InitializerSeq *
+TAO_ValueDef_i::initializers (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::initializers (const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::ValueDef_ptr
+TAO_ValueDef_i::base_value (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::base_value (IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::ValueDefSeq *
+TAO_ValueDef_i::abstract_base_values (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::abstract_base_values (
+ const IR::ValueDefSeq &abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_abstract (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::is_abstract (CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_custom (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::is_custom (CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_truncatable (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::is_truncatable (CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_a (const char *id,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ValueMemberDef_ptr
+TAO_ValueDef_i::create_value_member (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::AttributeDef_ptr
+TAO_ValueDef_i::create_attribute (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq &get_exceptions,
+ const IR::ExceptionDefSeq &put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::OperationDef_ptr
+TAO_ValueDef_i::create_operation (const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ const IR::ContextIdSeq &contexts,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueDef_i.h b/TAO/orbsvcs/IFR_Service/ValueDef_i.h
new file mode 100644
index 00000000000..690393e5fdf
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueDef_i.h
@@ -0,0 +1,226 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ValueDef_i.h
+//
+// = DESCRIPTION
+// IR::ValueDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_VALUEDEF_I_H
+#define TAO_VALUEDEF_I_H
+
+#include "Contained_i.h"
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ValueDef_i : public virtual TAO_Container_i,
+ public virtual TAO_Contained_i,
+ public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_ValueDef_i
+ //
+ // = DESCRIPTION
+ // Represents a valuetype definition.
+ //
+public:
+ TAO_ValueDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ValueDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::InterfaceDefSeq *supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void supported_interfaces (
+ const IR::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::InitializerSeq *initializers (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void initializers (
+ const IR::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueDef_ptr base_value (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void base_value (
+ IR::ValueDef_ptr base_value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueDefSeq *abstract_base_values (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void abstract_base_values (
+ const IR::ValueDefSeq & abstract_base_values,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_custom (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_custom (
+ CORBA::Boolean is_custom,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_truncatable (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_truncatable (
+ CORBA::Boolean is_truncatable,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_a (
+ const char *id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ValueMemberDef_ptr create_value_member (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::AttributeDef_ptr create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr type,
+ IR::AttributeMode mode,
+ const IR::ExceptionDefSeq &get_exceptions,
+ const IR::ExceptionDefSeq &put_exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::OperationDef_ptr create_operation (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::IDLType_ptr result,
+ IR::OperationMode mode,
+ const IR::ParDescriptionSeq &params,
+ const IR::ExceptionDefSeq &exceptions,
+ const IR::ContextIdSeq &contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_VALUEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp
new file mode 100644
index 00000000000..a056bf1ae01
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp
@@ -0,0 +1,83 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ValueMemberDef_i.h"
+
+ACE_RCSID(IFR_Service, ValueMemberDef_i, "$Id$")
+
+TAO_ValueMemberDef_i::TAO_ValueMemberDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ValueMemberDef_i::~TAO_ValueMemberDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_ValueMemberDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_ValueMember;
+}
+
+void
+TAO_ValueMemberDef_i::destroy (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::Contained::Description *
+TAO_ValueMemberDef_i::describe (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueMemberDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::IDLType_ptr
+TAO_ValueMemberDef_i::type_def (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueMemberDef_i::type_def (IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Visibility
+TAO_ValueMemberDef_i::access (CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueMemberDef_i::access (CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h
new file mode 100644
index 00000000000..d1c09dc51e8
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h
@@ -0,0 +1,111 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ValueMemberDef_i.h
+//
+// = DESCRIPTION
+// IR::ValueMemberDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_VALUEMEMBERDEF_I_H
+#define TAO_VALUEMEMBERDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ValueMemberDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ValeMemberDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of a valuemember structure.
+ //
+public:
+ TAO_ValueMemberDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ValueMemberDef_i (void);
+ // Destructor
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual IR::Contained::Description *describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::IDLType_ptr type_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void type_def (
+ IR::IDLType_ptr type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Visibility access (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void access (
+ CORBA::Visibility access,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_VALUEMEMBERDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/WstringDef_i.cpp b/TAO/orbsvcs/IFR_Service/WstringDef_i.cpp
new file mode 100644
index 00000000000..1ddcfe0ef3c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/WstringDef_i.cpp
@@ -0,0 +1,75 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "WstringDef_i.h"
+
+ACE_RCSID(IFR_Service, StringDef_i, "$Id$")
+
+TAO_WstringDef_i::TAO_WstringDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_WstringDef_i::~TAO_WstringDef_i (void)
+{
+}
+
+IR::DefinitionKind
+TAO_WstringDef_i::def_kind (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return IR::dk_Wstring;
+}
+
+void
+TAO_WstringDef_i::destroy (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->wstrings_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_WstringDef_i::type (CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong bound = this->bound (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_wstring_tc (bound,
+ ACE_TRY_ENV);
+}
+
+CORBA::ULong
+TAO_WstringDef_i::bound (CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int retval = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "bound",
+ retval);
+
+ return ACE_static_cast (CORBA::ULong, retval);
+}
+
+void
+TAO_WstringDef_i::bound (CORBA::ULong bound,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "bound",
+ bound);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/WstringDef_i.h b/TAO/orbsvcs/IFR_Service/WstringDef_i.h
new file mode 100644
index 00000000000..6dd777ee0d7
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/WstringDef_i.h
@@ -0,0 +1,92 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// WstringDef_i.h
+//
+// = DESCRIPTION
+// IR::WstringDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_WSTRINGDEF_I_H
+#define TAO_WSTRINGDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_WstringDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_WstringDef_i
+ //
+ // = DESCRIPTION
+ // Represents a bounded wstring (unbounded wstrings
+ // are included in PrimitiveDef).
+ //
+public:
+ TAO_WstringDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_WstringDef_i (void);
+ // Destructor.
+
+ virtual IR::DefinitionKind def_kind (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::ULong bound (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void bound (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_WSTRINGDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/concrete_classes.h b/TAO/orbsvcs/IFR_Service/concrete_classes.h
new file mode 100644
index 00000000000..fab1633e6bf
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/concrete_classes.h
@@ -0,0 +1,52 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/Param_Test
+//
+// = FILENAME
+// concrete_classes.h
+//
+// = DESCRIPTION
+// All the concrete class header files needed by the servant locator.
+//
+// = AUTHORS
+// Jeff Parsons
+//
+// ============================================================================
+
+#ifndef CONCRETE_CLASSES_H
+#define CONCRETE_CLASSES_H
+
+#include "Repository_i.h"
+#include "PrimitiveDef_i.h"
+#include "StringDef_i.h"
+#include "WstringDef_i.h"
+#include "SequenceDef_i.h"
+#include "ArrayDef_i.h"
+#include "FixedDef_i.h"
+#include "EnumDef_i.h"
+#include "AliasDef_i.h"
+#include "NativeDef_i.h"
+#include "ValueBoxDef_i.h"
+#include "UnionDef_i.h"
+#include "StructDef_i.h"
+#include "ConsumesDef_i.h"
+#include "PublishesDef_i.h"
+#include "EmitsDef_i.h"
+#include "PrimaryKeyDef_i.h"
+#include "ProvidesDef_i.h"
+#include "UsesDef_i.h"
+#include "ValueMemberDef_i.h"
+#include "FactoryDef_i.h"
+#include "FinderDef_i.h"
+#include "AttributeDef_i.h"
+#include "ConstantDef_i.h"
+#include "ComponentDef_i.h"
+#include "HomeDef_i.h"
+#include "ValueDef_i.h"
+#include "ExceptionDef_i.h"
+#include "ModuleDef_i.h"
+
+#endif /* CONCRETE_CLASSES_H */
diff --git a/TAO/orbsvcs/IFR_Service/tmplinst.cpp b/TAO/orbsvcs/IFR_Service/tmplinst.cpp
new file mode 100644
index 00000000000..34559ddedd0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/tmplinst.cpp
@@ -0,0 +1,159 @@
+// $Id$
+
+#include "concrete_classes.h"
+
+ACE_RCSID(IFR_Service, tmplinst, "$Id$")
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Unbounded_Queue<IR::DefinitionKind>;
+template class ACE_Unbounded_Queue<ACE_TString>;
+template class ACE_Unbounded_Queue<ACE_Configuration_Section_Key>;
+
+template class POA_IR::Repository_tie<TAO_Repository_i>;
+template class POA_IR::ComponentRepository_tie<TAO_ComponentRepository_i>;
+template class POA_IR::PrimitiveDef_tie<TAO_PrimitiveDef_i>;
+template class POA_IR::StringDef_tie<TAO_StringDef_i>;
+template class POA_IR::WstringDef_tie<TAO_WstringDef_i>;
+template class POA_IR::SequenceDef_tie<TAO_SequenceDef_i>;
+template class POA_IR::ArrayDef_tie<TAO_ArrayDef_i>;
+template class POA_IR::FixedDef_tie<TAO_FixedDef_i>;
+template class POA_IR::EnumDef_tie<TAO_EnumDef_i>;
+template class POA_IR::AliasDef_tie<TAO_AliasDef_i>;
+template class POA_IR::NativeDef_tie<TAO_NativeDef_i>;
+template class POA_IR::ValueBoxDef_tie<TAO_ValueBoxDef_i>;
+template class POA_IR::UnionDef_tie<TAO_UnionDef_i>;
+template class POA_IR::StructDef_tie<TAO_StructDef_i>;
+template class POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i>;
+template class POA_IR::PublishesDef_tie<TAO_PublishesDef_i>;
+template class POA_IR::EmitsDef_tie<TAO_EmitsDef_i>;
+template class POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i>;
+template class POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i>;
+template class POA_IR::UsesDef_tie<TAO_UsesDef_i>;
+template class POA_IR::ValueMemberDef_tie<TAO_ValueMemberDef_i>;
+template class POA_IR::FactoryDef_tie<TAO_FactoryDef_i>;
+template class POA_IR::FinderDef_tie<TAO_FinderDef_i>;
+template class POA_IR::AttributeDef_tie<TAO_AttributeDef_i>;
+template class POA_IR::ConstantDef_tie<TAO_ConstantDef_i>;
+template class POA_IR::ComponentDef_tie<TAO_ComponentDef_i>;
+template class POA_IR::HomeDef_tie<TAO_HomeDef_i>;
+template class POA_IR::ValueDef_tie<TAO_ValueDef_i>;
+template class POA_IR::ExceptionDef_tie<TAO_ExceptionDef_i>;
+template class POA_IR::ModuleDef_tie<TAO_ModuleDef_i>;
+template class POA_IR::OperationDef_tie<TAO_OperationDef_i>;
+template class POA_IR::InterfaceDef_tie<TAO_InterfaceDef_i>;
+
+template class auto_ptr<TAO_Repository_i>;
+template class auto_ptr<TAO_ComponentRepository_i>;
+template class auto_ptr<TAO_PrimitiveDef_i>;
+template class auto_ptr<TAO_StringDef_i>;
+template class auto_ptr<TAO_WstringDef_i>;
+template class auto_ptr<TAO_SequenceDef_i>;
+template class auto_ptr<TAO_ArrayDef_i>;
+template class auto_ptr<TAO_FixedDef_i>;
+template class auto_ptr<TAO_EnumDef_i>;
+template class auto_ptr<TAO_AliasDef_i>;
+template class auto_ptr<TAO_NativeDef_i>;
+template class auto_ptr<TAO_ValueBoxDef_i>;
+template class auto_ptr<TAO_UnionDef_i>;
+template class auto_ptr<TAO_StructDef_i>;
+template class auto_ptr<TAO_ConsumesDef_i>;
+template class auto_ptr<TAO_PublishesDef_i>;
+template class auto_ptr<TAO_EmitsDef_i>;
+template class auto_ptr<TAO_PrimaryKeyDef_i>;
+template class auto_ptr<TAO_ProvidesDef_i>;
+template class auto_ptr<TAO_UsesDef_i>;
+template class auto_ptr<TAO_ValueMemberDef_i>;
+template class auto_ptr<TAO_FactoryDef_i>;
+template class auto_ptr<TAO_FinderDef_i>;
+template class auto_ptr<TAO_AttributeDef_i>;
+template class auto_ptr<TAO_ConstantDef_i>;
+template class auto_ptr<TAO_ComponentDef_i>;
+template class auto_ptr<TAO_HomeDef_i>;
+template class auto_ptr<TAO_ValueDef_i>;
+template class auto_ptr<TAO_ExceptionDef_i>;
+template class auto_ptr<TAO_ModuleDef_i>;
+template class auto_ptr<TAO_OperationDef_i>;
+template class auto_ptr<TAO_InterfaceDef_i>;
+template class auto_ptr<TAO_Container_i>;
+template class auto_ptr<TAO_Contained_i>;
+template class auto_ptr<TAO_IDLType_i>;
+template class auto_ptr<char>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Unbounded_Queue<IR::DefinitionKind>
+#pragma instantiate ACE_Unbounded_Queue<ACE_TString>
+#pragma instantiate ACE_Unbounded_Queue<ACE_Configuration_Section_Key>
+
+#pragma instantiate POA_IR::Repository_tie<TAO_Repository_i>
+#pragma instantiate POA_IR::ComponentRepository_tie<TAO_ComponentRepository_i>
+#pragma instantiate POA_IR::PrimitiveDef_tie<TAO_PrimitiveDef_i>
+#pragma instantiate POA_IR::StringDef_tie<TAO_StringDef_i>
+#pragma instantiate POA_IR::WstringDef_tie<TAO_WstringDef_i>
+#pragma instantiate POA_IR::SequenceDef_tie<TAO_SequenceDef_i>
+#pragma instantiate POA_IR::ArrayDef_tie<TAO_ArrayDef_i>
+#pragma instantiate POA_IR::FixedDef_tie<TAO_FixedDef_i>
+#pragma instantiate POA_IR::EnumDef_tie<TAO_EnumDef_i>
+#pragma instantiate POA_IR::AliasDef_tie<TAO_AliasDef_i>
+#pragma instantiate POA_IR::NativeDef_tie<TAO_NativeDef_i>
+#pragma instantiate POA_IR::ValueBoxDef_tie<TAO_ValueBoxDef_i>
+#pragma instantiate POA_IR::UnionDef_tie<TAO_UnionDef_i>
+#pragma instantiate POA_IR::StructDef_tie<TAO_StructDef_i>
+#pragma instantiate POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i>
+#pragma instantiate POA_IR::PublishesDef_tie<TAO_PublishesDef_i>
+#pragma instantiate POA_IR::EmitsDef_tie<TAO_EmitsDef_i>
+#pragma instantiate POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i>
+#pragma instantiate POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i>
+#pragma instantiate POA_IR::UsesDef_tie<TAO_UsesDef_i>
+#pragma instantiate POA_IR::ValueMemberDef_tie<TAO_ValueMemberDef_i>
+#pragma instantiate POA_IR::FactoryDef_tie<TAO_FactoryDef_i>
+#pragma instantiate POA_IR::FinderDef_tie<TAO_FinderDef_i>
+#pragma instantiate POA_IR::AttributeDef_tie<TAO_AttributeDef_i>
+#pragma instantiate POA_IR::ConstantDef_tie<TAO_ConstantDef_i>
+#pragma instantiate POA_IR::ComponentDef_tie<TAO_ComponentDef_i>
+#pragma instantiate POA_IR::HomeDef_tie<TAO_HomeDef_i>
+#pragma instantiate POA_IR::ValueDef_tie<TAO_ValueDef_i>
+#pragma instantiate POA_IR::ExceptionDef_tie<TAO_ExceptionDef_i>
+#pragma instantiate POA_IR::ModuleDef_tie<TAO_ModuleDef_i>
+#pragma instantiate POA_IR::OperationDef_tie<TAO_OperationDef_i>
+#pragma instantiate POA_IR::InterfaceDef_tie<TAO_>
+
+#pragma instantiate auto_ptr<TAO_Repository_i>
+#pragma instantiate auto_ptr<TAO_ComponentRepository_i>
+#pragma instantiate auto_ptr<TAO_PrimitiveDef_i>
+#pragma instantiate auto_ptr<TAO_StringDef_i>
+#pragma instantiate auto_ptr<TAO_WstringDef_i>
+#pragma instantiate auto_ptr<TAO_SequenceDef_i>
+#pragma instantiate auto_ptr<TAO_ArrayDef_i>
+#pragma instantiate auto_ptr<TAO_FixedDef_i>
+#pragma instantiate auto_ptr<TAO_EnumDef_i>
+#pragma instantiate auto_ptr<TAO_AliasDef_i>
+#pragma instantiate auto_ptr<TAO_NativeDef_i>
+#pragma instantiate auto_ptr<TAO_ValueBoxDef_i>
+#pragma instantiate auto_ptr<TAO_UnionDef_i>
+#pragma instantiate auto_ptr<TAO_StructDef_i>
+#pragma instantiate auto_ptr<TAO_ConsumesDef_i>
+#pragma instantiate auto_ptr<TAO_PublishesDef_i>
+#pragma instantiate auto_ptr<TAO_EmitsDef_i>
+#pragma instantiate auto_ptr<TAO_PrimaryKeyDef_i>
+#pragma instantiate auto_ptr<TAO_ProvidesDef_i>
+#pragma instantiate auto_ptr<TAO_UsesDef_i>
+#pragma instantiate auto_ptr<TAO_ValueMemberDef_i>
+#pragma instantiate auto_ptr<TAO_FactoryDef_i>
+#pragma instantiate auto_ptr<TAO_FinderDef_i>
+#pragma instantiate auto_ptr<TAO_AttributeDef_i>
+#pragma instantiate auto_ptr<TAO_ConstantDef_i>
+#pragma instantiate auto_ptr<TAO_ComponentDef_i>
+#pragma instantiate auto_ptr<TAO_HomeDef_i>
+#pragma instantiate auto_ptr<TAO_ValueDef_i>
+#pragma instantiate auto_ptr<TAO_ExceptionDef_i>
+#pragma instantiate auto_ptr<TAO_ModuleDef_i>
+#pragma instantiate auto_ptr<TAO_OperationDef_i>
+#pragma instantiate auto_ptr<TAO_InterfaceDef_i>
+#pragma instantiate auto_ptr<TAO_Container_i>
+#pragma instantiate auto_ptr<TAO_Contained_i>
+#pragma instantiate auto_ptr<TAO_IDLType_i>
+#pragma instantiate auto_ptr<char>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */