diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-04-14 22:59:26 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-04-14 22:59:26 +0000 |
commit | 30c06ee0017ad37029f1e3cacb581699edab317e (patch) | |
tree | b68676497759878c94b039f2e62eeed297269945 | |
parent | 3982f427075f5803fc1dc8773bf3be74dbf7000f (diff) | |
download | ATCD-30c06ee0017ad37029f1e3cacb581699edab317e.tar.gz |
New location for the typecode creation functions.
-rw-r--r-- | TAO/orbsvcs/IFR_Service/IFR.dsw | 53 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/Makefile.TypeCodeFactory | 51 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TCF_Export.h | 36 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TCF_Loader.cpp | 71 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TCF_Loader.h | 46 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp | 123 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.cpp | 376 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TypeCodeFactory_i.h | 201 | ||||
-rw-r--r-- | TAO/orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp | 2769 |
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 + ); + +} + |