summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-04-14 22:59:26 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-04-14 22:59:26 +0000
commit30c06ee0017ad37029f1e3cacb581699edab317e (patch)
treeb68676497759878c94b039f2e62eeed297269945
parent3982f427075f5803fc1dc8773bf3be74dbf7000f (diff)
downloadATCD-30c06ee0017ad37029f1e3cacb581699edab317e.tar.gz
New location for the typecode creation functions.
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR.dsw53
-rw-r--r--TAO/orbsvcs/IFR_Service/Makefile.TypeCodeFactory51
-rw-r--r--TAO/orbsvcs/IFR_Service/TCF_Export.h36
-rw-r--r--TAO/orbsvcs/IFR_Service/TCF_Loader.cpp71
-rw-r--r--TAO/orbsvcs/IFR_Service/TCF_Loader.h46
-rw-r--r--TAO/orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp123
-rw-r--r--TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.cpp376
-rw-r--r--TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.h201
-rw-r--r--TAO/orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp2769
9 files changed, 3726 insertions, 0 deletions
diff --git a/TAO/orbsvcs/IFR_Service/IFR.dsw b/TAO/orbsvcs/IFR_Service/IFR.dsw
new file mode 100644
index 00000000000..202c173820c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR.dsw
@@ -0,0 +1,53 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "IFR_Service"=.\IFR_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TCF_Test"=.\TCF_Test\TCF_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TypeCodeFactory_DLL"=.\TypeCodeFactory_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/orbsvcs/IFR_Service/Makefile.TypeCodeFactory b/TAO/orbsvcs/IFR_Service/Makefile.TypeCodeFactory
new file mode 100644
index 00000000000..f1a5e338c80
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Makefile.TypeCodeFactory
@@ -0,0 +1,51 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+LDLIBS = -lTAO
+
+LIBNAME=libTypeCodeFactory_DLL
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+CCFLAGS += -DTAO_HAS_INTERFACE_REPOSITORY=1
+
+LSRC= \
+ TypeCodeFactory_skel.cpp \
+ TypeCodeFactory_i.cpp \
+ TCF_Loader.cpp
+
+ACE_SHLIBS = -lTAO -lACE
+
+#----------------------------------------------------------------------------
+# 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
+include $(TAO_ROOT)/taoconfig.mk
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+realclean: clean
+ -$(RM) $(foreach ext, $(IDL_EXT), test$(ext))
+
+# 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/TCF_Export.h b/TAO/orbsvcs/IFR_Service/TCF_Export.h
new file mode 100644
index 00000000000..16198021238
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TCF_Export.h
@@ -0,0 +1,36 @@
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by
+// ${ACE_ROOT}/GenExportH.BAT
+// ------------------------------
+#if !defined (TCF_EXPORT_H)
+#define TCF_EXPORT_H
+
+#include "ace/OS.h"
+
+#if !defined (TCF_HAS_DLL)
+#define TCF_HAS_DLL 1
+#endif /* ! TCF_HAS_DLL */
+
+#if defined (TCF_HAS_DLL)
+# if (TCF_HAS_DLL == 1)
+# if defined (TCF_BUILD_DLL)
+# define TCF_Export ACE_Proper_Export_Flag
+# define TCF_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# else
+# define TCF_Export ACE_Proper_Import_Flag
+# define TCF_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# endif /* TCF_BUILD_DLL */
+# else
+# define TCF_Export
+# define TCF_SINGLETON_DECLARATION(T)
+# endif /* ! TCF_HAS_DLL == 1 */
+#else
+# define TCF_Export
+# define TCF_SINGLETON_DECLARATION(T)
+#endif /* TCF_HAS_DLL */
+
+#endif /* TCF_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/IFR_Service/TCF_Loader.cpp b/TAO/orbsvcs/IFR_Service/TCF_Loader.cpp
new file mode 100644
index 00000000000..4e06d9a5fd1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TCF_Loader.cpp
@@ -0,0 +1,71 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "tao/ORB.h"
+#include "TCF_Loader.h"
+#include "TypeCodeFactory_i.h"
+
+ACE_RCSID(IFR_Service, TCF_Loader, "$Id$")
+
+TCF_Loader::TCF_Loader (void)
+{
+}
+
+CORBA::Object_ptr
+TCF_Loader::create_object (CORBA::ORB_ptr orb,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TRY
+ {
+ CORBA::Object_var obj =
+ orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POA_var poa =
+ PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr =
+ poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ TAO_TypeCodeFactory_i *servant = 0;
+ ACE_NEW_RETURN (servant,
+ TAO_TypeCodeFactory_i (),
+ CORBA::Object::_nil ());
+
+ PortableServer::ServantBase_var servant_var (servant);
+ obj = servant->_this (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ ACE_TRY_CHECK;
+
+ return obj._retn ();
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "create_object()");
+ }
+ ACE_ENDTRY;
+ return CORBA::Object::_nil ();
+}
+
+// ****************************************************************
+
+#if 0
+ACE_STATIC_SVC_DEFINE (TCF_Loader,
+ ASYS_TEXT ("TAO_Object_Loader"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TCF_Loader),
+ ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
+ 0)
+#endif /* 0 */
+
+ACE_FACTORY_DEFINE (TCF, TCF_Loader)
diff --git a/TAO/orbsvcs/IFR_Service/TCF_Loader.h b/TAO/orbsvcs/IFR_Service/TCF_Loader.h
new file mode 100644
index 00000000000..17fbd03f5ba
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TCF_Loader.h
@@ -0,0 +1,46 @@
+// -*- C++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// TCF_Loader.h
+//
+// = AUTHOR
+// Jeff Parsons
+//
+// ============================================================================
+
+#ifndef TAO_OBJECT_LOADER_TCF_LOADER_H
+#define TAO_OBJECT_LOADER_TCF_LOADER_H
+
+#include "tao/Object_Loader.h"
+#include "TCF_Export.h"
+
+class TCF_Export TCF_Loader : public TAO_Object_Loader
+{
+ // = TITLE
+ // TCF_Loader
+ //
+ // = DESCRIPTION
+ // Create an instance of TypeCodeFactory and return
+ // it to the caller.
+ //
+public:
+ TCF_Loader (void);
+ // ctor
+
+ virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
+ CORBA::Environment &)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Overload the base class method to create a new instance
+ // of a TypeCodeFactory object.
+};
+
+// ACE_STATIC_SVC_DECLARE (TCF_Loader)
+ACE_FACTORY_DECLARE (TCF, TCF_Loader)
+
+#endif /* TAO_OBJECT_LOADER_TCF_LOADER_H */
diff --git a/TAO/orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp
new file mode 100644
index 00000000000..18ca10e5c55
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp
@@ -0,0 +1,123 @@
+# Microsoft Developer Studio Project File - Name="TypeCodeFactory_DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=TypeCodeFactory_DLL - 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 "TypeCodeFactory_DLL.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 "TypeCodeFactory_DLL.mak" CFG="TypeCodeFactory_DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TypeCodeFactory_DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "TypeCodeFactory_DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TypeCodeFactory_DLL - 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 /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TYPECODEFACTORY_DLL_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\.." /D TCF_HAS_DLL=1 /D "TCF_BUILD_DLL" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# 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 /nologo /dll /machine:I386
+# ADD LINK32 TAO.lib ace.lib /nologo /dll /machine:I386 /out:"..\..\..\bin\TypeCodeFactory_DLL.dll" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "TypeCodeFactory_DLL - 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 /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TYPECODEFACTORY_DLL_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\.." /I "..\..\.." /D TCF_HAS_DLL=1 /D "TCF_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# 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 /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 TAOd.lib aced.lib /nologo /dll /debug /machine:I386 /out:"..\..\..\bin\TypeCodeFactory_DLLd.dll" /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "TypeCodeFactory_DLL - Win32 Release"
+# Name "TypeCodeFactory_DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\TCF_Loader.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TypeCodeFactory_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TypeCodeFactory_skel.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\TCF_Export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TCF_Loader.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TypeCodeFactory_i.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.cpp b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.cpp
new file mode 100644
index 00000000000..cc7b5648db8
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.cpp
@@ -0,0 +1,376 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "TypeCodeFactory_i.h"
+
+ACE_RCSID(IFR_Service, TypeCodeFactory_i, "$Id$")
+
+TAO_TypeCodeFactory_i::TAO_TypeCodeFactory_i (void)
+{
+}
+
+TAO_TypeCodeFactory_i::~TAO_TypeCodeFactory_i (void)
+{
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_struct_tc (
+ const char *id,
+ const char *name,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_OutputCDR cdr;
+
+ cdr << TAO_ENCAP_BYTE_ORDER;
+
+ cdr << id;
+
+ cdr << name;
+
+ // Number of members..
+ CORBA::ULong len = members.length ();
+ cdr << len;
+
+ for (CORBA::ULong index = 0; index < len; index++)
+ {
+ // Get the first member which is a string..
+ IR::StructMember struct_member = members[index];
+
+ cdr << struct_member.name.in ();
+
+ cdr << struct_member.type.in ();
+ }
+
+ CORBA::TypeCode_ptr interface_typecode =
+ CORBA::TypeCode::_nil ();
+ ACE_NEW_THROW_EX (interface_typecode,
+ CORBA_TypeCode (CORBA::tk_struct,
+ cdr.total_length (),
+ cdr.buffer (),
+ 0,
+ 0),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return interface_typecode;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_union_tc (
+ const char *id,
+ const char *name,
+ CORBA::TypeCode_ptr discriminator_type,
+ const IR::UnionMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_enum_tc (
+ const char *id,
+ const char *name,
+ const IR::EnumMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_OutputCDR cdr;
+
+ // The piece of code that follows has been based
+ // on the code in the IDL compiler
+ cdr << TAO_ENCAP_BYTE_ORDER; // Byte Order
+
+ cdr << id;
+
+ cdr << name;
+
+ CORBA::ULong len = members.length ();
+
+ cdr << len;
+
+ for (CORBA::ULong index = 0; index < len; index++)
+ {
+ cdr << members[index].in ();
+ }
+
+ CORBA::TypeCode_ptr interface_typecode =
+ CORBA::TypeCode::_nil ();
+ ACE_NEW_THROW_EX (interface_typecode,
+ CORBA_TypeCode (CORBA::tk_enum,
+ cdr.total_length (),
+ cdr.buffer (),
+ 0,
+ 0),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return interface_typecode;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_alias_tc (
+ const char *id,
+ const char *name,
+ const CORBA::TypeCode_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_OutputCDR cdr;
+
+ cdr << TAO_ENCAP_BYTE_ORDER;
+
+ cdr << id;
+
+ cdr << name;
+
+ cdr << original_type;
+
+ CORBA::TypeCode_ptr interface_typecode =
+ CORBA::TypeCode::_nil ();
+
+ ACE_NEW_THROW_EX (interface_typecode,
+ CORBA_TypeCode (CORBA::tk_alias,
+ cdr.total_length (),
+ cdr.buffer (),
+ 0,
+ 0),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return interface_typecode;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_exception_tc (
+ const char *id,
+ const char *name,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_OutputCDR cdr;
+
+ // The piece of code that follows has been based
+ // on the code in the IDL compiler
+ cdr << TAO_ENCAP_BYTE_ORDER; // Byte Order
+
+ cdr << id;
+
+ cdr << name;
+
+ // Number of members..
+ CORBA::ULong len = members.length ();
+ cdr << len;
+
+ for (CORBA::ULong index = 0; index < len; index++)
+ {
+ // Get the first member which is a string..
+ IR::StructMember struct_member = members[index];
+
+ cdr << struct_member.name.in ();
+
+ cdr << struct_member.type.in ();
+ }
+
+ CORBA::TypeCode_ptr interface_typecode =
+ CORBA::TypeCode::_nil ();
+ ACE_NEW_THROW_EX (interface_typecode,
+ CORBA_TypeCode (CORBA::tk_except,
+ cdr.total_length (),
+ cdr.buffer (),
+ 0,
+ 0),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return interface_typecode;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_interface_tc (
+ const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_OutputCDR cdr;
+
+ // The piece of code that follows has been based
+ // on the code in the IDL compiler
+ cdr << TAO_ENCAP_BYTE_ORDER; // Byte Order
+
+ // Use the overloaded operator from the TAO_Output CDR class
+ cdr << id;
+
+ // Send the name
+ cdr << name;
+
+ CORBA::TypeCode_ptr interface_typecode =
+ CORBA::TypeCode::_nil ();
+ ACE_NEW_THROW_EX (interface_typecode,
+ CORBA_TypeCode (CORBA::tk_objref,
+ cdr.total_length (),
+ cdr.buffer (),
+ 0,
+ 0),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return interface_typecode;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_string_tc (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_wstring_tc (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_fixed_tc (
+ CORBA::UShort digits,
+ CORBA::UShort scale,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_sequence_tc (
+ CORBA::ULong bound,
+ CORBA::TypeCode_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_array_tc (
+ CORBA::ULong length,
+ CORBA::TypeCode_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_value_tc (
+ const char *id,
+ const char *name,
+ CORBA::ValueModifier type_modifier,
+ CORBA::TypeCode_ptr concrete_base,
+ const IR::ValueMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_value_box_tc (
+ const char *id,
+ const char *name,
+ CORBA::TypeCode_ptr boxed_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_native_tc (
+ const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_recursive_tc (
+ const char *id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_abstract_interface_tc (
+ const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_component_tc (
+ const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_TypeCodeFactory_i::create_home_tc (
+ const char *id,
+ const char *name,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.h b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.h
new file mode 100644
index 00000000000..0b6ed600b3c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.h
@@ -0,0 +1,201 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// TypeCodeFactory_i.h
+//
+// = AUTHOR
+// Jeff Parsons
+//
+// ============================================================================
+
+#ifndef TAO_TYPECODEFACTORY_I_H
+#define TAO_TYPECODEFACTORY_I_H
+
+#include "tao/POA_CORBA.h"
+#include "TCF_Export.h"
+
+// This is to remove "inherits via dominance" warnings from MSVC.
+#if defined (_MSC_VER)
+# pragma warning (disable : 4250)
+#endif /* _MSC_VER */
+
+class TCF_Export TAO_TypeCodeFactory_i
+ : public virtual POA_CORBA::TypeCodeFactory,
+ public virtual PortableServer::RefCountServantBase
+{
+ // = TITLE
+ // TAO_TypeCodeFactory_i
+ //
+ // = DESCRIPTION
+ // Implementation of the CORBA::TypeCodeFactory interface
+ //
+public:
+ TAO_TypeCodeFactory_i (void);
+ // ctor
+
+ ~TAO_TypeCodeFactory_i (void);
+ // dtor
+
+ virtual CORBA::TypeCode_ptr create_struct_tc (
+ const char *id,
+ const char *name,
+ const IR::StructMemberSeq &members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_union_tc (
+ const char * id,
+ const char * name,
+ CORBA::TypeCode_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_enum_tc (
+ const char * id,
+ const char * name,
+ const IR::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_alias_tc (
+ const char * id,
+ const char * name,
+ CORBA::TypeCode_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_exception_tc (
+ const char * id,
+ const char * name,
+ const IR::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_interface_tc (
+ const char * id,
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_string_tc (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_wstring_tc (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_fixed_tc (
+ CORBA::UShort digits,
+ CORBA::UShort scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_sequence_tc (
+ CORBA::ULong bound,
+ CORBA::TypeCode_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_array_tc (
+ CORBA::ULong length,
+ CORBA::TypeCode_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_value_tc (
+ const char * id,
+ const char * name,
+ CORBA::ValueModifier type_modifier,
+ CORBA::TypeCode_ptr concrete_base,
+ const IR::ValueMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_value_box_tc (
+ const char * id,
+ const char * name,
+ CORBA::TypeCode_ptr boxed_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_native_tc (
+ const char * id,
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_recursive_tc (
+ const char * id,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_abstract_interface_tc (
+ const char * id,
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_component_tc (
+ const char * id,
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr create_home_tc (
+ const char * id,
+ const char * name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ // Prohibited
+ TAO_TypeCodeFactory_i (const TAO_TypeCodeFactory_i &src);
+ TAO_TypeCodeFactory_i &operator= (const TAO_TypeCodeFactory_i &src);
+};
+
+#endif /* TAO_TYPECODEFACTORY_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp
new file mode 100644
index 00000000000..f48924b4690
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp
@@ -0,0 +1,2769 @@
+/* -*- 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
+
+// Since the TypeCode factory needs to be available whether or not
+// the Interface Repository is available, the skeleton code
+// specific to the TypeCode factory (generated by Interface.idl)
+// has been separated, removed from the TAO library. and included
+// here.
+
+#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"
+
+ACE_RCSID(IFR_Service, TypeCodeFactory_skel, "$Id$")
+
+class TAO_CORBA_TypeCodeFactory_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 15:29:12 */
+/* 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_TypeCodeFactory_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_TypeCodeFactory_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 0,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 0,
+ 29, 0, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 0, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29,
+#else
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 0, 29, 0, 29, 0,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 0, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_TypeCodeFactory_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 20,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 28,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 28,
+ HASH_VALUE_RANGE = 24,
+ DUPLICATES = 12
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA::TypeCodeFactory::_is_a_skel},
+ {"_non_existent", &POA_CORBA::TypeCodeFactory::_non_existent_skel},
+ {"create_enum_tc", &POA_CORBA::TypeCodeFactory::create_enum_tc_skel},
+ {"create_home_tc", &POA_CORBA::TypeCodeFactory::create_home_tc_skel},
+ {"create_union_tc", &POA_CORBA::TypeCodeFactory::create_union_tc_skel},
+ {"create_value_tc", &POA_CORBA::TypeCodeFactory::create_value_tc_skel},
+ {"create_array_tc", &POA_CORBA::TypeCodeFactory::create_array_tc_skel},
+ {"create_fixed_tc", &POA_CORBA::TypeCodeFactory::create_fixed_tc_skel},
+ {"create_alias_tc", &POA_CORBA::TypeCodeFactory::create_alias_tc_skel},
+ {"create_struct_tc", &POA_CORBA::TypeCodeFactory::create_struct_tc_skel},
+ {"create_native_tc", &POA_CORBA::TypeCodeFactory::create_native_tc_skel},
+ {"create_string_tc", &POA_CORBA::TypeCodeFactory::create_string_tc_skel},
+ {"create_wstring_tc", &POA_CORBA::TypeCodeFactory::create_wstring_tc_skel},
+ {"create_sequence_tc", &POA_CORBA::TypeCodeFactory::create_sequence_tc_skel},
+ {"create_exception_tc", &POA_CORBA::TypeCodeFactory::create_exception_tc_skel},
+ {"create_component_tc", &POA_CORBA::TypeCodeFactory::create_component_tc_skel},
+ {"create_recursive_tc", &POA_CORBA::TypeCodeFactory::create_recursive_tc_skel},
+ {"create_value_box_tc", &POA_CORBA::TypeCodeFactory::create_value_box_tc_skel},
+ {"create_interface_tc", &POA_CORBA::TypeCodeFactory::create_interface_tc_skel},
+ {"create_abstract_interface_tc", &POA_CORBA::TypeCodeFactory::create_abstract_interface_tc_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -7, -2, 5, -1, -9, -5, -14, -3, -19, -5, 6,
+ -39, -36, -35, 17, 18, -36, -1, -1, -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 15:29:12 */
+static TAO_CORBA_TypeCodeFactory_Perfect_Hash_OpTable tao_CORBA_TypeCodeFactory_optable;
+
+CORBA::TypeCodeFactory_ptr _TAO_collocation_POA_CORBA_TypeCodeFactory_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::TypeCodeFactory_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory (stub),
+ 0
+ );
+ return retval;
+ }
+ case TAO_ORB_Core::DIRECT:
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+int _TAO_collocation_POA_CORBA_TypeCodeFactory_Stub_Factory_Initializer (long dummy)
+{
+ ACE_UNUSED_ARG (dummy);
+
+ _TAO_collocation_CORBA_TypeCodeFactory_Stub_Factory_function_pointer =
+ _TAO_collocation_POA_CORBA_TypeCodeFactory_Stub_Factory;
+
+ return 0;
+}
+
+static int _TAO_collocation_POA_CORBA_TypeCodeFactory_Stub_Factory_Initializer_Scarecrow =
+ _TAO_collocation_POA_CORBA_TypeCodeFactory_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_CORBA_TypeCodeFactory_Stub_Factory_Initializer));
+
+// skeleton constructor
+POA_CORBA::TypeCodeFactory::TypeCodeFactory (void)
+{
+ this->optable_ = &tao_CORBA_TypeCodeFactory_optable;
+}
+
+// copy ctor
+POA_CORBA::TypeCodeFactory::TypeCodeFactory (const TypeCodeFactory& rhs)
+ : TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA::TypeCodeFactory::~TypeCodeFactory (void)
+{
+}
+
+void POA_CORBA::TypeCodeFactory::create_struct_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ IR::StructMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.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_tc",
+ _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_tc (
+ id.in (),
+ name.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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_union_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::TypeCode_var discriminator_type;
+ IR::UnionMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.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_tc",
+ _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_tc (
+ id.in (),
+ name.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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_enum_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ IR::EnumMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.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_tc",
+ _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_tc (
+ id.in (),
+ name.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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_alias_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::TypeCode_var original_type;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.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_tc",
+ _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_tc (
+ id.in (),
+ name.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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_exception_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ IR::StructMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.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_tc",
+ _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_tc (
+ id.in (),
+ name.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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_interface_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_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 (),
+ "create_interface_tc",
+ _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_tc (
+ id.in (),
+ 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 (),
+ "create_interface_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_string_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_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_tc",
+ _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_tc (
+ 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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_wstring_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_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_tc",
+ _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_tc (
+ 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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_fixed_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::UShort digits;
+ CORBA::UShort 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_tc",
+ _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_tc (
+ 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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_sequence_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::ULong bound;
+ CORBA::TypeCode_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_tc",
+ _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_tc (
+ 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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_array_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::ULong length;
+ CORBA::TypeCode_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_tc",
+ _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_tc (
+ 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_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_value_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::ValueModifier type_modifier;
+ CORBA::TypeCode_var concrete_base;
+ IR::ValueMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> type_modifier) &&
+ (_tao_in >> concrete_base.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_value_tc",
+ _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_tc (
+ id.in (),
+ name.in (),
+ type_modifier,
+ concrete_base.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_value_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_value_box_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::TypeCode_var boxed_type;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> boxed_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_value_box_tc",
+ _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_tc (
+ id.in (),
+ name.in (),
+ boxed_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_value_box_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_native_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_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 (),
+ "create_native_tc",
+ _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_tc (
+ id.in (),
+ 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 (),
+ "create_native_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_recursive_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ 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 (),
+ "create_recursive_tc",
+ _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_recursive_tc (
+ 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 (),
+ "create_recursive_tc",
+ _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_recursive_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_abstract_interface_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_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 (),
+ "create_abstract_interface_tc",
+ _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_abstract_interface_tc (
+ id.in (),
+ 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 (),
+ "create_abstract_interface_tc",
+ _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_abstract_interface_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_component_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_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 (),
+ "create_component_tc",
+ _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_tc (
+ id.in (),
+ 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 (),
+ "create_component_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::create_home_tc_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *)_tao_object_reference;
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_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 (),
+ "create_home_tc",
+ _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_tc (
+ id.in (),
+ 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 (),
+ "create_home_tc",
+ _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_tc",
+ _tao_cookies,
+ ACE_TRY_ENV
+ );
+ ACE_RETHROW;
+ }
+ 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_CORBA::TypeCodeFactory::_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::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *) _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::TypeCodeFactory::_non_existent_skel (
+ CORBA::ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* context */,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ POA_CORBA::TypeCodeFactory *_tao_impl = (POA_CORBA::TypeCodeFactory *) _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::TypeCodeFactory::_is_a (
+ const char* value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+{
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypeCodeFactory:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV))))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA::TypeCodeFactory::_downcast (
+ const char* logical_type_id
+ )
+{
+if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypeCodeFactory:1.0") == 0)
+ return ACE_static_cast (POA_CORBA::TypeCodeFactory_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::TypeCodeFactory::_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_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname));
+ ACE_THROW (CORBA_BAD_OPERATION ());
+ }
+ else
+ skel (req, this, context, ACE_TRY_ENV);
+}
+
+const char* POA_CORBA::TypeCodeFactory::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/TypeCodeFactory:1.0";
+}
+
+CORBA::TypeCodeFactory*
+POA_CORBA::TypeCodeFactory::_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::TypeCodeFactory_ptr retval = 0;
+ ACE_NEW_RETURN (
+ retval,
+ POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory (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::TypeCodeFactory::_unchecked_narrow (obj.in ());
+ }
+}
+
+POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::_tao_thru_poa_collocated_TypeCodeFactory (
+ TAO_Stub *stub
+)
+ : CORBA_Object (stub, 0, 1)
+{
+}
+
+CORBA::Boolean POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::_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::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->_is_a (logical_type_id, ACE_TRY_ENV);
+}
+
+
+CORBA::Boolean POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::_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::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->_non_existent (ACE_TRY_ENV);
+}
+
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_struct_tc (
+ const char * id,
+ const char * name,
+ const IR::StructMemberSeq & members,
+ 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 (),
+ "create_struct_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_struct_tc (
+ id,
+ name,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_union_tc (
+ const char * id,
+ const char * name,
+ CORBA::TypeCode_ptr discriminator_type,
+ const IR::UnionMemberSeq & members,
+ 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 (),
+ "create_union_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_union_tc (
+ id,
+ name,
+ discriminator_type,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_enum_tc (
+ const char * id,
+ const char * name,
+ const IR::EnumMemberSeq & members,
+ 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 (),
+ "create_enum_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_enum_tc (
+ id,
+ name,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_alias_tc (
+ const char * id,
+ const char * name,
+ CORBA::TypeCode_ptr original_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 (),
+ "create_alias_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_alias_tc (
+ id,
+ name,
+ original_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_exception_tc (
+ const char * id,
+ const char * name,
+ const IR::StructMemberSeq & members,
+ 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 (),
+ "create_exception_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_exception_tc (
+ id,
+ name,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_interface_tc (
+ const char * id,
+ const char * name,
+ 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 (),
+ "create_interface_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_interface_tc (
+ id,
+ name,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_string_tc (
+ CORBA::ULong bound,
+ 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 (),
+ "create_string_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_string_tc (
+ bound,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_wstring_tc (
+ CORBA::ULong bound,
+ 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 (),
+ "create_wstring_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_wstring_tc (
+ bound,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_fixed_tc (
+ CORBA::UShort digits,
+ CORBA::UShort scale,
+ 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 (),
+ "create_fixed_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_fixed_tc (
+ digits,
+ scale,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_sequence_tc (
+ CORBA::ULong bound,
+ CORBA::TypeCode_ptr 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 (),
+ "create_sequence_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_sequence_tc (
+ bound,
+ element_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_array_tc (
+ CORBA::ULong length,
+ CORBA::TypeCode_ptr 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 (),
+ "create_array_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_array_tc (
+ length,
+ element_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_value_tc (
+ const char * id,
+ const char * name,
+ CORBA::ValueModifier type_modifier,
+ CORBA::TypeCode_ptr concrete_base,
+ const IR::ValueMemberSeq & members,
+ 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 (),
+ "create_value_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_value_tc (
+ id,
+ name,
+ type_modifier,
+ concrete_base,
+ members,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_value_box_tc (
+ const char * id,
+ const char * name,
+ CORBA::TypeCode_ptr boxed_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 (),
+ "create_value_box_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_value_box_tc (
+ id,
+ name,
+ boxed_type,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_native_tc (
+ const char * id,
+ const char * name,
+ 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 (),
+ "create_native_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_native_tc (
+ id,
+ name,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_recursive_tc (
+ const char * id,
+ 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 (),
+ "create_recursive_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_recursive_tc (
+ id,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_abstract_interface_tc (
+ const char * id,
+ const char * name,
+ 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 (),
+ "create_abstract_interface_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_abstract_interface_tc (
+ id,
+ name,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_component_tc (
+ const char * id,
+ const char * name,
+ 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 (),
+ "create_component_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_component_tc (
+ id,
+ name,
+ ACE_TRY_ENV
+ );
+
+}
+
+CORBA::TypeCode_ptr POA_CORBA::_tao_thru_poa_collocated_TypeCodeFactory::create_home_tc (
+ const char * id,
+ const char * name,
+ 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 (),
+ "create_home_tc",
+ ACE_TRY_ENV
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA::TypeCodeFactory_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/TypeCodeFactory:1.0"
+ )
+ )->create_home_tc (
+ id,
+ name,
+ ACE_TRY_ENV
+ );
+
+}
+